DHU Matlab Experiment【4】_验证非线性最小二乘拟合lsqcurvefit()函数中的误差平方和

文章目录

起因

在做非线性最小二乘拟合的题目时,需要计算误差平方和
DHU Matlab Experiment【4】_验证非线性最小二乘拟合lsqcurvefit()函数中的误差平方和
在lsqcurvefit()函数中已经给出一个计算好的误差平方和,但在查看参考答案时,其用的是norm函数,一种经常用于求范数的函数,引起了我的疑惑。
遂打算浅层排摸一下具体的概念,并且随手用matlab做一个证明
DHU Matlab Experiment【4】_验证非线性最小二乘拟合lsqcurvefit()函数中的误差平方和

什么是误差平方和

误差平方和,又称总平方误差、绝对误差、残差平方和、组内平方和等
简单来说,是指每个点的误差之和
方程式为:
DHU Matlab Experiment【4】_验证非线性最小二乘拟合lsqcurvefit()函数中的误差平方和

lsqcurvefit()函数用法

DHU Matlab Experiment【4】_验证非线性最小二乘拟合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位精度内二者的误差

运算结果:
可见其误差很小,该误差可能是精度损失导致的
DHU Matlab Experiment【4】_验证非线性最小二乘拟合lsqcurvefit()函数中的误差平方和
有一点点报错,不过问题不大,已经达到了证明的目的了

最小二乘法为什么用误差平方和来评价

已经有人证明了,暂时不深究了,因为要来不及做完全部作业了_(:з」∠)_
最小二乘法为什么用误差平方和来评价

上一篇:Java多线程编程(三)线程的优先级、同步与死锁


下一篇:python爬虫简单入门