Vectorization of For-If combination
Show older comments
Requesting guidance on the proper vectorization methods for combinations of if statements within for loops. An example of the format referenced is included below. Code is utilizing a painful combination of if statements nested within for loops and appropriate vectorization is the only way in which this will run efficiency
X = zeros(1000,1)
C = 1:10
for A = 1:10
for B = 1:10
if C = 1
X(A*B*C) = 1;
elseif C = 2
X(A*B*C) = 2;
else
X(A*B*C) = 3;
end
end
end
2 Comments
David Hill
on 25 Jul 2020
Your code does not make sense. C is an array that does not change, your code will only execute the else statement.
X = zeros(1000,1)
C = 1:10
for A = 1:10
for B = 1:10
if C == 1%need == for comparison, this is always false
X(A*B*C) = 1;
elseif C == 2%comparison C= [1 2 3 4 5 6 7 8 9 10], this will be false
X(A*B*C) = 2;
else
X(A*B*C) = 3;%this will execute but X(1:10)=3 for for loop
end
end
end
MAB2020
on 25 Jul 2020
Accepted Answer
More Answers (0)
Categories
Find more on Programming 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!