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

2 visualizaciones (últimos 30 días)
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

Respuesta aceptada

KSSV
KSSV el 19 de En. de 2023
N = 10 ;
vec = 1:5 ;
b = repmat(vec',1,N,N) ;

Más respuestas (0)

Categorías

Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by