下面这组数据用matlab该怎么拟合?怎样获得拟合函数? 急求,谢啦!

数据如下:
x=10:0.5:20.5;
y=[
0.02 0.08 0.02 0.05 0.04 0.04 0.08 0.05 0.07 0.07 0.08 0.14 0.14 0.15 0.18 0.22 0.60 0.74 0.84 0.85 0.95 0.96 ];
急求,谢啦!

第1个回答  2012-08-03

一般采用多项式拟合,即形如:

其中,a0,....,an就是拟合系数,求出拟合系数,那么拟合函数就知道了。

代码:

 

x=10:0.5:20.5; 

y=[0.02 0.08 0.02 0.05 0.04 0.04 0.08 0.05 0.07 0.07 0.08 0.14 0.14 0.15 0.18 0.22 0.60 0.74 0.84 0.85 0.95 0.96 ];

n = 3;  %拟合多项式阶数

p = polyfit(x,y,3);  % 求得多项式的系数

s = polyval(p,x);   %拟合曲线

plot(x,y,'*');

hold on;

plot(x,s,'k');