Execute a group of 'if' statements in random order
1 view (last 30 days)
Show older comments
MANISH KUMAR
on 12 Jul 2016
Answered: Walter Roberson
on 12 Jul 2016
Suppose if we have few 'if' statements and I want these to be executed in random order. For example, here are given five 'if' statements one for each row of a matrix. In random execution, any 'if' statement may execute first and similarly rest functions.
X is a random matrix of order 5*10
if any(X(1,:))
X([4 5],:)=0;
end
if any(X(2,:))
X(4,:)=0;
end
if any(X(3,:))
X(5,:)=0;
end
if any(X(4,:))
X(2,:)=0;
end
if any(X(5,:))
X([1 3],:)=0;
end
0 Comments
Accepted Answer
Walter Roberson
on 12 Jul 2016
order_to_use = randperm(NumberOfConditions);
for idx = 1 : length(order_to_use)
switch order_to_use(idx)
case 1: if any(X(1,:)); X([4 5],:)=0; end
case 2: if any(X(2,:)); X(4,:)=0; end
...
end
end
0 Comments
More Answers (0)
See Also
Categories
Find more on Creating and Concatenating Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!