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

3 visualizzazioni (ultimi 30 giorni)
RK
RK il 31 Gen 2022
Commentato: RK il 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));
対処法などあれば教えていただけますと幸いです。

Risposta accettata

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

Accedi per commentare.

Più risposte (0)

Prodotti


Release

R2021a

Community Treasure Hunt

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

Start Hunting!