retrieve coefficients from multivariable symbolic equation.

4 次查看(过去 30 天)
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

采纳的回答

Friedrich
Friedrich 2011-7-11
Hi,
I think the coeffs function from the Symbolic Math Toolbox could help here:
  4 个评论
Paulo Silva
Paulo Silva 2011-7-11
ok number 1- isn't really true if you provide c1^2 this way
C = coeffs(F1, sym('c1^2'))

请先登录,再进行评论。

更多回答(1 个)

Paulo Silva
Paulo Silva 2011-7-11
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

标签

Community Treasure Hunt

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

Start Hunting!

Translated by