最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

MATLAB实现非线性曲线拟合最小二乘法

来源:动视网 责编:小OO 时间:2025-09-23 23:59:57
文档

MATLAB实现非线性曲线拟合最小二乘法

非线性曲线拟合最小二乘法一、问题提出设数据(),(i=0,1,2,3,4).由表3-1给出,表中第四行为,可以看出数学模型为,用最小二乘法确定a及b。i012341.001.251.501.752.005.105.796.537.458.461.6291.7561.8762.0082.135二、理论基础根据最小二乘拟合的定义:在函数的最佳平方逼近中,如果f(x)只在一组离散点集{,i=0,1,…,m},上给定,这就是科学实验中经常见到的实验数据{(),i=0,1,…,m}的曲线拟合,这里,i=
推荐度:
导读非线性曲线拟合最小二乘法一、问题提出设数据(),(i=0,1,2,3,4).由表3-1给出,表中第四行为,可以看出数学模型为,用最小二乘法确定a及b。i012341.001.251.501.752.005.105.796.537.458.461.6291.7561.8762.0082.135二、理论基础根据最小二乘拟合的定义:在函数的最佳平方逼近中,如果f(x)只在一组离散点集{,i=0,1,…,m},上给定,这就是科学实验中经常见到的实验数据{(),i=0,1,…,m}的曲线拟合,这里,i=
非线性曲线拟合最小二乘法

一、问题提出

设数据(),(i=0,1,2,3,4).由表3-1给出,表中第四行为,可以看出数学模型为,用最小二乘法确定a及b。

i01234
1.001.251.501.752.00
5.105.796.537.458.46
1.6291.7561.8762.0082.135
二、理论基础

根据最小二乘拟合的定义:在函数的最佳平方逼近中,如果f(x)只在一组离散点集{,i=0,1,…,m},上给定,这就是科学实验中经常见到的实验数据{(), i=0,1,…,m}的曲线拟合,这里,i=0,1,…,m,要求一个函数与所给数据{(),i=0,1,…,m}拟合,若记误差,i=0,1,…,m,,设是上线性无关函数族,在中找一函数,使误差平方和

,

这里

(n这就是一般的最小二乘逼近,用几何语言来说,就称为曲线拟合的最小二乘法。

在建模的过程中应用到了求和命令(sum)、求偏导命令(diff)、化简函数命令(simple)、用迭代方法解二元非线性方程组的命令(fsolve),画图命令(plot)等。

三、实验内容

用最小二乘法求拟合曲线时,首先要确定S(x)的形式。这不单纯是数学问题,还与所研究问题的运动规律及所得观测数据()有关;通常要从问题的运动规律及给定数据描图,确定S(x)的形式,并通过实际计算选出较好的结果。S(x)的一般表达式为线性形式,若是k次多项式,S(x)就是n次多项式,为了使问题的提法更有一般性,通常在最小二乘法中都考虑为加权平方和

.

这里是[a,b]上的权函数,它表示不同点处的数据比重不同。

用最小二乘法求拟合曲线的问题,就是求形如S(x)的一个函数,使取得最小。它转化为求多元函数

的极小点问题。再由求多元函数极值的必要条件,有

     (k=0,1,…,n)

此题中假设,由已知所给数据点()画出图形,根据离散点的位置观察出它们所拟合的曲线图形应类似于指数函数的曲线图形,故设拟合曲线的函数为。

本题编程过程中,令f=y,z1=a,z2=b,

令拟合曲线中对应的函数值与的差的平方和为J,即J=sum(fy.^2);分别求J关于z1,z2的偏导,简化后并令其分别为0得一关于z1,z2的二元非线性方程组,最后利用fsolve命令求得z1,z2的值分别为

z1=3.0751    z2=0.5052

故得到拟合曲线为

为证明曲线拟合的正确性,我们将离散点()与所得的拟合曲线

画于同一图形中,图形如下:

四、结果分析

根据实验内容求得拟合曲线中未知数a,b分别为

a=3.0751    b=0.5052

即拟合曲线为。

由图形知拟合成功!

参考文献

1·《数值分析》,李庆扬,王能超,易大义,2001,清华大学出版社(第四版)。

2·《数值方法》,关治,陆金甫,2006,清华大学出版社。

3·《数值分析与实验学习指导》,蔡大用,2001,清华大学出版社。

4·《数值分析与实验》,薛毅,2005,北京工业大学出版社.

附录

程序1: syms z1 z2 

x=1.00:0.25:2.00;

y=[5.10,5.79,6.53,7.45,8.46];

f=z1*exp(z2.*x)

fy=f-y;

J=sum(fy.^2);

Ja=diff(J,z1);

Jb=diff(J,z2);

Ja1=simple(Ja),

Jb1=simple(Jb),

程序2: function [y1,y2]=fun(z)

y1=2*z(1)*exp(2*z(2))-51/5*exp(z(2))+2*z(1)*exp(5/2*z(2))-579/50*exp(5/4*z(2))+2*z(1)*exp(3*z(2))-653/50*exp(3/2*z(2))+2*z(1)*exp(7/2*z(2))-149/10*exp(7/4*z(2))+2*exp(4*z(2))*z(1)-423/25*exp(2*z(2));

y2=-1/200*z(1)*(-400*z(1)*exp(2*z(2))+2040*exp(z(2))-500*z(1)*exp(5/2*z(2))+25*exp(5/4*z(2))-600*z(1)*exp(3*z(2))+3918*exp(3/2*z(2))-700*z(1)*exp(7/2*z(2))+5215*exp(7/4*z(2))-800*z(1)*exp(4*z(2))+6768*exp(2*z(2)));

作图程序:x=1.00:0.25:2.00;

y=[5.10,5.79,6.53,7.45,8.46];

f=3.0751*exp(0.5052*x);

plot(x,y,'r*',x,f,'b-');

xlabel('x轴'),ylabel('y轴'),

legend('数据点(x(i),y(i))','拟合曲线y=f(x)'),

title('例8的数据点(x(i),y(i))和拟合曲线y=f(x)的图形')

文档

MATLAB实现非线性曲线拟合最小二乘法

非线性曲线拟合最小二乘法一、问题提出设数据(),(i=0,1,2,3,4).由表3-1给出,表中第四行为,可以看出数学模型为,用最小二乘法确定a及b。i012341.001.251.501.752.005.105.796.537.458.461.6291.7561.8762.0082.135二、理论基础根据最小二乘拟合的定义:在函数的最佳平方逼近中,如果f(x)只在一组离散点集{,i=0,1,…,m},上给定,这就是科学实验中经常见到的实验数据{(),i=0,1,…,m}的曲线拟合,这里,i=
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top