How I can obtain the numerical values of a symbolic results?
29 views (last 30 days)
Show older comments
For example, I have this expression -(5^(1/2)*i - (1 - 3*5^(1/4))^(1/2) + 5*i)/(8*pi), how I can obtain the numerical result?
2 Comments
John Chilleri
on 23 Jan 2017
Edited: John Chilleri
on 23 Jan 2017
If I type,
a = -(5^(1/2)*i - (1 - 3*5^(1/4))^(1/2) + 5*i)/(8*pi)
a =
0.0000 - 0.2136i
Does this not work for you?
When I did work with huge numbers (100s of digits), Matlab would leave it as symbols like you have when, I assume, it could not do the computation. I ended up using Maxima for these symbolic computations then going back to Matlab with the result. I don't imagine Matlab can't compute it unless it's obscenely large or contains portions that don't convert to mathematics.
Answers (1)
Niels
on 23 Jan 2017
of you have a symbolic expression use double (a is of class sym)
a=double(a)
3 Comments
Niels
on 23 Jan 2017
is i said, if u got something like
result=solve(...)
result is a variable of class sym
try
result=double(result)
and your problem is solved
John D'Errico
on 23 Jan 2017
Double will produce a double precision result. If you want a symbolic result that has still many digits, use vpa.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!