Use vector to create 3rd dimension at each point in a matrix

2 views (last 30 days)
I have an N-by-N matrix and a vector of length M. I want to create a 3-D array where at each point in the matrix, the third dimension is my vector.
This is the code I have, but I would like to know if there is a faster way that I can do this (probably without a loop). Any ideas?
N=10;
vec=1:5;
for i=1:N
for j=1:N
array(:,i,j)=vec;
end
end

Accepted Answer

KSSV
KSSV on 19 Jan 2023
N = 10 ;
vec = 1:5 ;
b = repmat(vec',1,N,N) ;

More Answers (0)

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!