Question is Unknown :)

1 view (last 30 days)
nsbd
nsbd on 3 Jun 2011
Hi guys.
"
D=importdata('data 1.xls');
% (D= '11'
'12'
'13'
'14'
'15'
'16'
....
...
..
. )
if answer == D{1}
%event
elseif answer == D{2}
%event
elseif answer == D{3}
%event
elseif answer == D{4}
%event
...
...
elseif anser == D{n}
%event
end
hard to write by hand is too long
how do i write this shorter? or did can be done?
  2 Comments
Oleg Komarov
Oleg Komarov on 3 Jun 2011
Depends on what is event...
nsbd
nsbd on 3 Jun 2011
anything....Sample;
if answer == D{1}
disp(A{1})
elseif answer == D{2}
disp(A{2})
.....
...
elseif answer == D{n}
disp(A{n})
end

Sign in to comment.

Accepted Answer

Sean de Wolski
Sean de Wolski on 3 Jun 2011
Define your event to take in the index, e.g:
function event(val,idx);
%do stuff with val,idx
end
Then call it with:
idx = find(cellfun(@(c)c==answer,D),1,'first');
event(D{idx},idx);
EDIT per comment:
idx = find(cellfun(@(c)c==answer,D),1,'first');
disp(D{idx})
  3 Comments
Sean de Wolski
Sean de Wolski on 3 Jun 2011
What's the point of this? You already know answer, why not just display it?
nsbd
nsbd on 3 Jun 2011
D is {1}.... I will use , set(handles.variable,'string',A{3});

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!