Ale*_*ols 12 matlab logging rounding exponent
我有一个变量tauMax,我想圆了到十最近的电源(1,10,100,1000 ......).我使用下面的表达式来找到最接近tau数组中最大值的整数.我找到了最大值,因为我试图计算应该是x轴截止的10的幂.在这个原因中,tauMax等于756,所以我希望有一个输出1000或3(10 ^ 3)的表达式.
tauMax = round(max(tau));
Run Code Online (Sandbox Code Playgroud)
我真的很感激任何帮助!
b3.*_*b3. 29
既然你在谈论基数10,你可以log10用来获得数字.
怎么样:
>> ceil(log10(756))
ans =
3
Run Code Online (Sandbox Code Playgroud)
我并不真正使用 Matlab,但在我所知道的任何语言中执行此操作的常用方法是:取对数以 10 为底,然后将该数字四舍五入为最接近的整数,然后计算 10 的该数字的幂。在 Python 中:
from math import ceil, log
def ceil_power_of_10(n):
exp = log(n, 10)
exp = ceil(exp)
return 10**exp
>>> print(ceil_power_of_10(1024)) # prints 10000
Run Code Online (Sandbox Code Playgroud)