MATLAB多项式操作指南:求根、相乘与根到多项式转换

需积分: 36 29 下载量 201 浏览量 更新于2024-08-07 收藏 4.21MB PDF 举报
"多项式及其运算在MATLAB中的实现" MATLAB是一个强大的数学软件,尤其在处理信号与系统分析时,其提供的多项式操作函数非常实用。本文主要讨论了MATLAB中关于多项式及其运算的一些核心概念。 首先,多项式在MATLAB中通过行向量表示,其中系数按照幂次降序排列。例如,多项式\( A(S) = a_n S^n + a_{n-1} S^{n-1} + \cdots + a_1 S + a_0 \)可以表示为行向量\( P = [a_n, a_{n-1}, \cdots, a_1, a_0] \)。要创建一个多项式,只需输入按顺序排列的系数,如\( A=[1, 2, 2, 1] \)代表多项式\( S^3 + 2S^2 + 2S + 1 \)。 其次,MATLAB的`roots()`函数用于求解多项式的根。例如,对于多项式\( B=[1, 3, 2] \)(代表\( S^2 + 3S + 2 \)),调用`roots(B)`会返回它的根,即\(-2\)和\(-1\)。同样,对于多项式\( A=[1, 2, 2, 1] \),`roots(A)`将给出复数根\(-1\), \(-0.5+0.8660i\)和\(-0.5-0.8660i\)。 再者,`poly()`函数用于根据给定的根求多项式系数。如果已知多项式的根是\( p=[2, 1] \),调用`poly(p)`会得到对应的多项式\( P = [1, -3, 2] \)。`roots()`和`poly()`在这里构成了逆运算关系。 此外,多项式相乘在MATLAB中通过`conv()`函数实现,它执行的是卷积运算。例如,要计算两个多项式\( A \)和\( B \)的乘积,可以使用`R=conv(A,B)`。 这本书作为电子信息类专业“信号与系统”课程的补充教材,旨在帮助学生掌握MATLAB的使用,通过计算机实现繁复的数学运算,加深对课程内容的理解。全书分为两篇,第一篇介绍MATLAB的基础功能和与信号与系统相关的函数,第二篇则通过实例展示了如何利用MATLAB进行信号与系统的时域、频域、复频域及Z域分析。每章还配有上机练习题,鼓励学生进行实践操作。 “信号与系统”课程是电子信息类专业的重要基础课程,通过学习,学生可以建立起从电路分析到信号处理的桥梁。MATLAB的引入使得复杂的信号分析变得更加直观和易懂,对于提升学生的实践能力和理论理解具有显著效果。