MATLAB数值计算:多项式操作与求根

需积分: 1 0 下载量 68 浏览量 更新于2024-07-30 收藏 171KB DOC 举报
"MATLAB的数值计算功能" MATLAB是一种强大的数学软件,它集矩阵运算、数值分析、图形处理和编程于一体,为科学家和工程师提供了一个全面的平台来解决科学和工程问题。MATLAB不仅支持高级的数值计算,还具备符号计算、文字处理、可视化建模和实时控制等多种功能。 在MATLAB中,数值计算的一个关键方面是多项式操作。以下是对MATLAB处理多项式的一些关键知识点: 1. **多项式的表达与创建**: - **多项式的表达**:MATLAB可以通过数组或向量表示多项式。例如,创建多项式`x^3 - 4x^2 + 3x + 2`,可以使用`poly2sym([1 -4 3 2])`,这将返回一个表示多项式的符号表达式。 - **由根矢量创建多项式**:通过`poly(ar)`函数,可以将根矢量`ar`转换为多项式的系数向量。例如,对于多项式`(x-6)(x-3)(x-8)`,根矢量`a=[6 3 8]`,使用`pa=poly(a)`得到系数向量,然后`ppa=poly2sym(pa)`将其转换为符号形式。 2. **多项式根的计算**: - 使用`roots`函数可以直接求解多项式的根。例如,`r=roots(pa)`会返回多项式的根。 - 另一种方法是先将多项式转换为伴随矩阵,然后计算其特征值,这些特征值即为多项式的根。例如,通过`A= companion(pa)`创建伴随矩阵,再用`eig(A)`计算特征值。 3. **复数根与实系数多项式**: - 复数根必须共轭成对出现,以构成实系数多项式。如果根矢量包含复数根,可能会导致系数向量含有微小的虚部,使用`real`函数可以滤掉这些虚部。 - 例如,给定复数根矢量`r=[-0.5-0.3+0.4i; -0.5-0.3-0.4i]`,使用`p=poly(r)`将得到实系数多项式。 4. **特征多项式输入法**: - `poly`函数可用于从矩阵的特征多项式系数创建多项式。当给定一个矩阵,`poly(matrix)`会返回该矩阵的特征多项式的系数向量。 除了这些基本操作,MATLAB还提供了其他高级的数值计算功能,如插值、积分、微分、线性代数运算、优化问题求解以及非线性方程组的求解等。例如,`interpolate`函数用于插值,`integral`和`diff`分别用于数值积分和微分,`lsqnonlin`等函数则用于非线性最小二乘问题的求解。 MATLAB的这些功能使得它成为进行数值计算的强大工具,无论是简单的数学计算还是复杂的科学建模,都能得心应手。用户可以通过组合这些功能来构建复杂的算法,解决实际问题,并通过内置的图形功能可视化结果,从而更好地理解和解释计算过程和结果。