MATLAB Answers

Find the value x

4 views (last 30 days)
Pichaya Thochampa
Pichaya Thochampa on 17 Aug 2020
Edited: Matt J on 19 Aug 2020
y = x ^ e - e ^ x is [0 5] when x^e=e^x

  0 Comments

Sign in to comment.

Accepted Answer

Matt J
Matt J on 17 Aug 2020
Edited: Matt J on 17 Aug 2020
>> [x,fval]=fminbnd(@(x) abs(exp(x)-x^exp(1)),0,5)
x =
2.7183
fval =
4.4743e-11

  4 Comments

Show 1 older comment
Matt J
Matt J on 17 Aug 2020
You're welcome, but please Accept-click whichever answer worked best for you.
Pichaya Thochampa
Pichaya Thochampa on 19 Aug 2020
Excuse me, ask me why. When issuing a command of a program that is
>> x = fminbnd (@ (x) (x ^ (exp (1)) - (exp (1) ^ x)), 0,5)
to get the answer 1.0000, but when using
>> x = fminbnd (@ (x) ((exp (1) ^ x) -x ^ exp (1)), 0,5)
is only 2.7183.
Matt J
Matt J on 19 Aug 2020
Because the first version has a local minimum at x=1. (Note: fminbnd may find a local, rather than a global minimum).
fplot(@ (x) (x ^ (exp (1)) - (exp (1) ^ x)), [0,5]);
whereas the second version has a minimum at x=exp(1).
fplot(@ (x) ((exp (1) ^ x) -x ^ exp (1)), [0,5])

Sign in to comment.

More Answers (3)

hosein Javan
hosein Javan on 17 Aug 2020
Edited: hosein Javan on 17 Aug 2020
you can rewrite the equation in the form of "x^(1/x) = exp(1/exp(1))". this means that if "f(z)=z^(1/z)" then we have "f(x) = f(exp(1))". giving an inverse function, then it is "x=exp(1)".
syms x
f(x) = x^(1/x) - exp(1/exp(1));
x_ex = solve(f(x),x) % exact value
x_app = vpa(x_ex) % approximation
err_f = subs(f(x),x,x_app) % error
x_ex =
lambertw(0, 51*log(2) - log(3253102820258857))/(51*log(2) - log(3253102820258857))
x_app =
2.7182817878772095927811977987387
err_x =
2.9387358770557187699218413430556e-39
x = 0:0.001:5;
y = x.^exp(1) - exp(x);
plot(x,y)

  2 Comments

Pichaya Thochampa
Pichaya Thochampa on 17 Aug 2020
Thank you so much:)
hosein Javan
hosein Javan on 17 Aug 2020
don't mention it.

Sign in to comment.


KSSV
KSSV on 17 Aug 2020
The value of x would be e i.e exp(1). Check the below:
x = linspace(0,5,10^6) ; % as you said x lies in [0 5]
f = x.^exp(1)-exp(x) ;
[val,idx] = min(abs(f)) ; % pick the value for which f is minimum i.e f = 0
x0 = x(idx) ; % the value of x
f = x0^exp(1)-exp(x0) % check

  1 Comment

Pichaya Thochampa
Pichaya Thochampa on 17 Aug 2020
Thank you so much:)

Sign in to comment.


Matt J
Matt J on 17 Aug 2020
x=exp(1)

  0 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!