Why sym2poly function converts a random string to s polynomial?
Show older comments
Why sym2poly function converts a random string ('cacssd' for example) to [1 0] polynomial?
syms s
rt='cacd';
num=sym(rt);
snum=sym2poly(num)
I want to handle an error for this but unfortunatly there is no error. Any idea?
Accepted Answer
More Answers (1)
Paulo Silva
on 29 May 2011
1 vote
The result [1 0] means that there's a symbolic variable with 1 for it's coefficient, the polynomial is:
1*cacd+0
6 Comments
sadel
on 29 May 2011
Paulo Silva
on 29 May 2011
that's a wrong assumption, syms s just defines s as symbolic, the next lines of code have nothing to do with the first, in the third line you define the string inside the variable rt as symbolic and store it in the variable num, it's the symbolic variable num contents that are converted.
Oleg Komarov
on 29 May 2011
Yes but you declare sym(rt) which is sym('cacd')
sadel
on 29 May 2011
Paulo Silva
on 30 May 2011
symvar
ismember
Walter Roberson
on 30 May 2011
casd *does* have "the type of a polynomial", just as much as 1*x+0 does.
Perhaps what you want is to restrict to certain variables and then use coeff() or coeffs() to detect whether those variables occur.
Categories
Find more on Operations on Strings 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!