Forcing matlab to simplify symbolic expression

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?

 採用された回答

Star Strider
Star Strider 2020 年 5 月 7 日

2 投票

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 件のコメント

noMathWiz
noMathWiz 2020 年 5 月 7 日
Thank you!
Star Strider
Star Strider 2020 年 5 月 7 日
As always, my pleasure!

サインインしてコメントする。

その他の回答 (0 件)

製品

リリース

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by