How to use nested loop to produce the row and columns like that

16 views (last 30 days)
Given a 2D array, called A, of size 5 x 5,
Sample Output: Given A = [2,4,8,7,3;2,2,3,4,3;5,5,4,2,7;8,2,7,3,9;1,2,3,4,5];
output:
2 4 8 7 3
2 2 3
5 5 7
8 2 7 3 9
1 2 3 4 5
% My code
A = [2,4,8,7,3;2,2,3,4,3;5,5,4,2,7;8,2,7,3,9;1,2,3,4,5];
rows = size(A,1) % the number of rows in A
columns = size(A,2) % the number of columns in A
B = [];
for row = 1:rows
for column = 1:columns
if (row == 2 || row == 3)
if (column == 3 || column == 4)
B = [B A(i)]
end
end
end
end
disp(B);
My code is wrong i thought

Accepted Answer

Mathieu NOE
Mathieu NOE on 22 Mar 2022
hello
seems to me B is simply A but rows 2 and 3 for columns 3 and 4 are empty (filled with NaN)
code :
A = [2,4,8,7,3;2,2,3,4,3;5,5,4,2,7;8,2,7,3,9;1,2,3,4,5];
B = A;
B(2:3,3:4) = NaN;
results :
A =
2 4 8 7 3
2 2 3 4 3
5 5 4 2 7
8 2 7 3 9
1 2 3 4 5
B =
2 4 8 7 3
2 2 NaN NaN 3
5 5 NaN NaN 7
8 2 7 3 9
1 2 3 4 5
  4 Comments

Sign in to comment.

More Answers (1)

Arif Hoq
Arif Hoq on 22 Mar 2022
you did not clear your expection. you can try this
A = [2,4,8,7,3;2,2,3,4,3;5,5,4,2,7;8,2,7,3,9;1,2,3,4,5];
rows = size(A,1); % the number of rows in A
columns = size(A,2); % the number of columns in A
B = [];
for row = 1:rows
for column = 1:columns
% if row == 2 || row == 3 && column == 3 || column == 4
if (row == 2 || row == 3)
if (column == 3 || column == 4)
B = [B A(row)]
end
end
end
end
B = 2
B = 1×2
2 2
B = 1×3
2 2 5
B = 1×4
2 2 5 5
disp(B);
2 2 5 5
  2 Comments
Shuoze Xu
Shuoze Xu on 22 Mar 2022
My expectation is to remove the elements in the third and fourth columns of the second row, and the third and fourth columns of the third row and print the array.

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!