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

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일

0 개 추천

A has 70*70 elements. The loop runs only 70 times.
Anyway, look into repmat(), reshape(),repelem().

댓글 수: 3

Ramadhan Hakim
Ramadhan Hakim 2020년 7월 27일
편집: Ramadhan Hakim 2020년 7월 27일
I'm sorry, I wrote the code wrong. A is actually 1x70 matrix. I edited it already.
Already tried the functions you mentioned but still I couldnt get the matrix that I wanted.
A=1:5;
X=zeros(2,3,5);
X=reshape(repelem(A,2*3),2,3,[])
Ok thanks, I'll try that.

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기

제품

질문:

2020년 7월 27일

댓글:

2020년 7월 28일

Community Treasure Hunt

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

Start Hunting!

Translated by