【App Designer】あ​る区間のデータ数を記​録するアプリの作成に​ついて

3 views (last 30 days)
RK
RK on 7 Jan 2022
Commented: RK on 14 Jan 2022
MATLAB初心者です。
データ処理用のアプリとして、ある区間のデータ数を記録するアプリの作成を検討しています。
仕様としては、記録の開始と終了のトリガを、値の変化にしたいと考えています。
具体的な内容としては、
下記の図のようなデータを読み込んだ場合、1列目の4行目に0から1(値の変化)となるため記録を開始し、
2列目の10行目に値が5(閾値を任意に設定)になるから記録終了とする。
よって、4行目~10行目の7列分となる(この場合、7という数値が出れば問題ありません。)
となるような計算を行うアプリの作成は可能でしょうか。
素人質問で恐縮ですが、ご教授の程よろしくお願いいたします。
  2 Comments
Kojiro Saito
Kojiro Saito on 11 Jan 2022
はい、このような計算を行うアプリは可能ですが、ご質問はApp DesignerでGUIアプリを作らなくてもmスクリプトだけでできてしまう内容になります。
既にGUIアプリでデータを読み込む部分を作成されていますか?
RK
RK on 11 Jan 2022
Edited: RK on 11 Jan 2022
使用環境の都合、アプリでの作成を検討しています。
データを読み込む部分は、下記のコードをコールバックしたボタンで対応予定です。
しかし、肝心の計算部分が手つかずの状態です。
詳しい手順は下記を検討中です。
①ファイルを読み込む(下記のコード)
②開始、及び終了のトリガとなる値を設定(スピナーや手動入力するボックスを用意)
③かかったセル数をボックスに表示(最終的にはセル数×データの分解脳=実際の時間の表示を検討します)
以上、お手数をおかけしますが、アドバイスいただけますと幸いです。よろしくお願いいたします。
[file,path]=uigetfile('*.csv;*.xlsx;*.xls');
[app.data]=readmatrix(fullfile(path,file));

Sign in to comment.

Accepted Answer

Kojiro Saito
Kojiro Saito on 11 Jan 2022
「== 演算子」と関数find の組み合わせで実現できそうです。
スピナーを2つ置いて、StartSpinnerの値が1列目の開始値のトリガー、EndSpinnerの値が2列目の終了値のトリガーになるようにしたサンプル(.mlappファイル)を添付します。
  10 Comments
Kojiro Saito
Kojiro Saito on 14 Jan 2022
rows がベクトルなので、mean は要素の平均値を返します。
例えば rowsが[3 3 4]のとき、平均値は3.333になります。
rows = [3 3 4];
mean(rows)
ans = 3.3333
app.CalcTime.Valueの値も3.333になりますが、もし違っていたら最初の質問からズレてきているので新規質問としたほうが良いと思います。
RK
RK on 14 Jan 2022
ありがとうございます。
承知いたしました。
上記、確認し不明点があれば新規質問といたします。
ご対応いただきありがとうございました。

Sign in to comment.

More Answers (0)

Categories

Find more on App Designer を使用したアプリ開発 in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!