【値の判別】データ内​の値が、閾値より変化​した場合の判別方法

15 ビュー (過去 30 日間)
RK
RK 2022 年 1 月 13 日
コメント済み: RK 2022 年 1 月 14 日
MATLABアプリを作成しています。
下図のようなデータの2列目において、
2行目から3行目にかけて値が変化しているとします。
この2行目という位置を算出することは可能でしょうか。
具体的には、
閾値を2とした場合、2行目から3行目にかけて、2→0へと変化⇒閾値2より変化したため、変化前の行数を記録 のような感じです。
よろしくお願いいたします。

採用された回答

Atsushi Ueno
Atsushi Ueno 2022 年 1 月 13 日
data = [0 1 2 3 4 5; 2 2 0 0 0 0]'
data = 6×2
0 2 1 2 2 0 3 0 4 0 5 0
find(diff(data(:,2))) % 2列目の変化がある箇所を検索する
ans = 2
  3 件のコメント
Atsushi Ueno
Atsushi Ueno 2022 年 1 月 13 日
編集済み: Atsushi Ueno 2022 年 1 月 13 日
変化(diff)の判断に幅を持たせる事も方向付けをする事も出来ます
data = [0 1 2 3 4 5 6 7 8 9; 2 2 0 0 1 0 2 2 0 0]
data = 2×10
0 1 2 3 4 5 6 7 8 9 2 2 0 0 1 0 2 2 0 0
df = diff(data(2,:))
df = 1×9
0 -2 0 1 -1 2 0 -2 0
find(df <= -2) % 幅2以上の立下りのみ抽出(2列目と8列目)
ans = 1×2
2 8
RK
RK 2022 年 1 月 14 日
上記、理解出来ました。
ありがとうございました。

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeGUIDE アプリの移行 についてさらに検索

製品


リリース

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!