Using the listdlg function

23 ビュー (過去 30 日間)
callum hayes
callum hayes 2022 年 11 月 30 日
コメント済み: Walter Roberson 2022 年 12 月 3 日
I am using the listdlg function and using 'Multiple' so the user can select mulitple items. When using the 'if,elseif' or the 'case' statements, they wont work when selecting mutiple items. They will work however if i only select one item from the list. The case statement spits out the code 'SWITCH expression must be a scalar or a character vector' and the 'if' statement spits a vector when i am trying to plot multiple bar graphs.
Any help would be great thanks.
  2 件のコメント
Luca
Luca 2022 年 12 月 3 日
Same problem for me, the output is a vector but I dont know what to do with it. (Im still a newbie)
Walter Roberson
Walter Roberson 2022 年 12 月 3 日
Like @Les Beckham shows, loop over the values returned by listdlg()

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

採用された回答

Les Beckham
Les Beckham 2022 年 11 月 30 日
You probably just need to wrap your switch/case processing in a for loop. For example:
s = listdlg('ListString', {'One', 'Two', 'Three'});
for ii = 1:numel(s)
switch s(ii)
case 1
% do something
case 2
% do something different
case 3
% do something else
end
end

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

製品

Community Treasure Hunt

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

Start Hunting!

Translated by