obtaining coeff. of syms function

7 views (last 30 days)
I m solving a 4th order eqn using syms, its like a*x^4+b*x^3+c*x^2+d*x+e=0, where a,b,c,d,e are constants. the eqn is stored in syms as 1x1 sym . I want to obtain the coeff.(a,b,c,d,e) separately from the sym structure.

Accepted Answer

Paulo Silva
Paulo Silva on 12 Jul 2011
a=1;b=2;c=3;d=4;e=5;
syms x
s=a*x^4+b*x^3+c*x^2+d*x+e
c=coeffs(s)
The c vector is what you want, the index values are in reverse order so
c=fliplr(c)
c(1) is your a c(2) is your b ...
just noticed that c is also symbolic so if you want the numeric values do
double(c)

More Answers (1)

ajit bhuddi
ajit bhuddi on 14 Jul 2011
But I want to add some more thing to the answer
if the equation is for example: g=ax^3+bx^2+c
coeffs(g) will return only [c,b,a] and it will not give coeff. corresponding to coeff. of x (which is 0 in this case).
  2 Comments
Paulo Silva
Paulo Silva on 14 Jul 2011
That's completely different from your original question but I will help you once more:
a=1;b=2;c=3;
syms x
s=a*x^3+b*x^2+c
pf=sym2poly(s);
pf(end-1) %the coefficient for x
ajit bhuddi
ajit bhuddi on 15 Jul 2011
this seems fine for a more general polynomial case.

Sign in to comment.

Categories

Find more on Symbolic Math Toolbox in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!