matlab polyfit 做出来的值从左到右代表什么?

如题所述

第1个回答  2010-08-23
表示从高次到低次的多项式系数
给个例子一看就知道了
x = (0: 0.1: 2.5)';
y = erf(x);
p = polyfit(x,y,6)

p =

0.0084 -0.0983 0.4217 -0.7435 0.1471 1.1064 0.0004

则y=0.0084x^6-0.0983x^5+0.4217x^4-0.7435x^3+0.1471x^2+1.1064x+0.0004本回答被提问者采纳
第2个回答  2010-08-23
MATLAB软件提供了基本的曲线拟合函数的命令.

多项式函数拟合:a=polyfit(xdata,ydata,n)

其中n表示多项式的最高阶数,xdata,ydata为将要拟合的数据,它是用数组的方式输入.输出参数a为拟合多项式 y=a1xn+...+anx+a n+1的系数
多项式在x处的值y可用下面程序计算.

y=polyval(a,x,m)

线性:m=1, 二次:m=2, …

polyfit的输出是一个多项式系数的行向量。为了计算在xi数据点的多项式值,调用MATLAB的函数polyval。

例:

x=0:0.1:1;

y=[-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2];

A=polyfit(x,y,2)

Z=polyval(A,x);

Plot(x,y,’r*’,x,z,’b’)