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

4 Ansichten (letzte 30 Tage)
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

Akzeptierte Antwort

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

Weitere Antworten (0)

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Produkte


Version

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by