i have a matrix in which i need to slice into elements but in cell array form

답변 (1개)

Paul
Paul 2021년 9월 4일

0 개 추천

Use mat2cell
x = rand(4,2); % the matrix
c = mat2cell(x,[2 2],2); % the cell array
% verify
c{1} - x(1:2,:)
ans = 2×2
0 0 0 0
c{2} - x(3:4,:)
ans = 2×2
0 0 0 0

댓글 수: 2

Jared Matthias
Jared Matthias 2021년 9월 4일
edit i would want it to work for any size matrix ie a 2x4 matrix would give me 1x2 or a 6x8 matrix would give me a 3x4 cell array
x = rand(6,8);
% assuming row and column dimensions of x are both even
c = mat2cell(x,2*ones(1,size(x,1)/2),2*ones(1,size(x,2)/2))
c = 3×4 cell array
{2×2 double} {2×2 double} {2×2 double} {2×2 double} {2×2 double} {2×2 double} {2×2 double} {2×2 double} {2×2 double} {2×2 double} {2×2 double} {2×2 double}
c{2,2} - x(3:4,3:4)
ans = 2×2
0 0 0 0

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Logical에 대해 자세히 알아보기

제품

릴리스

R2021a

태그

질문:

2021년 9월 4일

편집:

2021년 9월 10일

Community Treasure Hunt

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

Start Hunting!

Translated by