Filter löschen
Filter löschen

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

12 Ansichten (letzte 30 Tage)
RK
RK am 13 Jan. 2022
Kommentiert: RK am 14 Jan. 2022
MATLABアプリを作成しています。
下図のようなデータの2列目において、
2行目から3行目にかけて値が変化しているとします。
この2行目という位置を算出することは可能でしょうか。
具体的には、
閾値を2とした場合、2行目から3行目にかけて、2→0へと変化⇒閾値2より変化したため、変化前の行数を記録 のような感じです。
よろしくお願いいたします。

Akzeptierte Antwort

Atsushi Ueno
Atsushi Ueno am 13 Jan. 2022
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 Kommentare
Atsushi Ueno
Atsushi Ueno am 13 Jan. 2022
Bearbeitet: Atsushi Ueno am 13 Jan. 2022
変化(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 am 14 Jan. 2022
上記、理解出来ました。
ありがとうございました。

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu GUIDE アプリの移行 finden Sie in Help Center und File Exchange

Produkte


Version

R2021a

Community Treasure Hunt

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

Start Hunting!