How to create a 5D matrix by repeating a 2D array?

조회 수: 6 (최근 30일)
Ramadhan Hakim
Ramadhan Hakim 2020년 7월 27일
댓글: Ramadhan Hakim 2020년 7월 28일
Hello everyone,
I'm trying to create a 5D matrix from a 2D array by repeating it for each array in the 5D matrix. I managed to do it using for loop.
A = zeros(1,70); % 2D array
X = zeros(length(N),length(lg),length(C),length(E),length(A)); %% 5D matrix
for p = 1:1:length(A)
X(:,:,:,:,p)=A(p);
end
Is there any shorter way to do this?
Thanks.

채택된 답변

Fangjun Jiang
Fangjun Jiang 2020년 7월 27일
A has 70*70 elements. The loop runs only 70 times.
Anyway, look into repmat(), reshape(),repelem().
  댓글 수: 3
Fangjun Jiang
Fangjun Jiang 2020년 7월 27일
편집: Fangjun Jiang 2020년 7월 27일
A=1:5;
X=zeros(2,3,5);
X=reshape(repelem(A,2*3),2,3,[])
Ramadhan Hakim
Ramadhan Hakim 2020년 7월 28일
Ok thanks, I'll try that.

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by