8
A
回答
5
v = a(sub2ind(size(a), b, 1:length(b)))
sub2ind
将下标转换为单个索引。
0
要尝试的另一件事,保持非常接近您的描述,您可以使用arrayfun
函数。
首先定义一个函数,将值x
映射到期望的输出。
fn = @(x) a(b(x), x);
然后调用在所述的i
向量中的每个输入端,功能。
i = 1:3;
v = arrayfun(fn, i);
或者,这可以在一个单一的线来完成,以明显的方式:
v = arrayfun(@(x) a(b(x), x), 1:3);
这arrayfun
简直是简写以下循环:
for ixLoop = 1:3
v(ixLoop) = a(b(ixLoop),ixLoop);
end
的相关功能arrayfun
,cellfun
和structfun
具有类似的用途,并且奇怪地赋予权力。 This Joel article说服我是一个信徒。
相关问题
- 1. Matlab,如何比较行矩阵的每个元素与另一行矩阵的每个元素?
- 2. 给定2d矩阵找到元素的最小和,使得元素从每行和每列中选择一个?
- 3. 如何在MATLAB中为矩阵中的每列添加每列中的元素?
- 4. 如何使用Matlab中的布尔矩阵选择元素
- 5. 如何用MATLAB中的另一个矩阵替换矩阵的元素?
- 6. 从矩阵的每一行中删除一个元素,每个元素都在不同的列中
- 7. R一次从矩阵中选择特定元素
- 8. 如何从MATLAB中的第一个单元阵列中删除共同元素?
- 9. 从MATLAB中的矩阵中去除任意列中的元素
- 10. 在matlab单元阵列中选择第n个元素
- 11. Matlab:选择矩阵的一部分
- 12. 选择矩阵元素(矩阵语言)
- 13. 如何从有序列表中选择一个列表元素?
- 14. 在Matlab中对矩阵的每个元素应用函数
- 15. 在Matlab中选择一个矩阵的特定行
- 16. 如何从DL列表中选择任何一个元素
- 17. 如何从一个阵列中删除一个阵列的元素?
- 18. 在Matlab中重新排序矩阵的每一行中的离散元素
- 19. 2D阵列,其中每个元素是一个类元素
- 20. 如何将每行与sas中另一个矩阵元素的每行相乘?
- 21. 如何从R中的矩阵列表中删除每个矩阵中的列?
- 22. 从“三维向量矩阵”中的每个元素中减去一个向量
- 23. MatLab - 对矩阵中的每一行应用一个函数
- 24. 如何从列表中选择每第n个元素
- 25. Excel中选择一个值从阵列
- 26. 如何删除matlab中矩阵的最后n个元素?
- 27. Matlab:选择非连续的矩阵列
- 28. Matlab-选择矩阵中的特定值
- 29. 如何重复元素矩阵在MATLAB
- 30. 如何从矩阵中选择选择性指标基准列?