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

10 次查看(过去 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 CenterFile Exchange 中查找有关 GUIDE アプリの移行 的更多信息

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!