9  多项式的表达式及其操作

9.1 多项式的表达式和创建

1.多项式的表达式

MATLAB用一个行向量来表示多项式,此行向量就是将幂指数降序排列之后多项式各项的系数。例如,考虑下面的表达式:

这就是Wallis在他第一次在法国科学院提出牛顿法的时候所用的多项式。在MATLAB中,该多项式可以用以下命令来输入:

这个表达式的含义就是的系数为1,的系数为0(原公式中无此项,需补足为0),的系数为-2,常数项为-5。

2.多项式行向量的创建方法

多项式系数向量的直接输入法就是按照多项式表达式的约定,把多项式的各项系数一次排放在行向量的元素位置上。

正如前面所提到的:多项式的系数要以降幂顺序排列,假如多项式中缺少了某一幂次,那么就认为该幂次的系数为零。

利用命令P=poly(A)生成多项式系数向量。若A是方阵,多项式P就是该方阵的特征多项式。若A是一个向量, A的元素就被认为是多项式P的根。

【例2-36】  求 3 阶方阵 A 的特征多项式。

>>A=[11 12 13;14 15 16;17 18 19];

>>PA=poly(A)                         %  A的特征多项式

>>PPA=poly2str(PA,'s')              % 以较为习惯的方式显示多项式

1.0000  -45.0000 -18.0000    0.0000

s^3 - 45 s^2 - 18 s +1.6206e-014

【例2-37】  由给定根向量求多项式系数向量。

>> R=[-0.5,-0.3+0.4*i,-0.3-0.4*i];       %  根向量

>> P=poly(R)                                %  R 的特征多项式

1.0000    1.1000    0.5500   0.1250

>> PR=real(P)                               %  求 PR的实部

1.0000    1.1000    0.5500   0.1250

>> PPR=poly2str(PR,'x')

x^3 + 1.1x^2 + 0.55 x + 0.125

需要指出的是:要形成实系数多项式,则根向两种的复数根必须共轭成对;含复数的根向量所生成的多项式系数向量(如P)的系数有可能带在截断误差数量级的虚部,此时可以采用取实部的函数real来将此虚部滤掉。

9.2 多项式运算函数

常用的多项式运算所涉及到的函数见表2-11。

表2-11     多项式运算函数

函数形式

函数功能

函数形式

函数功能

卷积和多项式乘法

解析多项式积分

去卷积和多项式除法

按数组运算规则计算多项式值

求具有指定根的多项式

按矩阵运算规则计算多项式值

多项式求导

部分分式展开式和多项式系数之间转换

多项式本征值

多项式的根

多项式拟合

【例2-38】  求的“商”及“余”多项式。

>> p1=conv([1,0,2],conv([1,4],[1,1]));                   %  计算分子多项式

>> p2=[1 0 1 1];                                            %  注意缺项补零

>> [q,r]=deconv(p1,p2);

>> cq=' 商多项式为 ';

>> cr=' 余多项式为 ';

>> disp([cq,poly2str(q,'s')]),disp([cr,poly2str(r,'s')])  %  显示运算结果

运行的结果如下:

商多项式为    s + 5

余多项式为    5 s^2 + 4 s + 3

【例2-39】  两种多项式求值指令的差别示例。

>> S=pascal(4)                     %  生成一个 4 阶方阵

1     1    1     1

1     2    3     4

1     3    6    10

1     4   10    20

>> P=poly(S);

>> PP=poly2str(P,'s')

s^4 - 29s^3 + 72 s^2 - 29 s + 1

>> PA=polyval(P,S)                 %  独立变量取数组 S 元素时的多项式值

0.0016    0.0016    0.0016   0.0016

0.0016    0.0015   -0.0140  -0.0563

0.0016   -0.0140   -0.2549  -1.2089

0.0016   -0.0563   -1.2089  -4.3779

>> PM=polyvalm(P,S)                %   独立变量取矩阵 S 时的多项式值

-0.0013   -0.0063   -0.0104  -0.0241

-0.0048   -0.0217   -0.0358  -0.0795

-0.0114  -0.0510   -0.0818   -0.1805

-0.0228   -0.0970   -0.1553  -0.3396

从理论上讲,PM应该为零。这就是著名的“Caylay-Hamilton”定理:任何一个矩阵满足它自己的特征多项式方程。本例中的PM的元素都很小,这是由截断误差造成的。

【例2-40】  部分分式展开示例。

>> b=[3,2,5,4,6];                %  分子多项式系数向量

>> [r,s,k]=residue(b,a)

1.1274 +1.1513i

1.1274 -1.1513i

-0.0232 -0.0722i

-0.0232 +0.0722i

0.4176 +1.1130i

0.4176 -1.1130i

本例中的k是空阵,这说明分母的阶数高于分子。另外从计算数学上来讲,如果某些根很靠近,极点和留数的计算受截断误差的影响会比较大,此时用这种表达方式的数值稳定性不如用状态方程或零点、极点展开可靠。

matlab 多项式表达,MATLAB多项式相关推荐

  1. matlab 多项式表达,MATLAB自学笔记(十七):多项式及其函数

    终于结束了关于MATLAB的基础知识学习部分,开始了对数据的分析 1.多项式的表达与创建 MATLAB中用一维行向量来表示多项式,将多项式的系数按照降幂次序存放在向量中. 请注意上面一句话,这将是MA ...

  2. matlab 多项式表达,Matlab多项式运算

    % matlab语言把多项式表达成一个行向量,该向量中的元素是按多项式   %降幂排列的. % f(x)=an^n+an-1^n-1+--+a0 % 可用行向量 p=[an an-1 -- a1 a0 ...

  3. 【MATLAB】数据分析之多项式及其函数

    1.多项式的表达式和创建 MATLAB中使用一维向量来表示多项式.将多项式按照降幂次序存放在向量中. 多项式就可以用向量 [2 3 5 0 1]来表示. 2.多项式求根 >> p=[1 2 ...

  4. 最小二乘多项式拟合程序matlab,最小二乘法的多项式拟合(matlab实现)

    1.用最小二乘法进行多项式拟合(matlab实现)西安交通大学 徐彬华算法分析:对给定数据 (i=0 ,1,2,3,.,m),一共m+1个数据点,取多项式P(x),使函数P(x)称为拟合函数或最小二乘 ...

  5. matlab 多项式提取,matlab提取多项式系数

    要求一高阶多项式的根往 往须借助数值方法,所 幸MATLAB已将这些数值方法写成一函数 roots(p),我们只要输入多项式的各阶系数 (以 p 代表)即可求解到对应的根 >...... 如果被 ...

  6. matlab中利用xy求取多项式z,matlab基础练习题

    3. 求有理分式()()()()3323230.522521x x x R x x x x ++=+-++的商多项式和余多项式 4. 一元多项式42234p x x x =-+,写出表示p 的MATL ...

  7. 多项式在matlab中的应用,matlab的应用-多项式函数及多项式拟合

    matlab的应用-多项式函数及多项式拟合 Matlab 的应用- 多项式函数及多项式拟合 本节将向大家简要介绍 matlab 在多项式处理方面的应用. 多项式函数主要有: roots 求多项式的根 ...

  8. matlab 多项式降幂,MATLAB自动将向量元素按降幂顺序分配给各系数值.PPT

    MATLAB自动将向量元素按降幂顺序分配给各系数值.PPT * 第五章 数值计算基础 * 第五章 数值计算基础 5.1 多项式 5.2求解线性方程组的 5.3 差分.梯度 5.4 插值和拟合等. 5. ...

  9. matlab根据根求多项式,matlab求解多项式的根

    因此牛顿法也称切线法,是非线性方程求根方法中收敛最快的方 法. 2. matlab 中方程求解的基本命令 roots(p):求多项式方程的根,其中 p 是多项式系数按降幂排列所形成的向量. solve ...

最新文章

  1. 网站服务器部署注意事项,服务器部署改云部署注意事项
  2. Tech.Ed2005 讲义下载地址
  3. ffmpeg源码分析——av_register_all
  4. debug —— list调试命令
  5. kafka reassign 限速_RabbitMQ 与 Kafka 的技术差异以及使用注意点
  6. Boost:boost::bimaps::list_of的测试程序
  7. window.location.href不打开新窗口_嘿,这条微博值得一看:不登录如何访问页面
  8. 如何更加简单的理解JS中的原型原型链概念
  9. delphi image 编辑器_照片拼图编辑器app下载-照片拼图编辑器下载 v1.0.0 安卓版
  10. java容器类1:Collection,List,ArrayList,LinkedList深入解读
  11. MySQL 优化 —— SQL优化概述(优化专题开篇词)
  12. LeetCode刷题 --杂篇 --数组,链表,栈,队列
  13. 程序员必须掌握的 12 个 JavaScript 技能!
  14. 2.5. 标准路由器:Zend_Controller_Router_Rewrite
  15. ECommerceCrawlers项目分析(十二)
  16. C语言实现EPSG:4326和EPSG:3857的互转
  17. cups支持的打印机列表_更完整的CUPS打印机状态原因列表
  18. 摩尔庄园手游测评——爷青回or爷青毁?
  19. 如何更改xp计算机用户名和密码错误,XP更改开机密码提示“Windows不能更改密码”如何解决...
  20. 如何计算机网络打印机,电脑如何连接网络打印机?网络打印机的连接教程

热门文章

  1. python实现淘宝自动登录秒杀功能
  2. hdmi怎么支持2k分辨率_为什么显示器闪瞎眼 HDMI线版本有讲究
  3. 修改openwrt或者LEDE默认wifi名称以及默认开启wifi
  4. matlab频谱分析中振幅的物理意义,对速度信号进行傅里叶谱分析之后,其纵坐标对应的幅值的物理意义是什么?是速度,还是振幅...
  5. 关于学习渲染的心得第一篇
  6. useCallback 的问题和隐患的解决方案 - 胡耀(字节跳动)
  7. 工程下有一个红叉,但是可以照常运行
  8. java_猜拳小游戏——流之奥义
  9. 学计算机编程配置需求,编程对电脑配置要求高吗?
  10. 鸿蒙智联 HarmonyOS Connect 设备小艺语音的接入