3

我有一组数据。为简单起见,我们称其为 4 x 3 矩阵。假设我想在第 2 列中找到一个值为 5 的数据点。然后,我想在第 2 列中取出所有包含 5 值的行并将其放入自己的数组中。我的数据比下面显示的要大得多,所以我不想通过肉眼查看每一行数据并识别所有 5。

  % My idea of the code:

  data = [1 2 3 4; 5 5 5 6; 6 4 5 6]

  if data(:,2) == 5

  % This is the part I can't figure out

  end

让我们将 finaldata 称为数组,其中将存储 5 的数据。我该怎么做呢?

4

2 回答 2

6

您应该使用逻辑索引

all_fives_rows = data(data(:, 2) == 5, :)
于 2013-01-09T23:48:31.993 回答
0

您可以使用FIND函数来搜索该值,并返回坐标(它可能是一个向量)以检索行:

data(find (data(:,2)==5),:)

为什么不使用逻辑索引:性能

于 2013-01-09T23:41:39.020 回答