When I use the code syms x; c = coeffs(3*x^2, 'All'); 3*x^2 displays not [3, 0, 0] how can I fix that?

1 view (last 30 days)
When I use the code syms x; c = coeffs(3*x^2, 'All'); 3*x^2 displays not [3, 0, 0]; how can I fix that? I'm actually wanting to use a code more like: syms x y; c = coeffs(y*x^2, y,'All') but that displays "Error using sym/coeffs Too many input arguments." Any help here would be greatly appreciated! Thanks!

Accepted Answer

Star Strider
Star Strider on 3 Apr 2016
It works for me in R2016a:
syms x
c = coeffs(3*x^2, 'All')
c =
[ 3, 0, 0]
The current online documentation is for R2016a. If you’re using a prior release, the online documentation might not apply. There have recently been significant changes between versions.
The sym2poly function will produce the same result if you need it for other calculations:
f = 3*x^2;
p = sym2poly(f)
p =
3 0 0
That should work in previous releases as well.
  2 Comments
SciFiPhysics Guy
SciFiPhysics Guy on 3 Apr 2016
I have 2015b would that make the difference? I'm primarily trying to use a function that can distinguish from multiple symbols; so far I can only think of coeffs. Thanks for the quick response!
Star Strider
Star Strider on 3 Apr 2016
My pleasure!
I went through the online documentation to look up the R2015b and R2016a documentation for coeffs. The 'All' option is indeed new in R2016a. (It wasn’t mentioned in the Release Notes, so I had to go digging.)
The sym2poly work-around is the best I can do.

Sign in to comment.

More Answers (0)

Categories

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

Community Treasure Hunt

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

Start Hunting!