How to make conditional calculation?
古いコメントを表示
I have two vectors, contained in matrix M, each with a dimension of 1000 by 1. Each vector contains integer numbers. The values in one vector (call it vector two) is generated in way that it depends on the values in the other vector (call it vector one). I want to calculate the variance of the numbers in vector two if the values are below a certain threshold in vector one. I try to use the code below, but it returns nothing. Where am I making the mistake?
if M(:,1) < 0
var(M(:,2))
end
採用された回答
その他の回答 (1 件)
Walter Roberson
2018 年 2 月 24 日
if M(:,1) < 0
means the same thing as
if all(M(:,1) < 0)
which is probably not true.
Look up "logical indexing"
2 件のコメント
Snoopy
2018 年 2 月 24 日
Walter Roberson
2018 年 2 月 24 日
That is one approach, but it is more efficient to use logical indexing. https://www.mathworks.com/help/matlab/math/matrix-indexing.html#bq7egb6-1
カテゴリ
ヘルプ センター および File Exchange で Matrix Indexing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!