具有指定根的多项式或特征多项式 | 您所在的位置:网站首页 › poly-f › 具有指定根的多项式或特征多项式 |
本页翻译不是最新的。点击此处可查看最新英文版本。 poly具有指定根的多项式或特征多项式 全页折叠 语法p = poly(r)p = poly(A)说明示例 p = poly(r)(其中 r 是向量)返回多项式的系数,其中多项式的根是 r 的元素。 示例 p = poly(A)(其中 A 是 n×n 矩阵)返回矩阵 det(λI – A) 的特征多项式的 n+1 个系数。 示例全部折叠 来自特征值的特征多项式打开实时脚本计算矩阵 A 的特征值。 A = [1 8 -10; -4 2 4; -5 2 8]A = 3×3 1 8 -10 -4 2 4 -5 2 8 e = eig(A)e = 3×1 complex 11.6219 + 0.0000i -0.3110 + 2.6704i -0.3110 - 2.6704i由于 e 中的特征值是 A 的特征多项式的根,使用 poly 可确定来自 e 中的值的特征多项式。 p = poly(e)p = 1×4 1.0000 -11.0000 0.0000 -84.0000 矩阵的特征多项式打开实时脚本使用 poly 来计算矩阵 A 的特征多项式。 A = [1 2 3; 4 5 6; 7 8 0]A = 3×3 1 2 3 4 5 6 7 8 0 p = poly(A)p = 1×4 1.0000 -6.0000 -72.0000 -27.0000使用 roots 计算 p 的根。特征多项式的根是矩阵 A 的特征值。 r = roots(p)r = 3×1 12.1229 -5.7345 -0.3884 输入参数全部折叠 r — 多项式根 向量多项式的根,指定为向量。 示例: poly([2 -3]) 示例: poly([2 -2 3 -3]) 示例: poly(roots(k)) 示例: poly(eig(A)) 数据类型: single | double 复数支持: 是 A — 输入矩阵 矩阵输入矩阵。 示例: poly([0 -1; 1 0]) 数据类型: single | double 复数支持: 是 输出参数全部折叠 p — 多项式系数 行向量多项式系数,以行向量形式返回。 如果输入为 n×n 方阵 A,则 p 包含 A 的特征多项式的系数。 如果输入是根的向量 r,则 p 包含其根在 r 中的多项式的系数。 在每种情况下,p 中的 n+1 个系数都以如下方式描述多项式 p1xn+p2xn−1+...+pnx+pn+1 . 提示对于向量,r = roots(p) 和 p = poly(r) 互为反函数,负责舍入误差、排序和缩放。 算法用于 poly 和 roots 的算法阐明了现代特征值计算方法中一个有趣的方面。poly(A) 生成 A 的特征多项式,roots(poly(A)) 计算该多项式的根,而这些根是 A 的特征值。但 poly 和 roots 都使用基于相似变换的 eig。传统方法实际上与之相反,它是将特征值定义为特征多项式根。 如果 A 是 n×n 矩阵,poly(A) 生成系数 p(1) 至 p(n+1),对于以下方程,p(1) = 1 det(λI−A)=p1λn+…+pnλ+pn+1 . 算法是 z = eig(A); p = zeros(n+1,1); p(1) = 1; for j = 1:n p(2:j+1) = p(2:j+1)-z(j)*p(1:j); end此递归通过展开乘积来获得, (λ−λ1)(λ−λ2)…(λ−λn) . 可以证明 poly(A) 在 A 的舍入误差内生成矩阵特征多项式中的系数。即使 A 的特征值为病态的情况下,这也成立。用于获取特征多项式的传统算法不使用特征值,并且没有此类符合要求的数值属性。 扩展功能C/C++ 代码生成 使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。用法说明和限制: 代码生成不会丢弃非有限输入值。 非向量输入将生成复数输出。仅当输入为实数且第一个维度或第二个维度的大小固定为 1 时,向量输入才会生成实数输出。 请参阅Variable-Sizing Restrictions for Code Generation of Toolbox Functions (MATLAB Coder)。 基于线程的环境 使用 MATLAB® backgroundPool 在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool 加快代码运行速度。 此函数完全支持基于线程的环境。有关详细信息,请参阅Run MATLAB Functions in Thread-Based Environment。 GPU 数组 通过使用 Parallel Computing Toolbox™ 在图形处理单元 (GPU) 上运行来加快代码执行。此函数完全支持 GPU 数组。有关详细信息,请参阅Run MATLAB Functions on a GPU (Parallel Computing Toolbox)。 版本历史记录在 R2006a 之前推出 另请参阅roots | conv | residue | polyval | polyvalm 主题创建并计算多项式 |
CopyRight 2018-2019 实验室设备网 版权所有 |