obtaining coeff. of syms function

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

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

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
this seems fine for a more general polynomial case.

Sign in to comment.

Categories

Find more on MATLAB 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!