polyfit(x, y,4)怎么用matlab拟合?

如题所述

这样:

x=[1 3 5 6 8 9 10 11 12 14 15 17 19 21 23 25];

y=[10 20 42 60 73 79 80 78 73 64 56 71 51 42 41 40];

plot(x,y,'ro');

p=polyfit(x,y,4);%于是拟合出的曲线就是p(1)x^4+p(2)x^3+p(3)x^2+p(4)x+p(5),想拟合成其它次数的多项式只需将4改为相应的次数即可

f=poly2sym(p);

xinterp=[2 4 7 13 16 18 20 22 24];

yinterp=subs(f,xinterp);

hold on;

plot(xinterp,yinterp,'o');

ezplot(f,[0,30])

扩展资料:

注意事项

函数命令为:

a=polyfit(x,y,m)    % x,y为对应的自变量,m为需要拟合的最高次幂

y=polyval(a,x);      %根据拟合的函数得出x对应的因变量的值

函数表达形式为:f(x)=a1*x^m+...+am*x+a_m+1

polyfit(x,y,n)其中:x, y为已知数据点向量, 分别表示横、纵坐标,n为拟合多项式的次数, 结果返回m次拟合多项式系数, 从高次到低次存放在向量p中.参数p为拟合多项式 y=a1x^n+...+anx+a,共n+1个系数。

示例:

%多项式拟合

x = (0: 0.1: 7)';

y = sin(x);

p = polyfit(x,y,3) %p为拟合后的多项式系数

z=polyval(p,x);

plot(x,y,'r',x,z,'b')

其中p为拟合后的多项式系数,运行结果为:

p =0.0736   -0.7095    1.5250   -0.0296

温馨提示:答案为网友推荐,仅供参考
大家正在搜