how to find value of variable in natural logarithmic

2 Ansichten (letzte 30 Tage)
ibrahim alzoubi
ibrahim alzoubi am 30 Apr. 2021
Kommentiert: ibrahim alzoubi am 30 Apr. 2021
How to find value of X:
ln(X/0.466)*66.66+X*4.4805*10^(-4)+X=5.66
  4 Kommentare
Star Strider
Star Strider am 30 Apr. 2021
I would use fsolve, since it would appear to have at most only one root.
Remember to use log, not ln in your code.
Scott MacKenzie
Scott MacKenzie am 30 Apr. 2021
hint #1: e^(ln(x)) = x
hint #2: e^(ln(y) + ln(z)) = y * z

Melden Sie sich an, um zu kommentieren.

Antworten (1)

DGM
DGM am 30 Apr. 2021
Bearbeitet: DGM am 30 Apr. 2021
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)

Community Treasure Hunt

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

Start Hunting!

Translated by