Borrar filtros
Borrar filtros

creating multi-dimensional arrays from vectors

3 visualizaciones (últimos 30 días)
Pal
Pal el 27 de Mzo. de 2012
Hi,
I want to create a multi-dimensional array 'b' from a vector 'a' as the following example:
a =
1 2 3 4
b(:,:,1) =
1 1
1 1
b(:,:,2) =
2 2
2 2
b(:,:,3) =
3 3
3 3
b(:,:,4) =
4 4
4 4
Thus I want to copy each entry of 'a' as m by n (2 by 2 in the example) size matrices onto each level of 'b' along the third dimension. I need to avoid element-wise operations and be as fast as possible.
I would appreciate any help.
Thank you.

Respuesta aceptada

Geoff
Geoff el 27 de Mzo. de 2012
[~,~,b] = ndgrid([0 0], [0 0], a)
  2 comentarios
Pal
Pal el 27 de Mzo. de 2012
Thanks! What are the tilde symbols? I have never seen them in Matlab syntax.
Geoff
Geoff el 27 de Mzo. de 2012
They are a placeholder, meaning we don't care about a particular return value. It's the way to get the third return value into 'b' without assigning the first and second return values to a variable.

Iniciar sesión para comentar.

Más respuestas (1)

James Tursa
James Tursa el 27 de Mzo. de 2012

Categorías

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

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by