matlab最小二乘法拟合多项式

 

 

clc;
x = [-2.9 -1.9 -1.1 -0.8 0 0.1 1.5 2.7 3.6];
y = [53.94 33.68 20.88 16.92 8.79 8.98 4.17 9.12 19.88];
scatter(x,y,'r')
p=polyfit(x,y,2);
x1 = linspace(-2.9,3.6);
y1=p(3)+p(2)*x1+p(1)*x1.^2;
hold on;
plot(x1,y1,'-b')
y3 = polyval(p,x)
v=abs(y3-y);%求解残余误差
disp(['2.残余误差为: ',num2str(v)]);
m=max(v)
disp(['最大残差为:',num2str(m) ]);
a=sum(v);%求残差和
disp(['残差和为:',num2str(a) ]);
v2=v.^2
a2=sum(v2)
disp(['残差平方和为:',num2str(a2) ]);

个人见解,仅供参考,内容如有谬误,敬请斧正。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值