Generate cell of random numbers with same size arrays
조회 수: 7 (최근 30일)
이전 댓글 표시
Hello!
I'd like to generate a 3x2 cell, whose arrays are all matrices 5x100 of random numbers.
I am a bit struggling with it, despite I think is quite easy to do.
Any suggestion?
Thanks
댓글 수: 3
Jan
2021년 3월 6일
A a 3x2 cell with containing 5x100 matrices, a 15 x 200 random matrix is needed. Why do you create a 18x100 matrix?
채택된 답변
Jan
2021년 3월 6일
편집: Jan
2021년 3월 6일
Creating a large array only to split it into parts needs more RAM than creating the random matrices in parts directly:
C = cell(3, 2);
for k = 1:numel(C)
C{k} = randi(50, 5, 100);
end
If mat2cell is required for any reasons:
a = randi(50, 15, 200);
A = mat2cell(a, [5, 5, 5], [100, 100])
댓글 수: 0
추가 답변 (1개)
John D'Errico
2021년 3월 6일
편집: John D'Errico
2021년 3월 6일
Simple enough.
A = rand(15,200);
B = mat2cell(A,repmat(5,3,1),repmat(100,1,2));
size(B)
size(B{1,1})
class(B{1,1})
So B is a cell array of size 3x2.
Each element of B is a regular double precision array, of size 5x100. You can put whatever you kind of random numbers you wish into the original array A.
참고 항목
카테고리
Help Center 및 File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!