【App designer】あ​​る区間のデータから​、該当する区間の回数​を記録するアプリの作​成に​ついて

2 views (last 30 days)
RK
RK on 25 Jan 2022
Commented: RK on 27 Jan 2022
下記のアプリを作成しています。
①下記のようなデータファイル(プログラム中 app.data)を読み込み
②データの1列目において、値が1以上立ち上がる前の位置から、
 データの2列目において、値が1以上になる位置までの行数を計算
③データの全てにおいて、②を行い、平均の行数(プログラム中 ans)を算出(下記の場合、6.5行となる)
そこで、下記のようなプログラムを検討しています。
df = diff(app.data(:, 1));
idx = find(df >= 1, inf, 'first');
rows = zeros(1, numel(idx));
for n = 1:numel(idx)
checkFlag = find(app.data(idx(n):end, 2) >= 1, 1, 'first');
if isempty(checkFlag)
checkFlag = 0;
end
rows(1, n) = checkFlag;
end
ans = mean(rows)
上記に加え、該当する区間の回数をカウントするような処理を追加したいと考えています。
size関数などを使用することで、上記に追加する形で、修正は可能でしょうか。
よろしくお願いいたします。

Accepted Answer

Atsushi Ueno
Atsushi Ueno on 25 Jan 2022
1列目の開始地点(n番目)から数えて2列目に終了地点が見つからない場合(isempty(checkFlag))は、以降のrows(1, n)=0に設定するので、rowsの非ゼロ要素をカウントすれば目的の値が得られます。
numel(find(rows))
  4 Comments
RK
RK on 27 Jan 2022
丁寧にご対応いただきありがとうございます。
上記、理解いたしました。

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!