主题:求助-二次多项式拟合
hughthnn
[专家分:0] 发布于 2007-06-07 13:23:00
x: 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
y: 1.98 3.28 6.16 7.34 7.66 9.58 9.56 9.48 9.30 11.2
分别用解超定方程和多项式拟合命令进行求解~!!!!
各位大虾门 俺的幸福交到你们的手里了!
回复列表 (共12个回复)
沙发
Guassfans [专家分:4090] 发布于 2007-06-07 18:47:00
x=[0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1]'
y=[1.98 3.28 6.16 7.34 7.66 9.58 9.56 9.48 9.30 11.2]'
二次多项式拟合:polyfit(x,y,2) %返回的是多项式系数,按降幂排列
解超定方程:y=a1x1^2+a2x1+a3 <==>AX=B
A=[x.^2 x ones(length(x),1)]
X=[a1;a2;a3]
B=y
==>X=(A'A)^(-1)(A'B)
inv(A'*A)*(A'*B) OR (A'*A)\(A'*B)
板凳
Guassfans [专家分:4090] 发布于 2007-06-07 18:48:00
线性回归也行:regress
3 楼
hughthnn [专家分:0] 发布于 2007-06-07 21:08:00
Thank you!
4 楼
gslyd [专家分:1300] 发布于 2007-06-08 10:32:00
用二次多项式拟合显然不合适!
5 楼
hughthnn [专家分:0] 发布于 2007-06-08 21:31:00
接超定的实在看不懂 给个详细的行不.给满分啊--今天才发现有这么个东东
6 楼
gslyd [专家分:1300] 发布于 2007-06-09 09:59:00
functon 1
yhat=(b(1)+b(2)*x)./(1+b(3)*x+b(4)*x.^2+b(5)*x.^3);
SSy=79.5168
B=[.8153935968, 6.253040638, -3.126537247, 5.449156524, -2.676545754]
RSS=2.034320826
MSe=0.5086
R2=.974416
function 2
yhat=(b(1)+b(2)*x+b(3)*x.^2+b(4)*x.^3)./(1+b(5)*x+b(6)*x.^2);
B=[-.3630572597, 23.23232145, -41.75448473, 19.32661785, -1.492142780, .5315516720]
RSS=1.298111326
MSe=0.3245
R2=.983675
似以function 2拟合得更好一些。你可以上述模型及初值用lsqcurvefit 或 nlinfit 验证。
7 楼
hughthnn [专家分:0] 发布于 2007-06-10 23:33:00
大哥大姐们~ 做不出来没学过matlab啊!
给啊具体行不![em21] 用解超定方程的方法求解!~ 给我传个编好的文件也行啊~!
hughth45@163.com 谢谢哦
8 楼
hughthnn [专家分:0] 发布于 2007-06-10 23:42:00
解超定的给个详细的行不? 一点都不会!
x: 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
y: 1.98 3.28 6.16 7.34 7.66 9.58 9.56 9.48 9.30 11.2
用解超定方程的方法求解!!!!!!!!!!!!!!!!!!!!!!!11
9 楼
gslyd [专家分:1300] 发布于 2007-06-10 23:48:00
很抱歉,我都不知道何为超定方程,若你能提供方程的形式,可进行试拟合。
10 楼
hughthnn [专家分:0] 发布于 2007-06-11 00:38:00
a
我来回复