retrieve coefficients from multivariable symbolic equation.

Hi,
what will be the easiest/best to extract coefficients from multivariate symbolic equations. for instance if I have
131823*c1^4 - 1092957*c1^3*c2 - 1903326*c1^3*c3 + 315414*c1^3 + 681399*c1^2*c2^2 + 291012*c1^2*c2*c3 - 642874*c1^2*c2 + 97275*c1^2*c3^2 + 3458345*c1^2*c3 + 124940*c1^2 + 560571*c1*c2^3 + 1107126*c1*c2^2*c3 + 149922*c1*c2^2 + 548367*c1*c2*c3^2 + 342112*c1*c2*c3 + 457357*c1*c2 + 2496438*c1*c3^3 + 330818*c1*c3^2 - 657587*c1*c3 - 82147*c1 + 779506*c2^3 - 2672451*c2^2*c3 - 254337*c2^2 + 69082*c2*c3^2 + 76916*c2*c3 + 50604*c2 - 1760499*c3^3 - 800417*c3^2 - 317442*c3 - 22910
How can I extract - 800417 as the coefficient of c3^2 and 681399 as the coefficient of c1^2*c2^2?
Thanks

 Risposta accettata

Hi,
I think the coeffs function from the Symbolic Math Toolbox could help here:

4 Commenti

if the equation is F1,
C = coeffs(F1, c1^2) gives an error
it gives error for two reasons:
1-You must insert the variable inside ''
2-Second you must insert just the symbolic variable, no ^2 allowed
ok number 1- isn't really true if you provide c1^2 this way
C = coeffs(F1, sym('c1^2'))
Thanks I found a way to do it using coeffs and looping.

Accedi per commentare.

Più risposte (1)

The first question can be solved by messing around with coeffs and using the imagination, second question I have no idea
s=sym('131823*c1^4 - 1092957*c1^3*c2 - 1903326*c1^3*c3 + 315414*c1^3 + 681399*c1^2*c2^2 + 291012*c1^2*c2*c3 - 642874*c1^2*c2 + 97275*c1^2*c3^2 + 3458345*c1^2*c3 + 124940*c1^2 + 560571*c1*c2^3 + 1107126*c1*c2^2*c3 + 149922*c1*c2^2 + 548367*c1*c2*c3^2 + 342112*c1*c2*c3 + 457357*c1*c2 + 2496438*c1*c3^3 + 330818*c1*c3^2 - 657587*c1*c3 - 82147*c1 + 779506*c2^3 - 2672451*c2^2*c3 - 254337*c2^2 + 69082*c2*c3^2 + 76916*c2*c3 + 50604*c2 - 1760499*c3^3 - 800417*c3^2 - 317442*c3 - 22910')
[C,T]=coeffs(s,'c3') %notice T(2) is c3^2
c=C(2); %using the clue that the index 2 is what you are looking for
c=coeffs(c); %get the coeffs again
c(1) %this is what you are looking for

Tag

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by