【App designer】エラー:'Value' は 'Limits' の範囲内の double のスカラーでなければなりません。 の発生

4 ビュー (過去 30 日間)
RK
RK 2022 年 1 月 31 日
コメント済み: RK 2022 年 2 月 1 日
下記手順のアプリを検討しています。
データを読み込み条件に合わせた区間を算出するアプリです。
①ファイルを読み込み
②読み込んだファイルの該当箇所の算出
➂算出結果に対し追加計算
[file,path]=uigetfile('*.csv;*.xlsx;*.xls'); %➀ファイルを読み込み
df = diff(app.data(:, app.Spinner.Value));%➁読み込んだファイルの該当箇所の算出
idx = find(df >= app.Spinner2.Value, inf, 'first') ;
rows = zeros(1, numel(idx));
pos = 1;
for n=1: numel(idx)
checkFlag = find(app.data(idx(n):end, app.Spinner3.Value) >= app.Spinner4.Value, 1, 'first') ;
if ~isempty(checkFlag) && (idx(n) > pos)
rows(1, n) = checkFlag;
pos = idx(n) + checkFlag - 1;
end
end
ans = mean(rows(rows~=0));
app.ans.Value = ans*2.0; %➂算出結果に対し追加計算
上記だと上手くいくのですが、
2行目を下記の通り変更(読み取る行を変更)すると掲題のアラームが発生します。
df = diff(app.data(:, app.Spinner.Value));⇒df = diff(app.data(app.Spinner5.Value, app.Spinner.Value));
対処法などあれば教えていただけますと幸いです。

採用された回答

Akiko
Akiko 2022 年 2 月 1 日
diff 関数への入力がスカラになることで、 df = [] になり、意図せぬ結果になっていることが考えられます。
デバッグ機能を利用して、値の変化などをご確認ください。
参考:MATLAB プログラムのデバッグ
  1 件のコメント
RK
RK 2022 年 2 月 1 日
ありがとうございます。
上記、活用いたします。

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File Exchangeウィンドウ についてさらに検索

製品


リリース

R2021a

Community Treasure Hunt

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

Start Hunting!