Find the value x
4 次查看(过去 30 天)
显示 更早的评论
y = x ^ e - e ^ x is [0 5] when x^e=e^x
0 个评论
采纳的回答
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 个评论
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
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
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
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!