|
提取多项式中指定变量var的系数 wzqcongcong 发表于: 2008-4-15 16:49 来源: Matlab中文学习站
费了好大劲,终于把它搞定了,该函数同样可以处理多变量的多项式,可以提取其中某个特定变量的系数,超好用:
CODE:
function coef=poly_coef(f,var)
%提取多项式f中指定变量var的系数,将结果赋给数组coef
%f可以是含多变量的多项式
%var是多项式中指定的变量,可选,默认是x
%要用到函数poly_degree()来获得f中指定变量var的最高次幂
if nargin==1, var=sym('x'); end
degree=poly_degree(f,var); temp_f=f;
coef(degree+1)=subs(temp_f,var,0);
for n=1:degree
temp_f=simple((temp_f-coef(degree+2-n))/var);
coef(degree+1-n)=subs(temp_f,var,0);
end
举几个例子:
>> syms x y; f1=x^4+2*x+1; f2=y^6+5*y^3+3;
>> f3=x^5+2*x^3*y^4+x*y^2+4;
>> poly_coef(f1)
ans =
[1, 0, 0, 2, 1]
>> poly_coef(f1,y)
ans =
[ 4 ]
[x + 2 x + 1]
>> poly_coef(f2)
ans =
[ 6 3 ]
[y + 5 y + 3]
>> poly_coef(f2,y)
ans =
[1, 0, 0, 5, 0, 0, 3]
>> poly_coef(f3)
ans =
[ 4 2 ]
[1, 0, 2 y , 0, y , 4]
>> poly_coef(f3,y)
ans =
[ 3 5 ]
[2 x , 0, x, 0, x + 4]
[ 本帖最后由 ChaChing 于 2009-4-2 10:50 编辑 ] |
评分
-
1
查看全部评分
-
|