execution of for loops on specific numbers

k=[3 8 10 12]
i wanted to execute above mentioned indexes in for loop something like this
for i=[3 8 10 12]
if i==3
do stuff
end
if i==10
do stuff
.
.
.
if i==12
do stuff
end
end
i don't know vector k elements before hand.

3 Comments

I don't fully understand the question. Something like
k=[3 8 10 12];
for cnt=k
if k==k(1)
%do something 1
elseif k==k(2)
%do something 2
elseif k==k(3)
%do something 3
elseif k==k(4)
%do something 4
end
end
is the same as
do something 1
do something 2
do something 3
do something 4
which is obviously a bit shorter. Could you please show what exactly you want?
@Michael, yes it's the same for a hardcoded k, but if k is an input to the function, then it's not:
k = randi(3, 1, 5);
for action = k
switch action
case 1
disp('do action 1');
case 2
disp('do action 2');
case 3
disp('do action 3');
end
end
Like you though, I've no idea what Raghavendra is asking.
i think he has already got the answer through other post.

Sign in to comment.

Answers (0)

Categories

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

Asked:

on 11 May 2015

Commented:

on 11 May 2015

Community Treasure Hunt

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

Start Hunting!