Solve function has no numerical answer
8 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
chia ching lin
el 12 de En. de 2022
Respondida: Star Strider
el 13 de En. de 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 comentarios
Respuesta aceptada
Star Strider
el 13 de En. de 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 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Assumptions en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!