【发布时间】:2015-09-06 17:03:05
【问题描述】:
我有一个尺寸为 7x4x24x10 的 4D 矩阵(我们称之为 main_mat)。我想得到一个大小为 7x4x24 (rand_mat) 的矩阵,以便这个 (rand_mat) 矩阵的每个元素实际上都是从主矩阵 (main_mat) 中均匀随机抽取的。如果我没有把问题说清楚,我很抱歉,所以我试着解释一下:
我有 24 张 7x4 元素的堆栈,我有 10 个这样的堆栈。我想要的是我得到一叠 24 张 7x4 元素的单叠,这样,从结果单叠中的每个元素都是从 10 叠中完全相同的纸张编号中均匀随机抽取的。不使用循环怎么办?
【问题讨论】:
-
您的问题对我来说仍然不是 100% 清楚。你想得到一个 7x4x24 矩阵,其中的数字从 7x4x24x10 矩阵中选择,这样 7x4x24 矩阵中的每个位置都只能是另一个矩阵中的 x10 之一?
-
没错。例如元素 (1,1,1) 只能在该位置可用的 10 个元素中,即它们只能来自 (1,1,1,randi(10)) 等等。
-
我试过这样的东西'k = datasample(j,1,4);'结果是它从 7x4 的一张纸中随机开始,然后所有剩余的 23 张纸都按顺序排列。我不知道我在这里做错了什么。
-
@AWAbid - 好的,我想我知道你想要什么。对于这个 7 x 4 x 24 矩阵中的每个位置,您想确保我们从 10 个堆栈中统一选择一个吗?例如,给定输出中的位置
(1,1,1),我们将从堆栈中随机选择(1,1,1,randi(10))? -
没错@rayryeng 谢谢你的理解。