首页 > 解决方案 > 从给定坐标列表的数组中提取值列表

问题描述

我有一个大的二维矩阵A(8192x10201)和一个坐标列表coord(3622x2)。我试图在每个索引处找到数组的值并将其放入一维列表中。

我可以使用以下for循环,但我想知道是否有更优雅的解决方案。

data = [];
for ii = 1:numel(coord(:,1))
    data = [data; A(coord(ii,1), coord(ii,2)];
end

编辑:我测试过的东西:

1.data = A(coord)

data是一个 3622x2 矩阵。我不确定 中的值data与 中的坐标有何关系coord

2.data = A(coord(:,1), coord(:,2))

data是 3622x3622 矩阵。我非常不确定它与“协调”的关系。

标签: matlabmatrixcoordinate

解决方案


另一种方式:

A(sub2ind(size(A), coord(:, 1), coord(:, 2)))

推荐阅读