MATLAB: Collect the term with certain order

collectpolynomial

Dear Everyone,
I have an extremely complicated multi-variablespolynomial expression.
For example,
z = a1 * x^2 + b1 * y^2 + c1* x^2 * y^2 + a2 * x^4 …..
I want to collect the coefficients of x^2, which is a1.
Everytime I use collect(z,x^2), it just returns a1*x^2 + c1* x^2* y^2 + a2 * x^4.
Does anyone have experience in extracting the exact term using collect function in Matlab?
Thanks,
Zongquan

Best Answer

See if:
[C, T] = coeffs(z, [x y]);
does what you want. The coefficients are in ‘C’ and the corresponding terms in ‘T’.