DHU Matlab Experiment【4】_验证非线性最小二乘拟合lsqcurvefit()函数中的误差平方和
作者:互联网
文章目录
起因
在做非线性最小二乘拟合的题目时,需要计算误差平方和
在lsqcurvefit()函数中已经给出一个计算好的误差平方和,但在查看参考答案时,其用的是norm函数,一种经常用于求范数的函数,引起了我的疑惑。
遂打算浅层排摸一下具体的概念,并且随手用matlab做一个证明
什么是误差平方和
误差平方和,又称总平方误差、绝对误差、残差平方和、组内平方和等
简单来说,是指每个点的误差之和
方程式为:
lsqcurvefit()函数用法
可见,在lsqcurvefit()函数中已经给出一个计算好的误差平方和,下结合例题与误差平方和的概念求一理论值与这个值比较
用matlab证明
clear;clc;
%证明误差平方和公式
x = 0:1:24;y = [15 14 14 14 14 15 16 18 20 22 23 25 28 31 32 31 29 27 25 24 22 20 18 17 16];
fun = @(c,x) c(1).*exp(c(2)*(x-14).^2);
[c3,Q] = lsqcurvefit(fun,[0,0],x,y);
fun_out3 = @(x) c3(1).*exp(c3(2)*(x-14).^2);
Q_1 = sum((feval(fun_out3,x)-y).^2);
Q%lsqcurvefit函数中的误差平方和
Q_1%误差平方和理论值
Q_1-Q%查看16位精度内二者的误差
运算结果:
可见其误差很小,该误差可能是精度损失导致的
有一点点报错,不过问题不大,已经达到了证明的目的了
最小二乘法为什么用误差平方和来评价
已经有人证明了,暂时不深究了,因为要来不及做完全部作业了_(:з」∠)_
最小二乘法为什么用误差平方和来评价
标签:误差,14,平方和,lsqcurvefit,Experiment,Matlab,fun,函数 来源: https://blog.csdn.net/weixin_45945586/article/details/122379694