Execute a group of 'if' statements in random order

1 view (last 30 days)
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

Accepted Answer

Walter Roberson
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

More Answers (0)

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!