我想从矩阵的每一行中得到一个不同的列.例如:
A = [1,2;1,4;5,2]
B = [2;2;1]
Run Code Online (Sandbox Code Playgroud)
输出应该产生:
out = [2;4;5]
Run Code Online (Sandbox Code Playgroud)
所以简而言之:A
是矩阵,并且B
每行的列数都有索引.如何在不使用循环的情况下执行此操作(如果可能)?
您可以使用sub2ind将(i,j)索引转换为矩阵A中的线性索引
idx = sub2ind(size(A), 1:size(A, 1), B');
A(idx)
ans =
2 4 5
Run Code Online (Sandbox Code Playgroud)
假设向量B具有与A中的行一样多的条目.在上面,sub2ind为每对后续行号(1:size(A,1))和B中给出的列号生成线性索引.
归档时间: |
|
查看次数: |
2793 次 |
最近记录: |