Find the value x

4 次查看(过去 30 天)
Pichaya Thochampa
Pichaya Thochampa 2020-8-17
编辑: Matt J 2020-8-19
y = x ^ e - e ^ x is [0 5] when x^e=e^x

采纳的回答

Matt J
Matt J 2020-8-17
编辑:Matt J 2020-8-17
>> [x,fval]=fminbnd(@(x) abs(exp(x)-x^exp(1)),0,5)
x =
2.7183
fval =
4.4743e-11
  4 个评论
Pichaya Thochampa
Pichaya Thochampa 2020-8-19
编辑:Bruno Luong 2020-8-19
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 2020-8-19
编辑:Matt J 2020-8-19
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])

请先登录,再进行评论。

更多回答(3 个)

hosein Javan
hosein Javan 2020-8-17
编辑:hosein Javan 2020-8-17
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)

KSSV
KSSV 2020-8-17
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

Matt J
Matt J 2020-8-17

类别

Help CenterFile Exchange 中查找有关 Optimization 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by