主要内容

randn

正态分布随机数

描述

X = randn返回从标准正态分布中提取的随机标量。

例子

X = randn (n返回一个n——- - - - - -n正态分布随机数矩阵。

例子

X = randn (sz1,…,szN返回一个sz1——-…——-szN其中随机数数组sz1,…,szN标明每个尺寸。例如,randn(3、4)返回一个3 × 4矩阵。

例子

X = randn (深圳返回随机数数组,其中size vector深圳定义了大小(X).例如,randn (4 [3])返回一个3 × 4矩阵。

例子

X = randn (___typename返回数据类型的随机数数组typename.的typename输入可以是“单身”“替身”.您可以使用前面语法中的任何输入参数。

例子

X = randn (___“喜欢”,p返回随机数数组,如p;即具有相同的数据类型和复杂性(真实的或复杂的)p.你可以指定typename“喜欢”,但不是两者都有。

X = randn (年代___从随机数流中生成数字年代而不是默认的全局流。要创建流,请使用RandStream.您可以指定年代后面是前面语法中的任何输入参数组合。

例子

全部折叠

生成一个5 × 5的正态分布随机数矩阵。

r = randn (5)
r =5×50.5377 -1.3077 -1.3499 -0.2050 0.6715 1.8339 -0.4336 3.0349 -0.1241 -1.2075 -2.2588 0.3426 0.7254 1.4897 0.7172 0.8622 3.5784 -0.0631 1.4090 1.6302 0.3188 2.7694 0.7147 1.4172 0.4889

从具有指定平均向量和协方差矩阵的二元正态分布中生成值。

Mu = [1 2];Sigma = [1 0.5;0.5 - 2);R =胆固醇(σ);z = repmat(mu,10,1) + randn(10,2)*R
z =10×21.5377 0.4831 2.8339 6.9318 -1.2588 1.8302 1.8622 2.3477 1.3188 3.1049 -0.3077 1.0750 0.5664 1.6190 1.3426 4.1420 4.5784 5.6532 3.7694 5.2595

保存随机数生成器的当前状态,并创建一个1 × 5的随机数向量。

s =提高;r = randn(1、5)
r =1×50.5377 1.8339 -2.2588 0.8622 0.3188

将随机数生成器的状态恢复为年代,然后创建一个新的1 × 5的随机数向量。值和以前一样。

rng(年代);r1 = randn(1、5)
r1 =1×50.5377 1.8339 -2.2588 0.8622 0.3188

创建一个3乘2乘3的随机数数组。

X = randn ([3, 2, 3])
X = X(:,:,1) = 0.5377 0.8622 1.8339 0.3188 -2.2588 -1.3077 X(:,:,2) = -0.4336 2.7694 0.3426 -1.3499 3.5784 3.0349 X(:,:,3) = 0.7254 -0.2050 -0.0631 -0.1241 0.7147 1.4897

创建一个元素为单精度的1 × 4随机数向量。

r = randn (1, 4,“单身”
r =1x4单行向量0.5377 1.8339 -2.2588 0.8622
类(r)
ans = '单'

创建与现有数组大小相同的正态分布随机数矩阵。

A = [3 2;2 1];深圳=大小(A);X = randn(深圳)
X =2×20.5377 -2.2588 1.8339 0.8622

将前两行代码合并为一行是一种常见的模式。

X = randn(大小(A));

创建一个2 × 2的单精度随机数矩阵。

P = single([3 2;2 1]);

创建一个随机数数组,其大小和数据类型与p

X = randn(大小(p),“喜欢”, p)
X =2 x2单一矩阵0.5377 -2.2588 1.8339 0.8622
类(X)
ans = '单'

从标准复正态分布中生成10个随机复数。

1 = randn(10日,“喜欢”1我)
一个=10×1复杂0.3802 + 1.2968i -1.5972 + 0.6096i 0.2254 - 0.9247i -0.3066 + 0.2423i 2.5303 + 1.9583i -0.9545 + 2.1460i 0.5129 - 0.0446i 0.5054 - 0.1449i -0.0878 + 1.0534i 0.9963 + 1.0021i

默认情况下,randn (n,“喜欢”,1我)从标准复正态分布中生成随机数。实部和虚部是具有均值的独立正态分布随机变量0和方差1/2.协方差矩阵是这样的(1/2 0;0 1/2)

z = randn(50000年1“喜欢”1我);cov_z = x(真正的(z),图像放大(z), 1)
cov_z =2×20.4980 0.0007 0.0007 0.4957

为了指定一个更一般的复正态分布,定义均值和协方差矩阵。例如,将平均值指定为 μ 1 + 2 协方差矩阵为 σ σ xx σ xy σ yx σ yy 2 - 2 - 2 4

Mu = 1 + 2i;Sigma = [2 -2;2 4];

将之前生成的数据转换为新定义的复正态分布。包含的因素√6 (2)当对数据进行缩放时因为原分布中实部和虚部的方差是1/2。

R =胆固醇(σ);Z_comp = [real(z) imag(z)];z = repmat(mu,50000,1) + z_comp*sqrt(2)*R*[1;1我);z (1:10)
ans =10×1复杂1.7604 + 3.8331i -2.1945 + 6.4138i 1.4508 - 0.3002i 0.3868 + 3.0977i 6.0606 + 0.8560i -0.9090 + 8.2011i 2.0259 + 0.8850i 2.0108 + 0.6993i 0.8244 + 4.2823i 2.9927 + 2.0115i

输入参数

全部折叠

方阵的大小,指定为整数值。

  • 如果n0,然后X是一个空矩阵。

  • 如果n是负的,那么它被当作0

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

每个维度的大小,指定为单独的整数值参数。

  • 如果任何维度的大小是0,然后X是一个空数组。

  • 如果任何维度的大小为负数,则将其视为0

  • 在二次元之外,randn忽略大小为1的尾随维度。例如,randn (3, 1, 1, 1)生成一个3 × 1的随机数向量。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

每个维度的大小,指定为整数值的行向量。这个向量的每个元素都表示对应维度的大小:

  • 如果任何维度的大小是0,然后X是一个空数组。

  • 如果任何维度的大小为负数,则将其视为0

  • 在二次元之外,randn忽略大小为1的尾随维度。例如,Randn ([3 1 1 1])生成一个3 × 1的随机数向量。

例子:Sz = [2 3 4]创建一个2 × 3 × 4数组。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

要创建的数据类型(类),指定为“替身”“单身”,或者另一个类的名称randn万博1manbetx支持。

例子:“单身”randn (5)

要创建的数组原型,指定为数值数组。

例子:randn(5“喜欢”p)

数据类型:|
复数的支持:万博1manbetx是的

随机数流,指定为RandStream对象。

例子:s = RandStream(“dsfmt19937”);randn(年代,1 [3])

更多关于

全部折叠

标准实态分布和标准复正态分布

在生成随机实数时,randn函数生成符合标准正态分布的数据:

f x 1 2 π e x 2 / 2

在这里,x均值为0,方差为1的随机实数变量。

在生成随机复数时,例如使用该命令时randn(…,“喜欢”,1我),randn函数生成符合标准复正态分布的数据:

f z 1 π e | z | 2

在这里,z是一个随机复变量,其实部和虚部为独立的正态分布随机变量,均值为0,方差为1/2。

提示

  • 由…产生的数字序列randn是由底层的均匀伪随机数生成器的内部设置决定的吗兰德兰迪,randn.您可以使用。来控制共享随机数生成器rng

扩展功能

版本历史

之前介绍过的R2006a

全部展开