Expand vector along third dimension
이전 댓글 표시
My question is simply, but I cannot figure out how to do it.
Assume I have a vector K=[K_1,..,K_n] then I would like to create a three dimensional matrix M with first dimension equal to x, second dimension equal to y and third dimension equal to n such that M(:,:,1)=K1*ones(x,y), M(:,:,2)=K2 * ones(x,y) etc. I know of course I can loop, but I am expecting a neat one-liner exists.
채택된 답변
추가 답변 (1개)
but I am expecting a neat one-liner exists.
It does
M=repmat( reshape(K,1,1,[]), x, y);
but it is often better to use BSXFUN when applicable. That way you don't have to allocate any actual memory for duplicate data.
카테고리
도움말 센터 및 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!