www.gusucode.com > 高等数学问题求解源码程序 > CH05/sym_poly.m
function c=sym_poly(s,v,flag) %SYM_POLY 符号多项式与多项式系数之间的相互转换 % C=SYM_POLY(S,V,1)或C=SYM_POLY(S,V,'sym2poly') 提取符号多项式S的系数向量 % S=SYM_POLY(C,V,2)或S=SYM_POLY(C,V,'poly2sym') 由系数向量C创建符号多项式 % % 输入参数: % ---S:输入的符号多项式 % ---V:符号多项式的符号自变量 % ---C:输入的系数向量 % ---FLAG:指定转化方向,当FLAG=1或'sym2poly'表示由多项式向系数向量转化; % 当FLAG=2或'poly2sym'表示由系数向量向多项式转化 % 输出参数: % ---C:返回的符号多项式的系数向量 % ---S:由系数向量创建得到的符号多项式 % % See also poly2sym, sym2poly k=1; switch flag case {1,'sym2poly'} c=subs(s,v,0); while 1 ds=diff(s,v); c=[subs(ds,v,0)/prod(1:k),c]; s=ds; if ~ismember(sym(v),symvar(ds)) break end k=k+1; end case {2,'poly2sym'} n=length(s); c=s*(sym(v)).^(n-1:-1:0).'; otherwise error('Error flag.') end web -broswer http://www.ilovematlab.cn/forum-221-1.html