matlab中polyfit与polyval的功能?

如题所述

polyfit函数的功能:

是matlab中用于进行曲线拟合的一个函数。

其数学基础是最小二乘法曲线拟合原理。曲线拟合:已知离散点上的数据集,即已知在点集上的函数值,构造一个解析函数(其图形为一曲线)使在原离散点上尽可能接近给定的值。

调用方法: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

polyval的功能:

是一款计算机函数,作用是用多项式系数和x向量求y向量,使用方法是返回n次多项式p在x处的值。[1]Matlab polyval多项式计算在理工科教学、科研中有着特殊地位和意义。

matlab作为重要的工程计算软件也给出了相应的计算指令来完成这一工作,其中有多项式求值polyval。

基本内容:

y = polyval(p,x)

输入变量p=[p0 p1 p2…pn]是一个长度为n+1的横向量。

其元素是由一个多项式的系数组成。

元素的排列方式为:多项式系数的顺序必须是高次幂到低次幂,多项式中缺少的幂次要用'0'来补齐,格式和例子如下:

格式:y=p(0)*x^n+p(1)*x^n-1+......+p(n-1)*x+p(n)

例子:y=-2+3*x-5*x^2+6*x^3, 则p=[6,-5,3,-2];

又如:y=x^4+2*x^2-x+1, 则p=[1,0,2,-1,1]。

x可以是一个矩阵或者一个向量,在这两种情况下,polyval计算在X中任意元素处的多项式p的估值。

对多项式p(x)=1+2*x+3*x^2,计算在x=5,7,9的值。

>> x=[5,7,9];

>>p=[3,2,1];

>> polyval(p,x)

%结果为

ans =

86 162 262

扩展资料:

MATLAB的功能:

MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。

是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。

它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中。

为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案。

并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

MATLAB和Mathematica、Maple并称为三大数学软件。

它在数学类科技应用软件中在数值计算方面首屈一指。

MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等。

主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似。

故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。

在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。

参考资料:百度百科 ------- MATLAB

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2019-08-25

matlab中polyfit与polyval的功能:

1、polyfit的功能。

这种拟合方法,多项式的次数必然是依次递减的,

采用的多项式为以下这种:

y=a*x^6+b*x^5+c*x^4+d*x^3+e*x+f,此多项式没有二次项,polyfit函数就不适用了。

y=a*x^6+b*x^5+c*x^4+d*x^3+e*x^2.5+f*x+g,polyfit函数同样不适用了。

2、polyval的功能。

格式:polyval(v,s)

说明:

如果v是一个向量,它的元素是一个多项式的系数,那麽polyval(v,s)是多项式在s处的值。

如果s是一个矩阵或是一个向量,则多项式在s中所有元素上求值。

扩展资料:

多项式曲线拟合函数polyfit与polyval:

语法:

p=polyfit(x,y,n):最小二乘法计算拟合多项式系数。x,y为拟合数据向量,要求维度相同,n为拟合多项式次数。返回p向量保存多项式系数,由最高次向最低次排列。

y=polyval(p,x):计算多项式的函数值。返回在x处多项式的值,p为多项式系数,元素按多项式降幂排序。

参考资料:百度百科 MATLAB

本回答被网友采纳
第2个回答  推荐于2017-09-09
polyfit用于多项式曲线拟合
p=polyfit(x,y,m)
其中, x, y为已知数据点向量, 分别表示横,纵坐标, m为拟合多项式的次数, 结果返回m次拟合多项式系数, 从高次到低次存放在向量p中.
y0=polyval(p,x0)
可求得多项式在x0处的值y0本回答被提问者采纳
第3个回答  2020-04-09
前者可以拟合多项式,自定义函数,基础是最小二乘法,后者一般是多项式,而且可以根据拟合的多项式求值
相似回答