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
información
Otras secciones de LWP con contenido de Matlab
- Código fuente de Matlab
- Cursos de Matlab
- Temas de Matlab
- Chat de Matlab
información
Códigos de Matlab
- Elige una carta
- TRIÁNGULO
- DÍAS DE LA SEMANA
Imágen de perfil de Dave

Matriz 3D

Publicado por Dave correa.dave30@gmail.com (934 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
correa.dave30@gmail.com
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

Matriz 3D

Publicado por Daniel (212 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