×
MATLAB 介绍MATLAB 安装MATLAB 基本语法MATLAB 变量MATLAB 命令MATLAB M-FilesMATLAB 数据类型MATLAB 运算符MATLAB 算术运算MATLAB 逻辑运算MATLAB 关系运算MATLAB 位运算MATLAB 集合操作MATLAB 决策制定MATLAB if...end 语句MATLAB if...else...end 语句MATLAB if...elseif...else...endMATLAB 嵌套if语句MATLAB switch语句MATLAB 嵌套switch语句MATLAB 循环类型MATLAB while循环MATLAB for循环MATLAB 嵌套循环MATLAB break语句MATLAB continue语句MATLAB 向量MATLAB 向量的加法和减法MATLAB 标量向量乘法MATLAB 转置向量MATLAB 追加向量MATLAB 向量的模MATLAB 向量点积MATLAB 等差元素向量MATLAB 矩阵MATLAB 矩阵的加法和减法MATLAB 除法(左,右)矩阵MATLAB 矩阵标量操作MATLAB 矩阵的转置MATLAB 串联矩阵MATLAB 矩阵乘法MATLAB 矩阵的行列式MATLAB 逆矩阵MATLAB 数组MATLAB 冒号符号MATLAB 数字MATLAB 字符串MATLAB 函数MATLAB 数据导入MATLAB 数据导出MATLAB 绘图MATLAB 图形MATLAB 代数MATLAB 微积分MATLAB 多项式MATLAB 变换MATLAB GNU Octave教程MATLAB Simulink 仿真

MATLAB多项式


在 MATLAB 中,多项式用一个行向量表示,行向量的元素值为多项式系数按幂次的降序排列。

例如,方程 P(x) = x4 + 7x3 - 5x + 9 可以表示为:

p = [1 7 0 -5 9];

MATLAB计算多项式

MATLAB中 polyval 函数用于将指定的值 - 计算多项式。例如,要计算我们本节开始时举例的多项式 p, x = 4,输入:

p = [1 7 0  -5 9];
polyval(p,4)

MATLAB 执行上述语句,返回以下结果:

ans =
   693

MATLAB 还提供了计算矩阵多项式 polyvalm 函数。矩阵多项式一个多项式矩阵变量。

例如,我们建立一个正方形矩阵 X 并计算多项式 p:

p = [1 7 0  -5 9];
X = [1 2 -3 4; 2 -5 6 3; 3 1 0 2; 5 -7 3 8];
polyvalm(p, X)

MATLAB执行上述语句,返回以下结果:

ans =
        2307       -1769        -939        4499
        2314       -2376        -249        4695
        2256       -1892        -549        4310
        4570       -4532       -1062        9269

查找多项式的根

根函数可以计算多项式的根。

例如,要计算多项式 p,输入根:

p = [1 7 0  -5 9];
r = roots(p)

MATLAB执行上述语句,返回以下结果:

r =
  -6.8661 + 0.0000i
  -1.4247 + 0.0000i
   0.6454 + 0.7095i
   0.6454 - 0.7095i

 poly 函数是根函数,并返回多项式的系数的倒数。

例如:

p2 = poly(r)

MATLAB执行上述语句,返回以下结果:

p2 =
    1.0000    7.0000    0.0000   -5.0000    9.0000

多项式曲线拟合

polyfit 函数找到一个多项式的系数,适合采用最小二乘意义上的一组中的数据。

如果 x 和 y 是两个向量含有的 x 和 y 被拟合数据的一个 n 次多项式,那么我们得到的多项式拟合的数据通过写入

p = polyfit(x,y,n)

详细例子

在MATLAB中建立一个脚本文件,并输入下述代码:

x = [1 2 3 4 5 6]; y = [5.5 43.1 128 290.7 498.4 978.67];  %data
p = polyfit(x,y,4)   %get the polynomial
% Compute the values of the polyfit estimate over a finer range, 
% and plot the estimate over the real data values for comparison:
x2 = 1:.1:6;          
y2 = polyval(p,x2);
plot(x,y,'o',x2,y2)
grid on

运行该文件,MATLAB显示以下结果:

p =
    4.1056  -47.9607  222.2598 -362.7453  191.1250

并绘制下图:



分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)