兰德恩
正态分布的随机数。
库::`工程师`
语法
函数调用
* <参数:X>>=randn() —
返回取自标准正态分布的随机标量值。
* [参数:X]=randn(<参数:sz1-n>>) —
返回大小为随机数的数组 sz1×…×szN,在哪里 [参数:sz1-N] 表示每个维度的大小。 例如, 兰德(3,4) 返回大小的矩阵 3×4.
* <参数:X>>=randn(___,[参数:typename]) —
返回类型的随机数的数组 [参数:类型名称]. 输入参数 [参数:类型名称] 也许吧 "Float32" 或 "浮64". 您可以使用前面示例中提供的输入参数的任何组合。
争论
输入参数
# *类型名称* — 要创建的数据类型(类)
+
"浮64" (默认情况下)| "Float32"
Details
要创建的数据类型(类)可以指定为 "浮64", "Float32" 或者作为支持的另一个类的名称 *兰德*.
例子:
随机数矩阵
Details
生成矩阵 5×5 正态分布的随机数。
import EngeeDSP.Functions: randn
r = randn(5)
5×5 Matrix{Float64}:
2.97447 -0.106555 2.02373 0.296171 0.733738
-0.622585 -0.215161 0.777789 1.20078 0.120332
1.9203 0.47349 -0.548902 1.09017 1.13633
0.961149 1.36564 -0.126011 -0.358703 -0.686773
-0.557803 -1.6378 0.29958 -0.129928 0.471683
二维正态随机数分布
Details
我们将根据具有给定期望向量和协方差矩阵的二维正态分布生成值。
import EngeeDSP.Functions: randn
using LinearAlgebra
mu = [1 2]
sigma = [1 0.5; 0.5 2]
R = cholesky(sigma).U
z = repeat(mu, 10, 1) + randn(10, 2) * R
10×2 Matrix{Float64}:
1.6715 3.51099
-0.207487 -0.121175
1.71724 0.944637
2.63024 1.74425
1.48889 -1.65047
2.03469 4.42014
1.72689 2.79363
0.696559 0.849603
1.29387 3.95967
0.212717 -0.657765
随机数的三维数组
Details
创建大小的随机数的数组 3×2×3.
import EngeeDSP.Functions: randn
X = randn([3,2,3])
3×2×3 Array{Float64, 3}:
[:, :, 1] =
-0.102242 0.312859
-0.241447 -0.86488
0.319207 -0.0300513
[:, :, 2] =
-0.164879 1.10927
0.627707 -0.863653
1.09327 0.0773591
[:, :, 3] =
-1.21412 1.53263
-1.1135 -0.769666
-0.00684933 0.371379
指定随机数的数据类型
Details
创建大小的随机数的向量 1×4,其元素具有单一精度。
import EngeeDSP.Functions: randn
r = randn(1,4,"Float32")
1×4 Matrix{Float32}:
-0.225584 1.11736 -1.08906 0.0325575
typeof(r)
Matrix{Float32}
此外
建议
函数生成的数字序列 *兰德*,由通用的内部设置决定 伪随机数生成器底层函数 *兰德*, *兰迪* 和 *兰德*.