필터 지우기
필터 지우기

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

조회 수: 7 (최근 30일)
yuuji yamada
yuuji yamada 2018년 11월 1일
댓글: yuuji yamada 2018년 11월 8일
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);

채택된 답변

Kazuya
Kazuya 2018년 11월 4일
こちらも実行して試せる簡易なコードがあれば回答しやすいのですが・・。 cell型の変数の中身の値をチェックするのであれば、cellfun はどうでしょうか?
C = {'100','200','300'};
cellfun(@(x) strcmp(x,num2str(100)), C)
ans =
1×3 logical 配列
1 0 0
それから char の比較は strcmp がお勧めです。
  댓글 수: 1
yuuji yamada
yuuji yamada 2018년 11월 8일
提示いただいた方法で解決いたしました。 ありがとうございました。

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 cell 配列에 대해 자세히 알아보기

제품


릴리스

R2018a

Community Treasure Hunt

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

Start Hunting!