randn
正态分布随机数
语法
描述
X = randn
返回一个随机的标量来自标准正态分布。
X = randn (
返回一个sz1,…, szN
)sz1
——-…——-szN
阵列的随机数sz1,…, szN
显示每个维度的大小。例如,randn (3、4)
返回一个3×4矩阵。
X = randn (
随机数生成数据流年代
,___)年代
而不是默认的全球流。创建一个流,使用RandStream
。您可以指定年代
紧随其后的任何输入参数组合在以前的语法。
例子
矩阵的随机数
生成一个5-by-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
二元正态随机数
从二元正态分布生成值与指定的均值向量和协方差矩阵。
μ= (1 - 2);σ= [1 0.5;0.5 - 2);R =胆固醇(σ);z = repmat(μ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-by-5向量随机的数字。
s =提高;r = randn (1、5)
r =1×50.5377 1.8339 -2.2588 0.8622 0.3188
随机数发生器的状态恢复年代
,然后创建一个新的随机数1-by-5向量。之前的值是一样的。
rng(年代);r1 = randn (1、5)
r1 =1×50.5377 1.8339 -2.2588 0.8622 0.3188
三维数组的随机数
创建一个3-by-2-by-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-by-4向量元素是单精度的随机数字。
r = randn (1, 4,“单身”)
r =1 x4单一的行向量0.5377 1.8339 -2.2588 0.8622
类(r)
ans = '单'
大小由现有的数组
创建一个矩阵正态分布随机数与同样大小的现有的数组。
= (3 2;2 1];深圳=大小(A);X = randn(深圳)
X =2×20.5377 -2.2588 1.8339 0.8622
它是一种常见的模式结合前两行代码一行。
X = randn(大小(A));
规模和现有数据类型定义的数组
创建一个2×2矩阵单精度的随机数字。
单([p = 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.2968我-1.5972 + 0.6096 0.2254 - 0.9247 -0.3066 -0.9545我2.5303 + 1.9583 + 0.2423 + 2.1460我0.5129 - 0.0446 0.5054 - 0.1449 -0.0878 0.9963 + 1.0021 + 1.0534我
随机复数与指定的均值和协方差
默认情况下,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;σ= [2 2;2 4];
改变以前生成的数据遵循新定义的复杂的正态分布。包括的因素√6 (2)
当扩展数据因为方差的实部和虚部原分布是1/2。
R =胆固醇(σ);z_comp =[真实(z)图像放大(z)];z = repmat(μ,50000,(1)+ z_comp * sqrt (2) * R * [1;1我);z (1:10)
ans =10×1复杂1.7604 + 3.8331我-2.1945 + 6.4138 1.4508 - 0.3002 0.3868 -0.9090我6.0606 + 0.8560 + 3.0977 + 8.2011我2.0259 + 0.8850 2.0108 + 0.6993 0.8244 2.9927 + 2.0115 + 4.2823我
输入参数
n
- - - - - -方阵的大小
整型值
方阵的大小,指定为一个整数值。
如果
n
是0
,然后X
是一个空矩阵。如果
n
是负的,那么作为吗0
。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
sz1,…, szN
- - - - - -每个维度的大小(作为单独的参数)
整型值
每个维度的大小,指定为独立参数的整数值。
如果任何尺寸的大小
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的向量。
例子:深圳= (2 3 4)
创建一个2-by-3-by-4数组。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
typename
- - - - - -数据类型(类)来创建
“替身”
(默认)|“单身”
数据类型(类)来创建指定为“替身”
,“单身”
,或者另一个提供的类的名称randn
金宝app支持。
例子:“单身”randn (5)
p
- - - - - -创建数组的原型
数字数组
的原型创建数组,指定为一个数字数组。
例子:randn(5“喜欢”p)
数据类型:单
|双
复数的支持:金宝app是的
年代
- - - - - -随机数流
RandStream
对象
随机数流,指定为一个RandStream
对象。
例子:s = RandStream (“dsfmt19937”);randn(年代,1 [3])
更多关于
标准实际和标准复杂的正态分布
生成随机实数时,randn
遵循标准正态分布函数生成数据:
在这里,x是一个随机变量平均值为0,方差为1。
在生成随机复数时,比如使用命令的时候randn(…,“喜欢”,1我)
,randn
遵守标准函数生成数据复杂的正态分布:
在这里,z是一个随机的复杂变量的实部和虚部是独立正态分布随机变量均值为0,方差1/2。
提示
产生的序列的数字
randn
是由内部设置统一的伪随机数发生器的基础兰德
,兰迪
,randn
。你可以控制共享随机数发生器使用rng
。
扩展功能
C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。
使用笔记和限制:
数据类型(类)必须是一个内置的MATLAB®数字类型。对于其他类,静态的
randn
方法不调用。例如,randn(深圳,“myclass”)
不调用myclass.randn(深圳)
。必须有一个固定大小的尺寸参数。
看到适应限制工具箱函数的代码生成(MATLAB编码器)。
如果启用了外在的电话
randn
不是从内部调用parfor
循环,生成的墨西哥人文件使用相同的随机数作为MATLAB在串行代码状态。否则,生成的墨西哥人代码和独立的代码维护自己的随机数状态初始化状态的MATLAB。
线程环境
在后台运行代码使用MATLAB®backgroundPool
与并行计算工具箱™或加速代码ThreadPool
。
这个函数完全支持线程的环境。金宝app有关更多信息,请参见MATLAB函数线程环境中运行。
GPU数组
加速代码运行在一个图形处理单元(GPU)使用并行计算工具箱™。
使用笔记和限制:
流的语法
randn (
不支持GPU。金宝app年代
___)您可以指定
typename
作为“gpuArray”
。如果您指定typename
作为“gpuArray”
,默认的基本类型的数组双
。创建一个GPU与基本类型数组
数据类型
,指定底层类型作为一个额外的参数typename
。例如,X = randn(3、数据类型、“gpuArray”)
3×3的GPU的随机数数组创建一个基本类型数据类型
。您可以指定底层类型
数据类型
这些选项之一:“双”
“单一”
您还可以指定数值变量
p
作为一个gpuArray
。如果您指定
p
作为一个gpuArray
,底层类型返回的数组是一样的p
。
有关更多信息,请参见运行在GPU MATLAB函数(并行计算工具箱)。
分布式阵列
分区大数组在内存使用并行计算集群的工具箱相结合™。
使用笔记和限制:
流的语法
randn (
不支持金宝app年代
___)codistributed
或分布式
数组。您可以指定
typename
作为“codistributed”
或“分布式”
。如果您指定typename
作为“codistributed”
或“分布式”
,默认的基本类型返回的数组双
。创建一个分布式或codistributed与基本类型数组
数据类型
,指定底层类型作为一个额外的参数typename
。例如,X = randn(3、数据类型、“分布式”)
创建一个3×3分布式矩阵随机数的基本类型数据类型
。您可以指定底层类型
数据类型
这些选项之一:“双”
“单一”
您还可以指定
p
作为一个codistributed
或分布式
数组中。如果您指定
p
作为一个codistributed
或分布式
数组,返回的数组的基本类型是一样的p
。额外的
codistributed
语法,看randn (codistributed)
(并行计算工具箱)。
有关更多信息,请参见运行MATLAB函数与分布式阵列(并行计算工具箱)。
版本历史
之前介绍过的R2006aR2022a:匹配的复杂性与“喜欢”
,并使用“喜欢”
与RandStream
对象
的“喜欢”
输入数组支持金宝app真正的和复杂的原型。例如:
r = randn(2, 2,“喜欢”,1我)
r = 0.3802 + 1.2968我0.2254 - 0.9247 -1.5972 -0.3066 + 0.2423 + 0.6096我
所有的语法都支持这个特性。金宝app另外,您现在可以使用“喜欢”
与一个RandStream
对象的第一个输入randn
。
R2014a:与现有的变量的数据类型“喜欢”
生成随机数与现有相同数据类型作为变量,使用语法randn(__,“喜欢”,p)
。例如:
一个=(π);r = randn(4 4 '像',1);类(r)
ans =单
当通过此功能不可用RandStream
对象作为第一个输入randn
。
R2013b:不支持非整数大小输入金宝app
指定一个维度不是整数导致一个错误。使用地板上
将非整数大小输入整数。
R2008b:“种子”
,“状态”
,“旋风”
输入不推荐
没有计划删除这些输入,控制基础的随机数发生器兰德
,兰迪
和randn
。然而,rng
函数是推荐而不是这些原因:
的
“种子”
和“状态”
发电机是有缺陷的。条款
“种子”
和“状态”
发电机是带有误导性的名字。“种子”
指的是MATLAB v4发电机,而不是种子的初始化值。“状态”
指的是v5发电机,发电机的内部状态。这三个输入不必要地使用不同的发电机
兰德
和randn
。
更新你的代码的信息,请参阅取代气馁rand的语法和randn。
Apri esempio
如果dispone di una versione modificata di questo esempio。Desideri aprire questo esempio con le modifiche星期二吗?
第一MATLAB
海脂肪clic苏联合国collegamento切corrisponde questo第一MATLAB:
Esegui il第一inserendolo所以nella隙缝di第一MATLAB。我浏览器web非supportano金宝app comandi MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。