当遇到一个复杂的代数多项式时,且该多项式未被整理成标准形式,想要求得该多项式各项的系数,若手动计算,则耗时耗力还可能出错,而利用MATLAB的 sym2poly() 函数即可轻松解决。
用法示例
问题1:求各项的系数。
syms x; %创建变量x
p = 3*x^2+2*x+1; %定义多项式p
a = sym2poly(p); %求多项式p的系数
display(a);
运行后可得
该函数可以将多项式的各项系数按照降幂的形式依次输出。
问题2:求各项的系数。
syms x; %创建变量x
p = 3*x^2+1; %定义多项式p
a = sym2poly(p); %求多项式p的系数
display(a);
运行后可得
由此可见,即使多项式中某一项缺失(该题中x项缺失),该函数也可将该项系数以0代替,避免了错误。
问题3:求各项的系数。
syms x; %创建变量x
p = (x-1)*(x-2)*(x-3)*(x-4)*(x-5)*(x-6)*(x-7)*(x-8)*(x-9)*(x-10); %定义多项式p
a = sym2poly(p); %求多项式p的系数
display(a);
运行后得
从列1到列10依次为到
的系数,列11为常数项。
可见即使多项式不是标准形式,该函数也可输出各项的系数。这对于特别复杂的多项式来说特别有用。