How I can obtain the numerical values of a symbolic results?
Afficher commentaires plus anciens
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 commentaires
John Chilleri
le 23 Jan 2017
Modifié(e) : John Chilleri
le 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.
Pilar Jiménez
le 23 Jan 2017
Réponses (1)
Niels
le 23 Jan 2017
of you have a symbolic expression use double (a is of class sym)
a=double(a)
3 commentaires
Pilar Jiménez
le 23 Jan 2017
Niels
le 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
le 23 Jan 2017
Double will produce a double precision result. If you want a symbolic result that has still many digits, use vpa.
Catégories
En savoir plus sur Assumptions dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!