我的問題類似於this question,但我相信它更一般。
我用Matlab的符號數學工具箱來求解方程:將符號數學(sym)的輸出轉換爲浮點數
MAZ = 0.5;
MAU = 1.0;
XI = 1.0;
ALPHA = 2.0;
DRG = 0.5;
SRG = 1.0;
PHI = 1/(2 * MAU);
syms L;
f = 1 - DRG - sqrt(1 + (ALPHA * XI - L/(2 * XI * PHI))^2)/...
sqrt(1 + (ALPHA * XI)^2) + L/(4 * PHI * SRG * sqrt(1 + (ALPHA * XI)^2));
a = solve(f,L,'Real',true);
答案是:
a =
5^(1/2)/3 + (10*((4*5^(1/2))/25 + 6/25)^(1/2))/3 + 8/3
5^(1/2)/3 - (10*((4*5^(1/2))/25 + 6/25)^(1/2))/3 + 8/3
如何自動轉換這些表達式爲a
- 不包含任何象徵性的表達 - 以浮動,以便我可以稍後在我的代碼中訪問它們?