select a row in a matrix based on jump in value
1 回表示 (過去 30 日間)
古いコメントを表示
I have a matrix of data. 9 columns and 5000 rows. The columns represent time series data.
The third column is a variable that comes alive asynchronously. It is an output from a variable that is sampled less frequently than all the others.
I want to keep only those complete rows where this variable changes value.
In practice, the slowly sampled variable is a lab analyser which keeps outputting analogue concentration values which change infrequently. The other variables are temperature readings from an experiment.
Thanks for the help
1 件のコメント
Sriram Tadavarty
2020 年 3 月 24 日
Just to get the clarification, you wanted the rows in which third column is alive?
採用された回答
Ameer Hamza
2020 年 3 月 24 日
Try this. Here M is your 5000*9 matrix
idx = [true; diff(M(:,3)) ~=0];
M = M(idx, :);
2 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!