注册 登录
编程论坛 Matlab

请教:怎样解决多元非线性回归问题?

qiaqiamao 发布于 2007-05-28 13:47, 2744 次点击



6 12 18 24 30(X)
40 0.86401187 0.866099157 0.867398348 0.86937554 0.870896092
60 0.854009255 0.855680665 0.857071684 0.858549464 0.859949833
80 0.83886257 0.840435757 0.841817144 0.84312376 0.84447422
100 0.819346113 0.821072474 0.822730598 0.824357519 0.825876722
120 0.799431577 0.80125399 0.802904876 0.804598692 0.806227141 (Z)

(Y)

现在知Z=A*X+B*Y+C*Y^2,怎样通过对上面的一组数据的拟合得到A,B,C的值。

3 回复
#2
尘埃1222007-05-30 14:03

楼主照以下的步骤走走程序:

1.根据已知数据构造出自变量X,Y及对应Z的数组矩阵

2.根据函数构造M文件

3.利用lsqcurvefit()或nlinfit()函数回归参数a,b,c的值 函数的具体用法可参考帮助文档



#3
qiaqiamao2007-05-31 08:29
回复:(尘埃122)楼主照以下的步骤走走程序:1.根据已...

谢谢你!我该试一下。

#4
ydgsl2007-06-03 11:16
z=b(1)+b(2)*x+b(3)*y+b(4)*y.^2
b=[.8767961341, .2632939267e-3, -.1804545770e-3, -.3988452250e-5]
RSS=.9571983094e-5, R2=.999302
1