Find the value x
11 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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
0 commentaires
Réponse acceptée
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
le 19 Août 2020
Modifié(e) : Bruno Luong
le 19 Août 2020
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])

Plus de réponses (3)
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
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
Voir également
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!