How to use break/continue?
21 views (last 30 days)
Show older comments
Hi, I have the following matrices,
AT = [1 1 0 0 0 ; 0 0 1 1 0; 1 0 0 1 1]; % a 3*5 matrix
yHT = [1 ; 1 ; 0 ; 0 ; 1]; % a 5*1 array
I want to use loops to go through these two matrices and for each row of AT, for all elements that are 1, if the respective element on yHT is 1 too, return 1, if not, then return 0 (even if only 1 respective element on yHT is 0 it should return 0); and then repeat this for every row of AT. I tried the following loop but it I think I am using break or continue wrong or maybe my whole code is wrong. Can someone please help me?
for i = 1:3
counter = 0;
for j = 1:5
if AT(i,j) == 1
if yHT(j,1) == 1
counter = 1;
break
else
counter = 0;
continue
end
else
counter = 0;
continue
end
end
end
3 Comments
Answers (1)
Arjun
on 9 Oct 2024
I see that you want to understand the use of continue/break statement to implement your programming logic.
To implement the logic correctly, you should iterate through each row of the "AT" matrix and check the corresponding elements in the "yHT" vector. If all elements in "yHT" that correspond to the 1s in "AT" are also 1, then return 1 for that row; otherwise, return 0. You do not need to use "continue" at all. Instead, simply use "break" to exit the loop immediately if the condition fails for any element while analysing a row, as there is no need to check the entire row in such cases.
Kindly refer to the code below for better understanding:
% Initialize matrices
AT = [1 1 0 0 0; 0 0 1 1 0; 1 0 0 1 1];
yHT = [1; 1; 0; 0; 1];
result = zeros(size(AT, 1), 1);
for i = 1:size(AT, 1)
allOnesMatch = true;
for j = 1:size(AT, 2)
if AT(i, j) == 1
if yHT(j, 1) ~= 1
% If a corresponding element in yHT is not 1, set flag to false
allOnesMatch = false;
break; % No need to check further, this row fails the condition
end
end
end
if allOnesMatch
result(i) = 1;
else
result(i) = 0;
end
end
disp(result);
Kindly refer to the documentation of “break” and “continue” statements:
- break:https://www.mathworks.com/help/releases/R2022a/matlab/ref/break.html
- continue:https://www.mathworks.com/help/releases/R2022a/matlab/ref/continue.html
I hope this helps!
0 Comments
See Also
Categories
Find more on Loops and Conditional Statements 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!