how to split an 8x8 2D array
조회 수: 15 (최근 30일)
이전 댓글 표시
채택된 답변
C B
2023년 8월 10일
편집: C B
2023년 8월 10일
Is this what you are looking for?
% Sample 8x8 array
A = reshape(1:64, [8,8])
% Splitting into 4x4 arrays
A1 = A(1:4, 1:4)
A2 = A(1:4, 5:8)
A3 = A(5:8, 1:4)
A4 = A(5:8, 5:8)
% Computing the mean for each 4x4 array
mean_A1 = mean(A1(:));
mean_A2 = mean(A2(:));
mean_A3 = mean(A3(:));
mean_A4 = mean(A4(:));
% Displaying the results
fprintf('Mean of A1: %f\n', mean_A1);
fprintf('Mean of A2: %f\n', mean_A2);
fprintf('Mean of A3: %f\n', mean_A3);
fprintf('Mean of A4: %f\n', mean_A4);
댓글 수: 2
C B
2023년 8월 10일
Yes we can use loop for splitting and Mean calculation
A = reshape(1:64, [8,8]);
mean_values = zeros(1, 4);
% Loop to extract 4x4 matrices and compute mean
for row = 1:2
for col = 1:2
r = (row-1)*4 + 1 : row*4;
c = (col-1)*4 + 1 : col*4;
submatrix = A(r, c);
idx = (row-1)*2 + col;
mean_values(idx) = mean(submatrix(:));
end
end
for i = 1:4
fprintf('Mean of A%d: %f\n', i, mean_values(i));
end
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!