Está en la página 1de 13

65listasvsmatrices

Pgina 1 de 13

por Jos Luis Gmez Muoz http://www.globalcomputing.com.mx/

Listas
Aqu creamos una lista y la guardamos en la variable "miLista". Ntese que en el nombre de la variable estamos usando maysculas, pero que no le pusimos mayscula a la primera letra. Esto es una buena idea para distinguir los nombres que el usuario define de los nombres que ya tiene Mathematica definidos, ya que estos ltimos siempre comienzan con maysculas:

Aqu obtenemos el quinto elemento de la lista:

Otra vez obtenemos el quinto elemento de la lista:

Aqu obtenemos el quinto y el octavo elementos de la lista

Aqu obtenemos el quinto, sexto, sptimo y octavo elementos de la lista

http://homepage.cem.itesm.mx/lgomez/data/mathematica/65listasvsmatrices/65listasv... 01/03/2013

65listasvsmatrices

Pgina 2 de 13

Otra vez obtenemos el quinto, sexto, sptimo y octavo elementos de la lista

Aqu obtenemos los tres primeros elementos de la lista:

Ahora creamos una lista cuyos elementos son listas:

Aqu obtenemos el tercer elemento:

Aqu obtenemos el primer elemento del tercer elemento de la lista:

Aqu obtenemos los segundos elementos de todos los elementos de la lista

http://homepage.cem.itesm.mx/lgomez/data/mathematica/65listasvsmatrices/65listasv... 01/03/2013

65listasvsmatrices

Pgina 3 de 13

Aqu desplegamos la lista en forma tabular:

abc de fgh i j

Aqu desplegamos la lista en forma de Grid:

abc de fgh i j

Aqu formamos una grid con los primeros dos renglones y las primeras dos columnas

ab de

Aqu formamos una tabla con todos los renglones y las primeras dos columnas

ab de fg i j

Aqu creamos una nueva lista, que consiste en aadir a listaDeListas el rengln {x,y,z}

http://homepage.cem.itesm.mx/lgomez/data/mathematica/65listasvsmatrices/65listasv... 01/03/2013

65listasvsmatrices

Pgina 4 de 13

Aqu desplegamos la nuevaLista en forma de Grid

abc de fgh i j xyz

Si usamos nuevaLista como argumento de la funcin Cos[ ], entonces se genera una nueva lista con los cosenos de cada elemento:

Cos[a] Cos[b] Cos[c] Cos[d] Cos[e] Cos[f] Cos[g] Cos[h] Cos[i] Cos[j] Cos[x] Cos[y] Cos[z]

Operaciones con listas y tablas


Aqu creamos una lista de listas a la que llamamos tabla1. Ntese el uso de parntesis para forzar que primero se lleve a cabo la asignacin y despues el formateo (Grid). Si no los hubieramos usado, entonces tabla1 sera igual al formato (Grid), en lugar de ser igual a la lista de listas.

abc de f fgh

http://homepage.cem.itesm.mx/lgomez/data/mathematica/65listasvsmatrices/65listasv... 01/03/2013

65listasvsmatrices

Pgina 5 de 13

Aqu creamos otra lista de listas a la que llamamos tabla2.

xy z uvw r s t

Aqu multiplicamos la tabla1 por la tabla2. Ntese que NO es la multiplicacin de dos matrices. Por el contrario, simplemente se multiplican elemento por elemento.

ax by cz duevfw fr gs ht

Aqu sumamos un nmero a la tabla, lo cual se traduce en sumar el nmero a cada elemento de la tabla.

7+a 7+b 7+c 7+d 7+e 7+f 7+f 7+g 7+h

Aqu elevamos a la cuarta potencia cada elemento de la tabla

Listas como matrices


Vamos a utilizar las tablas que definimos en la seccin anterior como matrices. Para mostrar una tabla como una matriz utilizamos la "envoltura" (wrapper) MatrixForm. Esto NO cambia el contenido de tabla1, slo lo muestra como matriz.

http://homepage.cem.itesm.mx/lgomez/data/mathematica/65listasvsmatrices/65listasv... 01/03/2013

65listasvsmatrices

Pgina 6 de 13

Tabla1 sigue siendo una lista de listas. El desplegarla como matriz NO la cambi.

Para multiplicar dos matrices, debemos escribir entre ellas un punto en lugar de un asterisco:

Aqu est otra vez el producto de matrices, usando un punto en lugar de un asterisco, y desplegando el resultado en forma de matriz:

Aqu definimos un vector.

Aqu multiplicamos la matriz tabla1por el vector. Ntese que usamos punto en lugar de asterisco:

http://homepage.cem.itesm.mx/lgomez/data/mathematica/65listasvsmatrices/65listasv... 01/03/2013

65listasvsmatrices

Pgina 7 de 13

Ntese que si usamos el astersco, entonces NO es la multiplicacin de matriz por vector, sino una multiplicacin de elementos de tablas:

Aqu hay una tercera matriz, ahora con nmeros:

Para elevar una MATRIZ a la potencia 4 usamos MatrixPower. Este es el resultado de hacer tabla3.tabla3.tabla3.tabla3 con puntos.

Elevar una TABLA a la cuarta potencia es como hace tabla3*tabla3*tabla3*tabla3. Esta NO es una operacin de matrices, por el contrario, es una operacin elemento por elemento:

Uso de la opcin "Table/Matrix" del men Insert


Utiliza el menu Insert, opcin Table/Matrix, New, para crear la siguiente matriz en 2 segundos:

http://homepage.cem.itesm.mx/lgomez/data/mathematica/65listasvsmatrices/65listasv... 01/03/2013

65listasvsmatrices

Pgina 8 de 13

Un tipo de suma que no est definido


Aqu tenemos una lista de vectores 2D

Aqu tenemos un vector:

Ahora quisieramos sumar miVector a cada vector de la listaDeVectores. Pero Mathematica nos responde con un mensaje de error y no realiza la operacin que queremos

http://homepage.cem.itesm.mx/lgomez/data/mathematica/65listasvsmatrices/65listasv... 01/03/2013

65listasvsmatrices

Pgina 9 de 13

Abajo se muestra una forma de realizar la operacin deseada. El comando MAP aplica a cada elemento de listaDeVectores el comando #+miVector&. En este ltimo comando, el & indica que el comando es una funcin y el # corresponde al elemento que se est usando como argumento de esa funcin

Ejemplo de uso de matrices


Aqu tenemos una coleccin de puntos en 2D

Aqu graficamos el polgono que se forma al unir los puntos:

http://homepage.cem.itesm.mx/lgomez/data/mathematica/65listasvsmatrices/65listasv... 01/03/2013

65listasvsmatrices

Pgina 10 de 13

Ahora definimos una matriz de rotacin. Los elementos de esta matriz son funcin del parmetro

Este es un ejemplo del uso de la matriz. Al multiplicar el vector {1,2.5}, obtenemos otro vector que es de hecho el resultado de rotar el vector alrededor del origen un ngulo .

Utilizando el comando MAP como en la seccin anterior, podemos aplicar la matriz de rotacin a cada uno de los vectores en la lista misPuntos. La lista resultante se guarda en la variable nuevosPuntos:

http://homepage.cem.itesm.mx/lgomez/data/mathematica/65listasvsmatrices/65listasv... 01/03/2013

65listasvsmatrices

Pgina 11 de 13

Al dibujar el polgono de los nuevosPuntos se obtiene el mismo polgono que con misPuntos pero rotado 45 alrededor del origen:

Animacin usando matrices

http://homepage.cem.itesm.mx/lgomez/data/mathematica/65listasvsmatrices/65listasv... 01/03/2013

65listasvsmatrices

Pgina 12 de 13

Ejercicios y Preguntas
1.- De un slo comando multiplica cada elemento de la lista {2,3,4} por cada elemento de la lista {1,0,3} (la respuesta que debes obtener es la lista {2,0,12}) 2.- De un slo comando calcula el producto punto del vector {2,3,4} por el vector {1,0,3} (la respuesta que debes obtener es el nmero 14) 3.- Explica completa y claramente como es x[4] diferente de x[[4]]. 4.- Que signfica m[3,5]? 5.- Que signfica m[[3,5]]? 6.- Que signfica m[[3]][[5]]? 7.- Que signfica Part[m,3,5]? 8.- Que signfica Part[

Part[m,3], 5]?

Autor: Jos Luis Gmez Muoz

http://homepage.cem.itesm.mx/lgomez/data/mathematica/65listasvsmatrices/65listasv... 01/03/2013

65listasvsmatrices

Pgina 13 de 13

Global Computing S. A. de C. V. Florencia 57 Piso 10-01 Col. Jurez C.P. 06600 Mxico D.F. Mxico +52-(0)55-5525-2215 Fax: +52-(0)55-5514-4225 Adriana Vadillo avadillo@mx.inter.net Hector Vadillo hector.vadillo@prodigy.net.mx http://www.globalcomputing.com.mx/
Created with Wolfram Mathematica 7.0

http://homepage.cem.itesm.mx/lgomez/data/mathematica/65listasvsmatrices/65listasv... 01/03/2013

También podría gustarte