matlab曲线拟合

曲线拟合不要求逼近函数通过各采样点,但要求尽量的接近这些点,使误差在某种意义上达到最小。

曲线拟合的实现:

在matlab中,用polyfit函数来求得最小二乘拟合多项式的系数,再用polyval函数按所得的多项式计算所给点上的函数近似值。


例子:用一个三次多项式在区间[0:2*pi]内逼近函数sin(x)


在给定区间内均匀选取20个采样点并计算采样点的函数值,然后利用3次多项式逼近。

代码如下:

x=linspace(0,2*pi,20);
y=sin(x);
p=polyfit(x,y,3)
y1=polyval(p,x)
plot(x,y,':o',x,y1,'-*')
legend('sin(x)','fit')

图形:




链接是百度知道上一个关于拟合不错的回答

你可能感兴趣的:(matlab,曲线拟合)