how to find value of variable in natural logarithmic

2 vues (au cours des 30 derniers jours)
ibrahim alzoubi
ibrahim alzoubi le 30 Avr 2021
Commenté : ibrahim alzoubi le 30 Avr 2021
How to find value of X:
ln(X/0.466)*66.66+X*4.4805*10^(-4)+X=5.66
  4 commentaires
Star Strider
Star Strider le 30 Avr 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 le 30 Avr 2021
hint #1: e^(ln(x)) = x
hint #2: e^(ln(y) + ln(z)) = y * z

Connectez-vous pour commenter.

Réponses (1)

DGM
DGM le 30 Avr 2021
Modifié(e) : DGM le 30 Avr 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