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

6 Ansichten (letzte 30 Tage)
RK
RK am 31 Jan. 2022
Kommentiert: RK am 1 Feb. 2022
下記手順のアプリを検討しています。
データを読み込み条件に合わせた区間を算出するアプリです。
①ファイルを読み込み
②読み込んだファイルの該当箇所の算出
➂算出結果に対し追加計算
[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));
対処法などあれば教えていただけますと幸いです。

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu App Designer を使用したアプリ開発 finden Sie in Help Center und File Exchange

Produkte


Version

R2021a

Community Treasure Hunt

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

Start Hunting!