数学建模社区-数学中国

标题: 请问如何用MATLAB求最小二乘解的未知系数? [打印本页]

作者: liu_zhi_ping    时间: 2007-4-8 13:48
标题: 请问如何用MATLAB求最小二乘解的未知系数?

题目如下:

有一组实测数据

   x

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

y

2.3201

2.6470

2.9070

3.2885

3.6008

3.9090

4.2147

4.5191

4.8232

5.1275

假设已知该数据可能满足的原型函数为y(x)=a*x+b*x^2*exp(-c*x)+d,求出满足上面数据的最小二乘解的a,b,c,d的值。

请问高手:如何写这段程序?


作者: zsx001    时间: 2007-5-3 01:53
用函数 lsqcurvefit 可以。
 

作者: chaos    时间: 2007-5-23 23:16

clc;clear;
x=[0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1]; 
y=[2.3201 2.6470 2.9070 3.2885 3.6008 3.9090 4.2147 4.5191 4.8232 5.1275];
myfunc=inline('beta(1)*x+beta(2)*x.*x.*exp(-beta(3)*x)+beta(4)','beta','x');
beta=nlinfit(x,y,myfunc,[2.7 1.4 1.5 2]);
a=beta(1),b=beta(2),c=beta(3),d=beta(4)
%test hte model;
xx=0:0.01:1;
yy=a*xx+b*xx.*xx.*exp(-c*xx)+d;
plot(x,y,'o',xx,yy,'r')

不失高手,照猫画虎


作者: chaos    时间: 2007-5-23 23:16

不小心多发了一个

% i- G+ Z) @$ y ~
[此贴子已经被作者于2007-5-23 23:16:58编辑过]

作者: vikki0838    时间: 2007-6-2 20:34

如果数据相差不大是不是就不能做了?


作者: Jennykong    时间: 2007-6-4 12:24
用SPSS更简单




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5