1

我在Matlab中进行数据分析,我有两列。我正在使用 find(column1>0) 来查找数据集中第一列的正值。现在,我想绘制(column1,column2),但这当然是不可能的,因为大小不一样。问题:

如何为 column1 中的正值获取 column2 中的相应值?比如,如果第 17 行和第 42 行在 column1 中具有正值,我如何在 column2 中找到第 17 行和第 42 行的值?

4

1 回答 1

2

您正在做的事情的术语是索引。您可以使用find,它会生成线性索引,但在这种情况下您不应该这样做。逻辑索引更合适。

index = column1 > 0; #% creates a logical index with true where the  
#% condition is satisfied and false otherwise.

values1 = column1(index);
values2 = column2(index);
#% values1 and values2 will be the same size, since they were indexed the same

plot(values1,values2); #% or however you want to do it.
于 2012-12-03T00:12:49.480 回答