【发布时间】:2016-11-21 22:24:28
【问题描述】:
我有一个包含 x、y、z 坐标和密度的 4 列二维矩阵。所有 XYZ 都被强制为最近的 500m 值。我想收集所有唯一 XYZ 组合的所有行索引。
所以,我想对于一个 m x 4 的密度矩阵,我应该建立一个 m x n 矩阵,每行包含 1 和 0,以表示它们与密度行的关系。然后,我可以隔离函数的唯一 XYZ 的所有值(即:平均值或中值)。
我使用了 unique(dd(:,1:3, 'rows') 来获取唯一的 XYZ。我可以使用 ismember() 来查找唯一的 XYZ 行。我将如何为所有行运行它唯一的 XYZ 来生成那个 mxn 矩阵,没有 for 循环?
【问题讨论】:
-
这是什么意思?“我应该建立一个 m x n 矩阵,每行包含 1 和 0 以表示它们与密度行的关系”。如果您可以提供一个您实际正在寻找的示例,那么人们会更容易为您提供帮助!
-
KiW - 因为 ismember() 返回一个逻辑向量,指示哪一行具有查询值,我想我需要通过为每个查询值添加一个向量作为一行来构造一个矩阵。然后我可以将该矩阵乘以密度列,以获得总和的列向量。有点看起来丹对我进行了分类。感谢您的提问。
标签: matlab for-loop find unique