【App designer】エラー:'Value' は 'Limits' の範囲内の double のスカラーでなければなりません。 の発生
1 次查看(过去 30 天)
显示 更早的评论
下記手順のアプリを検討しています。
データを読み込み条件に合わせた区間を算出するアプリです。
①ファイルを読み込み
②読み込んだファイルの該当箇所の算出
➂算出結果に対し追加計算
[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));
対処法などあれば教えていただけますと幸いです。
0 个评论
采纳的回答
Akiko
2022-2-1
diff 関数への入力がスカラになることで、 df = [] になり、意図せぬ結果になっていることが考えられます。
デバッグ機能を利用して、値の変化などをご確認ください。
参考:MATLAB プログラムのデバッグ
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 App Designer を使用したアプリ開発 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!