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. 如何從矩陣中選擇選擇性指標基準列?