主要内容

poly2sym

从系数向量创建符号多项式

说明

p = poly2sym(c) 从系数向量 c 创建符号多项式表达式 p。多项式变量为 x。如果 c = [c1,c2,...,cn],则 p = poly2sym(c) 会返回 c1xn1+c2xn2+...+cn

此语法不会在 MATLAB® 工作区中创建符号变量 x

示例

p = poly2sym(c,var) 在从系数向量 c 创建符号多项式表达式 p 时,使用 var 作为多项式变量。

示例

示例

全部折叠

从系数的符号向量创建一个多项式表达式。如果您不指定多项式变量,则 poly2sym 会使用 x

syms a b c d
p = poly2sym([a,b,c,d])
p = ax3+bx2+cx+d

从有理系数的符号向量创建一个多项式表达式。

p = poly2sym(sym([1/2,-1/3,1/4]))
p = 

x22-x3+14

从浮点系数的数值向量创建一个多项式表达式。工具箱在创建多项式表达式之前会将浮点系数转换为有理数。

p = poly2sym([0.75,-0.5,0.25])
p = 

3x24-x2+14

从系数的符号向量创建一个多项式表达式。使用 t 作为多项式变量。

syms a b c d t
p = poly2sym([a,b,c,d],t)
p = at3+bt2+ct+d

要使用符号表达式(例如 t^2 + 1exp(t))而不是多项式变量,请使用 subs 替换相关变量。

p1 = subs(p,t,t^2 + 1)
p1 = d+at2+13+bt2+12+ct2+1
p2 = subs(p,t,exp(t))
p2 = d+cet+ae3t+be2t

从整数系数的数值向量创建一个多项式表达式。

p_coeffs = [1 4 5 4 4];
p = poly2sym(p_coeffs)
p = x4+4x3+5x2+4x+4

由于 poly2sym 不会在工作区中创建符号变量 x,因此需使用 syms 创建此变量。使用 solve 求该多项式的根。

syms x
p_roots = solve(p,x)
p_roots = 

(-2-2-ii)

该多项式有 4 个根。要检验这些根是否确实为正确解,您可以从这些根重新构造原始多项式。

通过从 x 中减去每个根来求该多项式的分解形式。

p_elem = x-p_roots
p_elem = 

(x+2x+2x+ix-i)

取多项式分解形式的乘积。

p_new = prod(p_elem)
p_new = x+22x-ix+i

展开多项式并确认结果与原始表达式相同。

p_new = expand(p_new)
p_new = x4+4x3+5x2+4x+4

输入参数

全部折叠

多项式系数,指定为数值向量或符号向量。参量 c 可以是列向量或行向量。

多项式变量,指定为符号变量。

输出参量

全部折叠

多项式,以符号表达式形式返回。

提示

  • 当您对数值向量 c 调用 poly2sym 时,工具箱会使用 sym 的默认(有理数)转换模式将该数值向量转换为符号数向量。

版本历史记录

在 R2006a 之前推出

另请参阅

| |