しきい値100から行​を遡り、10以上とな​ったframeを特定​する

2 visualizaciones (últimos 30 días)
Shogo
Shogo el 26 de Ag. de 2020
Comentada: Shogo el 28 de Ag. de 2020
大変お世話になります。
しきい値100から行を遡り、10以上となったframeを特定したく、
以下のコードを作成してみたのですが、上手くいきませんでした。何か良きアイディアがあれば教えて頂ければ幸いです。
A = GRFy>=100; % 100N以上を列ベクトルにする
Data = find(~A_exceed_100N)  % 反転させる?
[~,idxA] = min(Data)
以下の方法で立ち上がり位置を特定しようとしています。
①列ベクトルABCが以下のようにあるとする
②しきい値100とする
③100に到達したframeから行を遡り、10以上となったframeを特定する
(この場合、10.9)
Data =
0
0
0
15
16
10
0
0
0
9.2
10.9
12.2
13.6
15.1
16.6
18.3
20.155053
98.312417
103.010992

Respuesta aceptada

Shunichi Kusano
Shunichi Kusano el 27 de Ag. de 2020
いろんなやり方がありそうですが、素直にやるとこんな感じになるかと思います。
  1. 100を超えた位置を検出
  2. 10を超えた位置を検出
  3. 2の中から1に一番近いものを検出
% N以上となった位置のインデックスを取得
idx100 = idx_go_over_N(Data, 100) % 100以上
idx10 = idx_go_over_N(Data, 10) % 10以上
% 距離を計算
dist = idx100 - idx10;
dist(dist<0) = 100; % idx100以上のものは検知しないよう大きい値に置換
[~,mini] = min(dist); % idx100に一番近いidx10を抽出
idx10_100 = idx10(mini); % 元データでのインデックスに振りなおす
Data(idx10_100) % 10.9
function idx = idx_go_over_N(array,N)
b = array > N;
diff_b = [0; diff(b)] == 1;
idx = find(diff_b);
end
  1 comentario
Shogo
Shogo el 28 de Ag. de 2020
Kusano様
サンプルコードを作成して頂きありがとうございます!
また大変わかりやすくご説明して頂き重ねて感謝申し上げます!
こちらを素に作成作させて頂きます。

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre 伝播とチャネル モデル en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!