Software de Simulación-Hipermatrices

6
 ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA SOFTWARE DE SIMULACIÓN GR4 TRABAJO Nº 1 TEMAS:  Generación de una hipermatriz Funciones aplicables a hipermatrices Creación de estructuras Estructuras anidadas Funciones aplicables a estructuras  VILLOTA CORAL JHONNY ALEXANDER Semestre: Marzo/2011-Agosto/2011

Transcript of Software de Simulación-Hipermatrices

Page 1: Software de Simulación-Hipermatrices

5/10/2018 Software de Simulación-Hipermatrices - slidepdf.com

http://slidepdf.com/reader/full/software-de-simulacion-hipermatrices 1/6

 

ESCUELA POLITÉCNICA NACIONAL

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

SOFTWARE DE SIMULACIÓN

GR4

TRABAJO Nº 1

TEMAS:  Generación de una hipermatriz Funciones aplicables a hipermatrices Creación de estructuras Estructuras anidadas Funciones aplicables a estructuras

 VILLOTA CORAL JHONNY ALEXANDER 

Semestre: Marzo/2011-Agosto/2011

Page 2: Software de Simulación-Hipermatrices

5/10/2018 Software de Simulación-Hipermatrices - slidepdf.com

http://slidepdf.com/reader/full/software-de-simulacion-hipermatrices 2/6

 

1) GENERACIÓN DE UNA HIPERMATRIZHasta el momento hemos estudiado la generación de vectores y matrices, es decirmanejo de un máximo de dos dimensiones, pero las denominadas hipermatrices sonmatrices que manejan tres o más dimensiones. Para entender esto pondremos comoejemplo la hipermatriz T, de 3 dimensiones:  

La representación anterior nos sugiere que esta hipermatriz se trata del conjunto dematrices de iguales dimensiones una tras la otra. Pero la representación de más de 3

dimensiones se vuelve mucho más compleja y muy difícil de representar gráficamente en2 dimensiones, pues nuestros sentidos no están preparados para manejar más de 3dimensiones; sin embargo, en diversos campos como la ingeniería siempre se tieneproblemas que requieren del manejo de n-dimensiones y MATLAB, con las hipermatricesnos puede ayudar haciendo cálculos que nos quitarían demasiado tiempo si se hicieransin la ayuda de este software.

Ejemplo de generación de una hipermatriz 2x3x3Para la generación de una hipermatriz procedemos a agregar matrices bidimensionalesuna tras otra, de la siguiente manera:

>> A(:,:,1)=[linspace(1,3,3);4 5 6] 

A = 

1 2 3 

4 5 6 

>> A(:,:,2)=zeros(2,3)

A(:,:,1) = 

1 2 3 

4 5 6 

A(:,:,2) = 0 0 0 

0 0 0 

>> A(:,:,3)=eye(2,3)

A(:,:,1) = 

1 2 3 

4 5 6 

Page 3: Software de Simulación-Hipermatrices

5/10/2018 Software de Simulación-Hipermatrices - slidepdf.com

http://slidepdf.com/reader/full/software-de-simulacion-hipermatrices 3/6

 

A(:,:,2) = 

0 0 0 

0 0 0 

A(:,:,3) = 

1 0 0 0 1 0 

>> A(:,:,3)=ones(2,3)

A(:,:,1) = 

1 2 3 

4 5 6 

A(:,:,2) = 

0 0 0 

0 0 0 

A(:,:,3) = 

1 1 1

1 1 1 

Como podemos observar, las matrices bidimensionales que forman la hipermatriz debentener iguales dimensiones y se generan con las mismas reglas de las matrices normalesya estudiadas.

2) FUNCIONES APLICABLES A HIPERMATRICES

Las funciones que son aplicables a hipermatrices se encuentran en el siguiente directorio: toolbox\matlab\datatypes.

Algunas funciones en hipermatrices admiten más de dos subíndices; por ejemplo, paragenerar una hipermatriz de 2x3x2, en donde todos sus elementos sean unos; se procedeasí:

>> B=ones(2,3,3)

B(:,:,1) = 

1 1 1

1 1 1

B(:,:,2) = 

1 1 1

1 1 1

Page 4: Software de Simulación-Hipermatrices

5/10/2018 Software de Simulación-Hipermatrices - slidepdf.com

http://slidepdf.com/reader/full/software-de-simulacion-hipermatrices 4/6

 

B(:,:,3) = 

1 1 1

1 1 1

En general, hay que tomar en cuenta que las funciones que operan en MATLAB con

escalares, como exp(), cos(),etc.; al aplicarlas a una hipermatriz, operarán elemento aelemento. Las funciones que operan sobre vectores, como mean(), sum(), etc.; operaránen la primera dimensión. Las funciones que se utilizan en Álgebra Lineal, como latranspuesta, det(), inv(), etc .; no se pueden aplicar directamente a una hipermatriz; parahacerlo hay que extraer cada matriz y realizarlo individualmente.

3) CREACIÓN DE ESTRUCTURAS

En MATLAB, se pueden crear una estructura sin la necesidad de definir previamente elmodelo de la misma.

Existen varias formas para crear una estructura, una de estas es crear uno por uno loscampos que conformen la estructura. Por ejemplo:

>> calificaciones.nombre='Jhonny' 

calificaciones = 

nombre: 'Jhonny' 

>> calificaciones.nota1=10 

calificaciones = 

nombre: 'Jhonny' 

nota1: 10 

Para acceder al campo deseado, simplemente se une el nombre de la estructura con elnombre del campo requerido mediante un punto:

>> calificaciones.nota1

ans = 

10 

Otra forma de crear estructuras es mediante la función struct()  en donde se pone losnombres de los campos entre apóstrofes seguidos por una coma y luego el valor que lequeremos dar a dicho campo. Por ejemplo:

>> crono = struct('ciclista', 'Lance Armstrong' , 'tiempo_horas', 3.73)

crono = 

ciclista: 'Lance Armstrong' 

tiempo_horas: 3.7300 

Page 5: Software de Simulación-Hipermatrices

5/10/2018 Software de Simulación-Hipermatrices - slidepdf.com

http://slidepdf.com/reader/full/software-de-simulacion-hipermatrices 5/6

 

Al igual que en la programación tradicional, se puede crear vectores, matrices (MATLABpermite también hipermatrices) de estructuras. Por ejemplo:

>> crono(5) = struct('ciclista', 'Lance Armstrong' , 'tiempo_horas', 3.73)

Crea un vector de 5 elementos, cada elemento es una estructura tipo crono  con loscampos ciclista  y tiempo_horas . Inicialmente el elemento 5 se rellena con los camposdefinidos inicialmente, mientras que los demás son una cadena de caracteres vacía.

MATLAB también permite agregar campos a la estructura en el momento que sea. Porejemplo, agregaremos el campo distancia  a la estructura crono  y le asignaremos unvalor solamente al elemento 3:

>> crono(3).distancia=150 

Para ver todos los valores de un campo se escribe el nombre de la estructura seguido deun punto y el campo que queremos ver, así:

>> crono.ciclista 

4) ESTRUCTURAS ANIDADAS

Son estructuras dentro de otras estructuras; en el siguiente ejemplo tenemos unaestructura llamada Materias  que contiene como uno de sus campos a otra estructurallamada Cátedra :

>> Materias=struct('Facultad','Eléctrica y Electrónica','Carrera',...'Telecomunicaciones', 'Catedra', struct('nombre','Software de Simulación',...

'Creditos', 4))

Materias = 

Facultad: 'Eléctrica y Electrónica' 

Carrera: 'Telecomunicaciones' 

Catedra: [1x1 struct] 

Para acceder a los campos de la estructura anidada, se lo realiza utilizando dos veces eloperador punto. Así por ejemplo, si queremos añadir una nueva cátedra y ver en pantallalas dos cátedras ingresadas se procede así:

>> Materias.Catedra(2).nombre='Sistemas de Transmisión'; 

>> Materias.Catedra(2).Creditos=5; 

>> Materias.Catedra(2)

ans = 

Page 6: Software de Simulación-Hipermatrices

5/10/2018 Software de Simulación-Hipermatrices - slidepdf.com

http://slidepdf.com/reader/full/software-de-simulacion-hipermatrices 6/6

 

nombre: 'Sistemas de Transmisión' 

Creditos: 5 

>> Materias.Catedra(1)

ans = 

nombre: 'Software de Simulación' Creditos: 4 

5) FUNCIONES APLICABLES A ESTRUCTURASLas principales funciones que son de gran utilidad en MATLAB son:

fieldname(EST)  Devuelve una cadena de los caracteres de la estructura EST . Porejemplo:

>> fieldnames(Materias.Catedra)

ans = 

'nombre' 

'Creditos' 

isfield(E ST,’ e ’  ) Permite determinar si la cadena e que ingresemos, es un campo de laestructura EST . Si es verdadero nos devuelve un 1, si es falso un 0. Ejemplo:

>> isfield(Materias.Catedra,'Creditos')

ans = 

1

isstruct(EST) Permite determinar si EST es o no una estructura. Ejemplo:

>> isstruct(Materias.Carrera)ans = 

rmfield(EST,e) Elimina el campo e de la estructura EST .

6) BIBLIOGRAFÍA

Aprenda MATLAB 7.0 como si estuviera en primero, GARCÍA DE JALÓN J.,RODRÍGUEZ J.I., VIDAL J., Universidad Politécnica de Madrid, 2005.

Introducción a Matlab y sus aplicaciones, Quintela Estévez, P., Univ. Santiago deCompostela, 1997.