logarithm of base other than e,10 and 2
181 次查看(过去 30 天)
显示 更早的评论
how do i find logarithms having base other than e, 10 and 2.
0 个评论
采纳的回答
James Tursa
2012-7-29
logB(X) = logA(X) / logA(B)
You can pick A to be one of the built in functions, like log or log2 or log10. E.g.,
log3(9) = log(9) / log(3) , or
log3(9) = log10(9) / log10(3) , etc.
1 个评论
Stephen23
2020-4-18
Note that for many MATLAB versions log10 itself called log2 internally... so you might as well skip the intermediate log10 and just call log2 directly (it is probably more accurate as well).
更多回答(4 个)
Chris Lucero
2020-4-18
编辑:Walter Roberson
2020-4-18
y = logb(magic(3),[1 2 3; 4 5 6; 7 8 9]);
1 个评论
Walter Roberson
2020-4-18
logb appears to refer to the File Exchange contribution https://www.mathworks.com/matlabcentral/fileexchange/14866-logb
Walter Roberson
2020-4-18
if you really get desparate:
arrayfun(@(V) feval(symengine,'log', B, V), A)
and you might want to double() the result. Note that for this to work, B must be a positive real number, whereas in Jame's solution of log(A)/log(B) then B does not need to be positive and does not need to be real-valued.
0 个评论
lina al noaimi
2022-2-26
how do we convert from base 9 to base 12 in matlab
can you give me an example on it
1 个评论
Walter Roberson
2022-2-26
If you mean numeric base, in the same sense that Hexadecimal representation is base 16 number system, then use base2dec and dec2base.
If you mean log base then log12(x) = log9(x).^(9/12)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Exponents and Logarithms 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!