耐磨铜套材质:matlab中如何提取多项式的系数(symbol型的)

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/28 07:20:09
最好先能将多项式按照其中某一个变量的幂大小进行排列,然后提取系数!!
比如-a5*b1*z^16+a5*b4*z^2*b3*b2*b1-a5*b3*z^12*b1-a5*b3*z^20*b2+a5*b2*z^24+a5*b3*z^28+a5*b4*z^30-b5*z^15*b1+b5*z^23*b2+b5*z^27*b3-b5*z^29*b4+a5*z^32+b5*z^31-a5*b4*z^14*b1+a5*b2*z^8*b1-a5*b3*z^4*b2*b1+a5*b4*z^22*b2-a5*b4*z^26*b3+b5*z^7*b2*b1-b5*z^11*b3*b1-b5*z^19*b3*b2+b5*z^13*b4*b1-b5*z^21*b4*b2+b5*z^25*b4*b3+a5*b4*z^6*b2*b1+a5*b4*z^10*b3*b1+a5*b4*z^18*b3*b2-b5*z^3*b3*b2*b1-b5*z^5*b4*b2*b1-b5*z^9*b4*b3*b1-b5*z^17*b4*b3*b2-b5*z*b4*b3*b2*b1
对这个多项式进行系数提取,当然变量是z

clc;clear
syms a5 b1 b2 b3 b4 b5 z
f=sym('-a5*b1*z^16+a5*b4*z^2*b3*b2*b1-a5*b3*z^12*b1-a5*b3*z^20*b2+a5*b2*z^24+a5*b3*z^28+a5*b4*z^30-b5*z^15*b1+b5*z^23*b2+b5*z^27*b3-b5*z^29*b4+a5*z^32+b5*z^31-a5*b4*z^14*b1+a5*b2*z^8*b1-a5*b3*z^4*b2*b1+a5*b4*z^22*b2-a5*b4*z^26*b3+b5*z^7*b2*b1-b5*z^11*b3*b1-b5*z^19*b3*b2+b5*z^13*b4*b1-b5*z^21*b4*b2+b5*z^25*b4*b3+a5*b4*z^6*b2*b1+a5*b4*z^10*b3*b1+a5*b4*z^18*b3*b2-b5*z^3*b3*b2*b1-b5*z^5*b4*b2*b1-b5*z^9*b4*b3*b1-b5*z^17*b4*b3*b2-b5*z*b4*b3*b2*b1') ;
f1=maple('sort',f,z)
N=maple('degree',f1,z);
N=eval(N);
for i=0:N-1
temp=maple('coeff',f1,z,N-i);
A{1,i+1}={temp};
end
celldisp(A)

运行结果:
f1 =

a5*z^32+b5*z^31+a5*b4*z^30-b5*b4*z^29+a5*b3*z^28+b5*b3*z^27-a5*b4*b3*z^26+b5*b4*b3*z^25+a5*b2*z^24+b5*b2*z^23+a5*b4*b2*z^22-b5*b4*b2*z^21-a5*b3*b2*z^20-b5*b3*b2*z^19+a5*b4*b3*b2*z^18-b5*b4*b3*b2*z^17-a5*b1*z^16-b5*b1*z^15-a5*b4*b1*z^14+b5*b4*b1*z^13-a5*b3*b1*z^12-b5*b3*b1*z^11+a5*b4*b3*b1*z^10-b5*b4*b3*b1*z^9+a5*b2*b1*z^8+b5*b2*b1*z^7+a5*b4*b2*b1*z^6-b5*b4*b2*b1*z^5-a5*b3*b2*b1*z^4-b5*b3*b2*b1*z^3+a5*b4*b3*b2*b1*z^2-b5*b4*b3*b2*b1*z

A{1}{1} =a5
A{2}{1} =b5
A{3}{1} =a5*b4
A{4}{1} =-b5*b4
A{5}{1} =a5*b3
......