Forcing matlab to simplify symbolic expression

28 vues (au cours des 30 derniers jours)
noMathWiz
noMathWiz le 7 Mai 2020
Commenté : Star Strider le 7 Mai 2020
How do I get matlab to simplify this answer in the script?
c = 3e8;
h = 6.626e-34;
k = 1.38e-23;
syms l T
eqn = exp((h*c)/(l * k * T)) * (((h*c)/(l * k * T)) -5) + 5 == 0;
lmax = solve(eqn, l)
lmax =
2886030032919217/(200358257643048576*T*(lambertw(0, -5*exp(-5)) + 5))
I can take out the symbolic variable "T" within the lmax answer and matlab easily calculates a simple answer. What gives?

Réponse acceptée

Star Strider
Star Strider le 7 Mai 2020
Use the vpa function:
lmax = vpa(solve(eqn, l))
produces:
lmax =
0.0029011110628620153129357555503486/T
It is not possible to use vpasolve in this expression. The vpa function must be called separately.
  2 commentaires
noMathWiz
noMathWiz le 7 Mai 2020
Thank you!
Star Strider
Star Strider le 7 Mai 2020
As always, my pleasure!

Connectez-vous pour commenter.

Plus de réponses (0)

Produits


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by