【App designer】測定データの該当区間のみグラフ化するアプリ
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
下記のアプリを検討しています。
①ファイル(添付画像)を読み込み
②該当箇所を判定(画像でいう赤枠箇所)
③最初の区間の範囲(画像でいう2~5行目)でのみグラフを作成
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/879505/image.jpeg)
df = diff(app.data(:, 1));
idx = find(df >= 1, inf, 'first');
rows = zeros(1, numel(idx));
pos = 1;
for n = 1:numel(idx)
checkFlag = find(app.data(idx(n):end, 2) >= 1, 1, 'first');
if ~isempty(checkFlag) && (idx(n) > pos)
rows(1, n) = checkFlag;
pos = idx(n) + checkFlag - 1;
end
end
なお、グラフの作成は赤枠内のデータをY軸とし、X軸はこのY軸をもとに作成したいと考えています。
下記のようなイメージです。
また、以前同様の質問をしまして、下記のような回答をいただいています。
Y1 = [0 1 1 1 ]; %最初の該当区間となるデータを読み込み
Y2 = [0 0 0 1 ];
X = [0 0 0 1 ]; %該当区間のはじめを基準に幅2となるX軸データを作成
plot(app.UIAxes,x,y1,y2);
上記③の方法について、ご教授いただけますと幸いです。
よろしくお願いいたします。
0 Kommentare
Akzeptierte Antwort
Naoya
am 3 Feb. 2022
信号の立ち上がり/立下りの探索は、Signal Processing Toolbox があればそれぞれrisetime/ falltime で求めることができます。
これらの機能を使用して、信号列に対して最初の立ち上がり->立下り区間のみを描画するフローとしては以下例が考えられます。
% 添付画像に対応するデータの作成
data = [0 0 1 1 1 0 0 0 1 1 1 1 1 1 1 1
0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1]';
% 立ち上がり時間,立下り時間を探索
[~,rt] = risetime(data(:,1));
[~,~,ft] = falltime(data(:,1));
% 立ち上がり時間,立下り時間に対してround処理
rt = round(rt);
ft = round(ft);
% 最初の立ち上がり<->立下り区間に対してプロット描画
plot(rt(1):ft(1), data(rt(1):ft(1),1), rt(1):ft(1), data(rt(1):ft(1),2) )
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu App Designer を使用したアプリ開発 finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!