Solve function has no numerical answer
8 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
chia ching lin
am 12 Jan. 2022
Beantwortet: Star Strider
am 13 Jan. 2022
i'm trying to solve a simple eqation which has a large answer, but i can't get numerical answer, which keep having an answer of z2^5.
How can I get the numerical answer? vpasovle() has used.
The answer should be 1.24209e17.
Here is my code
lambda0=1.3e-6;
L=1.8e-3;
syms x
A=-6.2*10^(-22);
B=-6*10^(-18);
C=lambda0/(2*L);
eq=A*x+B*x^0.8==C;
anss=solve(eq,x,'ReturnConditions',true);
if not adding 'ReturnCondition', there will have warning
Warning: Solutions are parameterized by the symbols: z2. To include parameters and conditions in the solution, specify the 'ReturnConditions' value as 'true'.
Warning: Solutions are only valid under certain conditions. To include parameters and conditions in the solution, specify the 'ReturnConditions' value as 'true'.
4 Kommentare
Akzeptierte Antwort
Star Strider
am 13 Jan. 2022
Try this —
lambda0=1.3e-6;
L=1500e-6;
syms x real
A=6.2*10^(-22);
B=6*10^(-18);
C=lambda0/(2*L);
eq=x==((C-A*x)/B)^1.25;
eql=lhs(eq);
eqr=rhs(eq);
fplot([eql eqr],[-1 1]*1e18);
hold on
Sx = solve(eq,x,'ReturnConditions',true)
Sxc = vpa(Sx.conditions,5)
ans1=isolate(eq,x)
vpa_ans1 = vpa(ans1,5)
plot(vpa_ans1, 0, '+r', 'MarkerSize',15)
hold off
grid
I cannot imagine that a fifth-degree polynomial has only one root, although since I specified that ‘x’ be considered real, the other 4 polynomial roots (that must exist under some conditions) are all complex or pure imaginary. The real root is the only one that really matters here, anyway.
.
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Assumptions finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!