Matlab 创建三维矩阵,第三维为随机分布

Matlab 创建三维矩阵,第三维为随机分布,matlab,matrix,random,3d,distribution,Matlab,Matrix,Random,3d,Distribution,我试图在MATLAB中创建一个3D矩阵(比如,x,y,z)。x和y维度表示2D位置(可通过索引x和y寻址),z应表示包含正态分布随机数的向量 例如,如果我要提取向量(3,5,z),它将给出位置(3,5)处z维中的所有随机值。x和y的尺寸应为100,z的尺寸应为1000。您可以执行以下操作: z = 1:1000; A = rand(100, 100, numel(z)); rvec = reshape(A(3, 5, z), [numel(z), 1]); 这里,rvec是您要查找的随机向量。

我试图在MATLAB中创建一个3D矩阵(比如,x,y,z)。x和y维度表示2D位置(可通过索引x和y寻址),z应表示包含正态分布随机数的向量


例如,如果我要提取向量(3,5,z),它将给出位置(3,5)处z维中的所有随机值。x和y的尺寸应为100,z的尺寸应为1000。

您可以执行以下操作:

z = 1:1000;
A = rand(100, 100, numel(z));
rvec = reshape(A(3, 5, z), [numel(z), 1]);

这里,rvec是您要查找的随机向量。

tmp=rand(1001001000)怎么样。执行类似于
nums=tmp(3,5,:)
的操作将返回一个1 x 1 x 1000的矩阵,您可以对其执行
压缩
,以减少额外的维度,您的问题与“我想要一个大小为[x y z]的随机矩阵”有什么不同?定义
x
y
有什么意义?你为什么不直接做A=rand(1001001000)??看起来很浪费你不觉得吗?同意。编辑出来。