Why I got complex answer while I know it should be real????
Ältere Kommentare anzeigen
Hi
I have a function to be solved. while I know it has a real answer I got complex answer, I check with 2 of my friends, one got real answer and the other one get the complex one as mine. what should I do? by the way,I want to solve it symbolic, This is the function and answer:
commands:
syms('x')
F=0.21*(exp(-0.157-0.157*x))-x
s=solve(F,x)
X=subs(s)
answer:
F = 21/(100*exp((157*x)/1000 + 157/1000)) - x
s =(1000*lambertw(0, -(100000*exp(157/1000))/3297))/157
X = 15.0552 +15.0159i
the answer tha my friend got with the same commands:
F =(21*exp(- (157*x)/1000 - 157/1000))/100 - x
s =(1000*lambertw(0, (3297*exp(-157/1000))/100000))/157
X = 0.1746
Akzeptierte Antwort
Weitere Antworten (2)
Shashank Prasanna
am 29 Jan. 2013
I got the same as your friend. Try the following
syms x F s X real
3 Kommentare
Shashank Prasanna
am 29 Jan. 2013
Bearbeitet: Shashank Prasanna
am 29 Jan. 2013
It seems to me that your F is different from your friends.
Fatemeh Eslami
am 29 Jan. 2013
Fatemeh Eslami
am 29 Jan. 2013
Walter Roberson
am 29 Jan. 2013
0 Stimmen
Both F are the same, but your solve() is returning the wrong answer. The lambertw argument is of the form A*exp(-B) but your solve() is instead forming 1/A * exp(B) .
Which MATLAB versions are the two of you running? Is one of you running with the Maple based symbolic toolbox, and the other running with the MuPAD based symbolic toolbox?
Note: complex values are not inherently wrong solutions. The general solution is not restricted to LambertW branch 0 the way the two solutions here show.
Kategorien
Mehr zu Get Started with MuPAD finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!