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
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
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 Center および File Exchange で Calculus についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!