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)

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!