2007-09-15 09:25 whf202 | 分类:数学 | 浏览23208次
求最小二乘法曲线拟合公式,最好有具体的分解方式
不好意思,我只是帮别人询问,能否麻烦稍微详细点!谢谢!
提问者采纳 2007-09-15 09:43
老弟,公式打不出来的
一般都是用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')
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- yrrf.cn 版权所有 赣ICP备2024042794号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务