how to find value of variable in natural logarithmic

2 次查看(过去 30 天)
How to find value of X:
ln(X/0.466)*66.66+X*4.4805*10^(-4)+X=5.66
  4 个评论
Star Strider
Star Strider 2021-4-30
I would use fsolve, since it would appear to have at most only one root.
Remember to use log, not ln in your code.

请先登录,再进行评论。

回答(1 个)

DGM
DGM 2021-4-30
编辑:DGM 2021-4-30
This can be done a number of ways. It's a log plus a positive linear function of x. There will be only one solution. That makes everything easier.
% solving symbolically
syms X
eqn = log(X/0.466)*66.66+X*4.4805*10^(-4)+X==5.66;
aaa = double(solve(eqn,X))
% or using fsolve
f = @(x) log(x/0.466)*66.66 + x*4.4805*10^(-4) + x - 5.66;
bbb = fsolve(f,1)
% or using fzero
ccc = fzero(f,1)
% do the answers make sense? check it graphically
x = linspace(0.2,1,100);
y = log(x/0.466)*66.66 + x*4.4805*10^(-4) + x;
plot(x,y); hold on
plot([0.2 1],[1 1]*5.66)
plot(aaa,5.66,'bo')
plot(bbb,5.66,'ko','markersize',10)

类别

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

标签

Community Treasure Hunt

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

Start Hunting!

Translated by