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

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

采纳的回答

Mathieu NOE
Mathieu NOE 2022-3-22
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 个评论

请先登录,再进行评论。

更多回答(1 个)

Arif Hoq
Arif Hoq 2022-3-22
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 个评论
Shuoze Xu
Shuoze Xu 2022-3-22
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.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by