【发布时间】:2016-07-26 15:14:07
【问题描述】:
我正在尝试用向量减少多维矩阵。
假设矩阵 A 为 1000 x 10 x 100。 向量 b 可以是 100 x 1,其中 100 个条目是 A 的第一个维度的一部分。A 的第一个维度的切片中总是有一个元素与 b 的每个元素匹配。
如何将矩阵简化为匹配向量?
我试过了
Ared= A[b,:,:]
但它不起作用。
此示例中的新矩阵应具有 100 x 10 x 100 的形式
有人有什么想法吗?
【问题讨论】:
-
在 A 的第一个维度中总是有一个元素与 b 的每个元素匹配。我不完全理解你的第二个问题。一般来说,我想创建一个与原始矩阵具有相同形状的新矩阵,但第一维被缩减为向量 b。
-
你的问题是模棱两可的,并且得到了两个相互矛盾但可能有效的答案,这取决于你真正想要的是什么;你能具体说明你想要什么吗?例如,如果“A”是
A = reshape(0.1:0.1:2.4, 3,4,2),b 是一个二元向量,你能举一个b和预期输出的例子吗?b是要用于选择A子范围的行索引向量吗? (例如b = [1;3])或者您是说“b 可以从A(1,:,:)(例如b = [0.4; 1.9])中的可用值中获取任意两个值?请澄清。 -
如果是前者,那就用我的回答。如果是后者,请使用迈克尔的答案。如果两者都不是,请用适当的例子重新表述并澄清您的问题。
-
第一个答案解决了我的问题,但第二个答案在一般情况下也很有帮助。非常感谢您的帮助。
-
很高兴您对它进行了排序。请将您认为正确的答案标记为已接受,以供将来的观众使用。 (我还是不确定你指的是哪一个,哈哈)