作业帮 > 数学 > 作业

求最小二乘法曲线拟合公式,最好有具体的分解方式

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/10/06 20:56:05
求最小二乘法曲线拟合公式,最好有具体的分解方式
不好意思,我只是帮别人询问,能否麻烦稍微详细点!
老弟,公式打不出来的
一般都是用matlab搞定的,它里面有现成的函数供使用的
典型程序解析:
x=[0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1];%input xi data
y=[1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2]; % input yi data
n=2; % polynomial order
p=polyfit(x,y,n)% polyfit 的输出是一个多项式系数的行向量(拟合二项式的系数)
ezplot('-9.8108*x*x+20.1293*x-0.0317')%对拟合的函数作图
xi=linspace(0,1,100); % x-axis data for plotting
z=polyval(p,xi);% 为了计算在xi数据点的多项式值,调用MATLAB的函数polyval
plot(x,y,'o' ,x,y,xi,z,':')%在同一个图形里看他们的拟合程度
典型例题:对以下数据分别作二次,三次多项式拟合,并画出图形.
x=1:16;
y=[4,6.4,8,8.4,9.28,9.5,9.7,9.86,10,10.2,10.32,10.42,10.5,10.55,10.58,10.6];
源程序:二次多项式拟合
x=1:1:16;
y=[4,6.4,8,8.4,9.28,9.5,9.7,9.86,10,10.2,10.32,10.42,10.5,10.55,10.58,10.6];
a=polyfit(x,y,2)
a =
-0.0445 1.0711 4.3252
ezplot('-0.0445*x^2+1.0711*x+4.3252')
三次多项式拟合
x=1:1:16;
y=[4,6.4,8,8.4,9.28,9.5,9.7,9.86,10,10.2,10.32,10.42,10.5,10.55,10.58,10.6];
a=polyfit(x,y,3)
a =
0.0060 -0.1963 2.1346 2.5952
ezplot('0.0060*x^3-0.1963*x^2+2.1346*x+2.5952')