matlab polyfit 多项式拟合 (转自 百科)

polyfit函数是matlab中用于进行曲线拟合的一个函数。曲线拟合:已知离散点上的数据集,即已知在点集上的函数值,构造一个解析函数(其图形为一曲线)使在原离散点上尽可能接近给定的值。

  解释1  用法 polyfit(x,y,n ) ;用多项式求过已知点的表达式,其中x为源数据点对应的横坐标,可为 行向量、矩阵,y为源数据点对应的纵坐标,可为 行向量、矩阵,n为你要拟合的阶数,一阶直线拟合,二阶抛物线拟合,并非阶次越高越好,看拟合情况  matlab polyfit 做出来的值从左到右表示从高次到低次的多项式系数  给个例子一看就知道了  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:  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];

  

polyfit用法示例结果

A=polyfit(x,y,2)  z=polyval(A,x);  plot(x,y,'r*',x,z,'b')

  

polynomial   [,pɔli'nəumiəl]
  • n. [数] 多项式;由 2 字以上组成的学名
  • adj. 多项式的;多词学名(指由两个以上的词构成的学名)

posted on 2012-03-13 12:08  yq09  阅读(712)  评论(0编辑  收藏  举报