matlab - 如何在 MATLAB 中实现本福德定律

标签 matlab benfords-law

我想实现一个版本的本福德定律 (http://en.wikipedia.org/wiki/Benford%27s_law) 这基本上要求输入数字的第一位数字以对分布进行分析。

1934---> 1
0.04 ---> 4
-56 ---> 5

如何在 MATLAB 中执行此操作?

最佳答案

function res = first_digit(number)
    number = abs(number);
    res = floor(number / (10 ^ floor(log10(number))));
end

它适用于所有实数(请参阅 gnovice 对极端情况的评论)

关于matlab - 如何在 MATLAB 中实现本福德定律,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2602365/

相关文章:

matlab - 矢量化 Octave /matlab代码

java - 覆盖 getColumnClass 不适用于日期列

matlab - 基于特定用户选择维数的子数组

java - Java中的本福德定律-如何将数学函数转换为Java

R本福德分析

matlab - matlab 3D 绘图中的次要 y Axis (surf、mesh、surfc)

matlab - 如何在 Matlab 中使用不同颜色绘制由 15 个数据集和 5 个不同变量组成的 9x75 矩阵?

python - 是否存在服从本福德定律的随机数分布?

java - 本福德 java 法律项目