Matlab - Matriz 3D

 
Vista:

Matriz 3D

Publicado por David (2 intervenciones) el 15/01/2015 23:54:00
Buenas, necesito crear una matriz 3D de dimensión N, que tenga unos en todas sus componentes menos la primera y ultima componente de cada fila, columna y profundidad sea un cero, pero no consigo hacerlo sin tener que meter los valores a mano. Resumiendo, una matriz de unos rodeada por ceros. Alguien me podría ayudar?

Muchas gracias.

Edit:

Al final me he conseguido hacerlo de una forma poco elegante pero funciona:

x=ones(N,N,N)
x(:,:,N)=x(:,:,N)*0;
x(:,:,1)=x(:,:,1)*0;
x(:,1,:)=x(:,1,:)*0;
x(:,N,:)=x(:,N,:)*0;
x(1,:,:)=x(1,:,:)*0;
x(N,:,:)=x(N,:,:)*0;
x
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Dave
Val: 497
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Matriz 3D

Publicado por Dave (1094 intervenciones) el 16/01/2015 21:00:58
Hola David;

Podrías hacerlo con el siguiente código:

1
2
3
4
5
6
7
8
N = 5;
x=ones(N,N,N);
 
x(:,:,[1 N])=0;
x(:,[1 N],:)=0;
x([1 N],:,:)=0;
 
x

Espero que sea de alguna ayuda.

Saludos
Dave Correa
[email protected]
Servicios de Programación Matlab
WhatsApp: +51- 962906438
http://fismatlab.blogspot.com/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Daniel
Val: 269
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Matriz 3D

Publicado por Daniel (264 intervenciones) el 21/01/2015 20:19:08
podes hacerlo así también


1
2
x=zeros(N,N,N);
x(2:(N-1),2:(N-1),2:(N-1))=ones(N-2,N-2,N-2);

Saludos

Daniel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar