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 Ansicht (letzte 30 Tage)
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!

Akzeptierte Antwort

Star Strider
Star Strider am 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 Kommentare
SciFiPhysics Guy
SciFiPhysics Guy am 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 am 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Symbolic Math Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by