1

Matlabでデータ分析を行っていますが、2つの列があります。find(column1> 0)を使用して、データセットの最初の列の正の値を検索しています。ここで、(column1、column2)をプロットしたいのですが、サイズが同じではないため、もちろん不可能です。質問:

column1の正の値に対応するcolumn2の値を取得するにはどうすればよいですか?たとえば、行17と行42の列1に正の値がある場合、列2の行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 に答える