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 commentaires

Oleg Komarov
Oleg Komarov le 3 Juin 2011
Depends on what is event...
nsbd
nsbd le 3 Juin 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

Connectez-vous pour commenter.

 Réponse acceptée

Sean de Wolski
Sean de Wolski le 3 Juin 2011

1 vote

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 commentaires

nsbd
nsbd le 3 Juin 2011
Thks but I can't :(
Sean de Wolski
Sean de Wolski le 3 Juin 2011
What's the point of this? You already know answer, why not just display it?
nsbd
nsbd le 3 Juin 2011
D is {1}.... I will use , set(handles.variable,'string',A{3});

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by