arrays - 在 Matlab 中索引 m 维数组(m 不是常数)

标签 arrays matlab multidimensional-array

我在 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/

相关文章:

c - 在 C 中对二维字符串数组进行排序

c - 多维数组和指针数学

javascript - 在javascript(Angularjs)中将对象数组转换为单个对象

c++ - mex 编译给出 "there are no arguments to ... that depend on a template parameter"错误

matlab - 主 GUI 和子 GUI 之间的关系

Matlab多重索引

php - PHP中使用foreach循环的多维数组

javascript - 获取多选下拉框的选定元素

php - 我需要从 mysql 数据库中获取数据并将其放入 json 数组并将 json 数组用于文本框自动完成

javascript - ES6实现这个功能?