Find the value x

11 vues (au cours des 30 derniers jours)
Pichaya Thochampa
Pichaya Thochampa le 17 Août 2020
Modifié(e) : Matt J le 19 Août 2020
y = x ^ e - e ^ x is [0 5] when x^e=e^x

Réponse acceptée

Matt J
Matt J le 17 Août 2020
Modifié(e) : Matt J le 17 Août 2020
>> [x,fval]=fminbnd(@(x) abs(exp(x)-x^exp(1)),0,5)
x =
2.7183
fval =
4.4743e-11
  4 commentaires
Pichaya Thochampa
Pichaya Thochampa le 19 Août 2020
Modifié(e) : Bruno Luong le 19 Août 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 le 19 Août 2020
Modifié(e) : Matt J le 19 Août 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])

Connectez-vous pour commenter.

Plus de réponses (3)

hosein Javan
hosein Javan le 17 Août 2020
Modifié(e) : hosein Javan le 17 Août 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 commentaires
Pichaya Thochampa
Pichaya Thochampa le 17 Août 2020
Thank you so much:)
hosein Javan
hosein Javan le 17 Août 2020
don't mention it.

Connectez-vous pour commenter.


KSSV
KSSV le 17 Août 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 commentaire
Pichaya Thochampa
Pichaya Thochampa le 17 Août 2020
Thank you so much:)

Connectez-vous pour commenter.


Matt J
Matt J le 17 Août 2020

Catégories

En savoir plus sur Creating, Deleting, and Querying Graphics Objects dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by