matlab - 从给定坐标列表的数组中提取值列表
问题描述
我有一个大的二维矩阵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 矩阵。我非常不确定它与“协调”的关系。
解决方案
另一种方式:
A(sub2ind(size(A), coord(:, 1), coord(:, 2)))
推荐阅读
- ios - 如何将 pod 发布到 jfrog Artifactory?
- swift - 禁用 Swift UIAlertController 按钮,直到输入验证
- tfs - 数据库项目上的新文件 (.sql) 未自动添加到 tfs
- azure - Azure - 从大于 4TB 的 VHD blob 创建磁盘
- angular - 我想为使用 TypeScript 创建的所有对象或引用创建扩展方法
- python - 如何在 txt 文件中选择某个字符串并将其列在 csv 文件中?
- android - 在图像视图的中心固定占位符
- c# - 添加斜杠 C# 等效项
- android - 解析失败:Lorg/apache/http/client/methods/HttpPost
- python - 在 python 中创建代码以从列表中获取最频繁的标签和值对