選択リスト(プルダウ​ン)で任意の選択肢を​選択状態にさせる方法

matlab 2018aを使用し、matlab guiにてツールを作っています。 選択リスト(プルダウン)には選択肢が100~500まであり、初期表示時に400が 選択された状態にしたいです。 そこで以下のコードを書いたのですが 変数str_listがcell型の配列のため index = find(str_list == num2str(value)); の部分でエラーになってしまいます。 str_list = ['100', '200', '300', '400', '500'] という形式にしたいのですがどのようにすればよいでしょうか。 cell2mat(str_list)では欲しい形式にはなりませんでした。
% code
value = '400';
str_list = get(findobj(form, 'Tag', 'pulldown'), 'String');
index = find(str_list == num2str(value));
set(findobj(form, 'Tag', 'pulldown'), 'Value', index);

 Accepted Answer

Kazuya
Kazuya on 4 Nov 2018

0 votes

こちらも実行して試せる簡易なコードがあれば回答しやすいのですが・・。 cell型の変数の中身の値をチェックするのであれば、cellfun はどうでしょうか?
C = {'100','200','300'};
cellfun(@(x) strcmp(x,num2str(100)), C)
ans =
1×3 logical 配列
1 0 0
それから char の比較は strcmp がお勧めです。

1 Comment

yuuji yamada
yuuji yamada on 8 Nov 2018
提示いただいた方法で解決いたしました。 ありがとうございました。

Sign in to comment.

More Answers (0)

Categories

Products

Release

R2018a

Community Treasure Hunt

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

Start Hunting!