Execute a group of 'if' statements in random order

2 次查看(过去 30 天)
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

采纳的回答

Walter Roberson
Walter Roberson 2016-7-12
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 个)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by