我在 Matlab 中遇到索引问题。假设我有一个 m 维数组 A,其中 m 取决于问题。
假设我有带有索引的向量
x = [i2, ..., im]
我想获取向量
A(:, i_2, ..., i_m)
。如果 m 在所有情况下都是恒定的,那么这并不困难。你可以直接说
i_j = x(j), j = 2, ..., m
。是否可以在没有 if 循环的情况下做到这一点 (所以不用说“if m == 2 then .. if m == 3 then ...”等等)?
感谢您的帮助
最佳答案
可以轻松地将 x
转换为元胞数组并生成 comma-separated list由此而来:
A = rand(3,3,3,3,3); % example A
x = [2 1 3 2]; % example x
ind = num2cell(x);
result = A(:, ind{:});
关于arrays - 在 Matlab 中索引 m 维数组(m 不是常数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47269209/