switch function case{name}
조회 수: 3 (최근 30일)
이전 댓글 표시
Hi folk, Please, is there any way to give a case a name instead of number and then call the case by clicking its name on command window. I mean showing all the cases name on the command window ( like an active name) so when we click on it, it will be input, all this to avoid typing the case name.
Material=input(Please Enter ...) switch Material case{name1}.... case{2}.... case{3}.... end
댓글 수: 0
답변 (3개)
Harshit
2012년 11월 20일
Here is an example from mathworks
% x = [12, 64, 24];
plottype = 'pie3';
switch plottype
case 'bar'
bar(x)
title('Bar Graph')
case {'pie','pie3'}
pie3(x)
title('Pie Chart')
legend('First','Second','Third')
otherwise
warning('Unexpected plot type. No plot created.');
end
댓글 수: 2
Matt Fig
2012년 11월 20일
편집: Matt Fig
2012년 11월 20일
This might be a case where a little pushbutton input GUI would be of service. For exmaple, save this as gui_input then call it like this (you can pass only 2, 3, 4 or any number of strings):
T = gui_input({'Iron';'Copper';'Steel';'Lead';'Oxygen'})
Here is the function:
function [C] = gui_input(C)
% How to get inputs from pushbuttons.
S.fh = figure('name','Choose a Material',...
'menubar','none',...
'numbert','off',...
'pos',[100 100 300 300]);
LC = numel(C);
H = (300 - (LC+1)*20)/LC;
P = [10 10 280 H];
for ii = 1:LC
uicontrol('Style','push',...
'Units','pix',...
'Position',P + [0 (ii-1)*(H+20) 0 0],...
'CallBack',@callb,...
'String',C{ii});
end
movegui('center')
guidata(S.fh,S)
uiwait(S.fh)
try
S = guidata(S.fh);
C = S.C;
close(S.fh)
catch
C = [];
end
function [] = callb(varargin)
% Callback for the edit box 1
S = guidata(gcbf); % Get the structure.
S.C = get(gcbo,'string');
guidata(S.fh,S)
uiresume(S.fh)
댓글 수: 2
Jan
2012년 11월 25일
@Abdulaziz: Please explain the occurring problems with any details. We cannot suggest an improvement based on "cannot make it working".
참고 항목
카테고리
Help Center 및 File Exchange에서 Colormaps에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!