Práctica 1 ª : INTRODUCCION A MATHEMATICA

Anuncio
1
practica1.nb
Práctica 1 ª : INTRODUCCION A
MATHEMATICA
¿Qué es Mathematica?
Mathematica es un paquete de software de Matemáticas de uso fácil y gran capacidad que integra los elementos
siguientes:
Cálculo numérico, Cálculo simbólico, Grafismo en 2D/3D, Lenguaje de programación y Aplicaciones
En esta introducción nos iniciaremos en el conocimiento básico de las funciones más importantes de Mathematica que nos serán imprescindibles para el posterior desarrollo de las prácticas de la asignatura de Matemática VI .
En cada una de las prácticas posteriores se hará un estudio de los comandos específicos que son necesarios para
el desarrollo de las mismas.
Estructura interna de Mathematica
Este paquete tiene una estructura que permite su utilización en diferentes entornos: Pc, Mac, Unix, etc.
Para ello está dispuesto en dos partes fundamentales. El Kernel (motor de cálculo) y el Front End (Interfaz de
comunicación con el usuario). Cuando se comienza a utilizar el programa se activa el Front End con lo que se
puede comenzar a introducir datos y expresiones. En el momento en que se desea realizar la primera operación se
activa el Kernel que es el módulo que realiza el cálculo. En el Kernel se encuentran introducidos los procedimientos de cálculo relacionados con una gran cantidad de operaciones (las más habituales). Sin embargo, dada la
potencia de cálculo del paquete, operaciones y procedimientos más complejos se encuentran almacenados en
diferentes "Packages" que deben ser activados antes de realizar los cálculos con ese tipo de sentencias.
En el entorno Windows en que nos movemos, el Front End está dispuesto de manera que todo el desarrollo
realizado puede ser almacenado prácticamente como en un editor de texto y tiene además todas las características
de conectividad con otros paquetes que funcionen en el mismo entorno windows (OLE).
También, muchos de los comandos que ejecuta Mathematica han sido introducidos en ventanas gráficas "Palettes"
que permiten una más rápida implementación de las sentencias y evitan memorizar parte de los comandos utiliza dos.
Todas estas características permiten un manejo sencillo y rápido de modo que, con una pequeña introducción a las
funciones básicas, al modo de introducir datos y a la utilización de la ayuda, se puede manejar con soltura en un
corto espacio de tiempo.
2
practica1.nb
Empezando a trabajar con Mathematica

Entradas/salidas, celdas, %, %n
Comenzar a trabajar con Mathematica es muy sencillo, basta con introducir la operación que se desea realizar y
pulsar las teclas Shift + Intro (o también la tecla Intro del teclado numérico). Así Mathematica realiza la operación indicada y genera una serie de celdas de entrada y salida perfectamente distinguibles que podremos manipu lar como cualquier objeto del entorno Windows.
Procediendo de este modo las operaciones quedan numeradas en el orden en que se van realizando, con lo que se
pueden ir utilizando los resultados previos con solo indicar en qué momento se obtuvieron. El resultado de la
última operación se puede recuperar utilizando el símbolo %, el penúltimo mediante %% y en general, el
resultado de la k-ésima operación con el símbolo %k.
23
5 2
  

3
2
a  2.15  3  4  2
a
%  %1

La barra de menús
De la barra de menús distinguiremos especialmente las siguientes partes: File, Edit, Kernel y el Help. En ellas se
encuentran recogidas aquellas acciones de uso más frecuente: abrir, salvar, imprimir, copiar, pegar, salirse del
Kernel, etc.
Para copiar una celda basta con pinchar en la parte derecha sobre el segmento correspondiente a esa celda y
copiar y pegar tal y como se hace normalmente en windows..
El ágil manejo de la ayuda nos será de especial utilidad en nuestro trabajo con Mathematica. Pinchando en la
opción Help de la barra de menús y a continuación en la opción Help Browser se activa la ayuda. Para obtener
información sobre cualquier función o comando normalmente se activan los botones Built-in-functions o Master
Index , o el botón Add-ons en el caso de un comando dentro de un determinado paquete. Dentro de la información
básica que inmediatamente ofrece la ayuda se puede acceder a secciones del Mathematica Book. Estas secciones
están ordenadas desde las más elementales a las más avanzadas. Finalmente la ayuda dispone de una serie de
ejemplos de la utilización de la función o comando.
3
practica1.nb
Números y operaciones

Números: racionales, con punto decimal y complejos

Operaciones aritméticas: + , - , * , / ,^

Números exactos y aproximados. N[exp] (o exp //N) , N[exp,n]
En Mathematica se puede trabajar con números racionales, con punto decimal o complejos, expresados estos
últimos en la forma x+yI
Las operaciones aritméticas: adición (+), sustracción (-), multiplicación (*), división (/) y potenciación (^) nos
permiten trabajar con números . El orden jerárquico de las mismas es el usual, empleándose paréntesis (nunca
corchetes) para indicar las agrupaciones que interese realizar. El símbolo del producto (*) puede ser sustituído por
un espacio en blanco.
Mathematica siempre que puede llega al resultado exacto. Ahora bien, en ocasiones puede interesar llegar a un
resultado aproximado en vez de al resultado exacto, para hacerse una idea del orden de magnitud del resultado
obtenido. Esto se puede hacer:
a) Introduciendo alguno de los factores de la operación que se desea realizar de forma aproximada. Para ello basta
con poner en forma decimal algún factor.
b) Utilizando el comando N. Con él podemos incluso indicar el número de decimales que se desea aparezcan. Por
defecto presenta 6 pero internamente trabaja con 16. Solo se verán más si se piden más de 16. Otra forma de
utilizar el comando N es , al final //N.
3  5  2^ 2
N3  5  2 ^2
3  5  2^ 2  N
N3 ^50
N3 ^50, 20
Constantes y funciones predefinidas

Constantes predefinidas: Pi , E , Degree , I
Mathematica dispone de ciertas constantes de interes matemático predefinidas. Las indicadas representan, respec
tivamente, a los números: , e, /180 y a la unidad imaginaria 1
4
practica1.nb

Funciones elementales predefinidas: Sqr[ ] , Exp[ ] , Log[ ] , Sin[ ] ,
Cos[ ] ,Tan[ ] , ArcSin[ ] , Abs[ ] , ...
Asímismo, Mathematica tiene predefinidas un amplio abanico de funciones elementales
Para una mayor comodidad, se puede recurrir a la utilización de paletas para introducir constantes y funciones
predefinidas así como los comandos operativos más frecuentes.
Ejercicios
1- Utilice N para calcular  con 50 decimales.
2- Utilice N para ver a qué entero se aproxima E  . A continuación utilizar los comandos Floor[E  ] y
Ceiling[E  ], recurriendo previamente a la ayuda para obtener información acerca de cada uno de ellos.
3- Calcule dos números aleatorios con Random[ ] y a continuación multiplíquelos.
Variables definidas por el usuario

Cómo escribir una variable. Operador asignación (=). Cómo pedir
información sobre una variable: ? . Cómo borrar una variable: Clear[ ] ,
Remove[ ]
Para definir una variable propia en Mathematica se puede utilizar cualquier sucesión alfanumérica que
comience por una letra o el símbolo $. Puesto que las funciones internas de Mathematica siempre
comienzan por una letra mayúscula, suele ser una práctica recomendable, en la definición de nuestras
propias variables, comenzar por una letra minúscula.
Para asignar un valor a una variable se utiliza el operador asignación (=)
Cálculos secuenciales
En Mathematica es posible realizar más de un cálculo en una misma entrada, siempre y cuando separemos los
mismos por (;). Poniendo al final de una entrada (;) la salida correspondiente no se muestra en pantalla.
x  3; y  8; x ^ 2  y ^3
x  3; y  8; x ^ 2  y ^3;
Clearx, y
5
practica1.nb
Cálculo simbólico. Operador reemplazamiento (/.) (OPCIONAL)
Listas: Vectores y Matrices.
Una lista permite representar conjuntos de elementos, los cuales puede que no sean del mismo tipo, como valores
numéricos, variables, texto, etc. Para utilizar ciertos elementos de una lista se considera la posición que ocupan en
ella.
Las listas se utilizan para representar vectores y matrices. Un vector vendrá dado por una lista de sus elementos
separados por comas y entre llaves. Una matriz es una lista de listas, así el primer elemento es una lista que
contiene la primera fila de la matriz, etc.
Por otra parte, las listas pueden ser manipuladas, en muchas ocasiones, como si de simples objetos se tratase.
Dentro del Análisis Numérico será necesario obtener el mayor elemento de un vector en valor absoluto. Para ello
aplicaremos al vector las funciones Max y Abs.
a  1, 2, 1.25, 3.84, 6.87
a3
1  a
Abs1  a
MaxAbsa
 La función de Mathematica Table :
Table[exp,{i,imax}];
Table[exp,{i,imin,imax}];
Table[exp,{i,imin,imax,paso}]
Table[exp,{i,imin,imax},{j,jmin,jmax}]
Este comando permite generar listas de forma automática.
La forma más complicada es una lista anidada, con dos contadores. El que va en medio representa al bucle más
exterior(al que varia más despacio).
Tablei  i  1, i, 5
Tablei  i  1, i, 5, 10
Tablei  i  1, i, 5, 10, 2
m  Tablei  j, i, 1, 3, j, 2, 5
6
practica1.nb
MatrixFormm
n  1, 2, 3, 4, 5, 6
MatrixFormn
v  1, 0, 0, 0
m.v
m  Tablei  j, i, 1, 3, j, 2, 5
MatrixFormm
n  1, 2, 3, 4, 5, 6
MatrixFormn
v  1, 0, 0, 0
m.v
Algunos comandos de Mathematica de utilidad para la manipulación de matrices son:
DiagonalMatrix[{x1,x2,...,xn}]
IdentityMatrix[n]
Transpose[a]
Det[a]
Inverse[a]
RowReduce[a]
Eigenvalues[a]
Eigenvectors[a]
Eigensystem[a]
mat  DiagonalMatrixa, b, c, d
IdentityMatrix4
Detmat
Inversemat
7
practica1.nb
RowReduce realiza una versión de la eliminación gaussiana para obtener el mayor nº de ceros en la matriz
resultante. Si la matriz es cuadrada y tiene inversa, el resultado es la matriz unidad. Si la última linea es de ceros,
la matriz no tiene inversa, o lo que es igual, hay una combinación lineal entre sus filas.
1 0 3



4 2 4 

RowReduce
  MatrixForm




7
8
9


1 2 3



4 5 6 

RowReduce
  MatrixForm




7
8
9


Mathematica permite calcular valores y vectores propios.
Los comandos son :
Eigenvalues[m], da los valores propios de la matriz m como elementos de una lista.
Eigenvectors[m] da una lista con los vectores propios.
Eigensystem[m] da una lista con dos elementos, el 1º es la lista de valores propios, y el 2º es la lista de vectores
propios(lista de listas). Para estos tres comandos la matriz m debe ser cuadrada.
1




5

m


6



4
2
3
2
2
3 2 


1 8 

; valprop  Eigenvaluesm

8 9 



1 7. 
valprop1
vectprop  Eigenvectorsm
valprop, vectorprop  Eigensystemm
vectorprop2
Paréntesis, LLaves y Corchetes.
El significado de cada uno de estos elementos es muy diferente y conviene manejarlos correctamente desde el
principio.
 Paréntesis : ( )
Se utilizan para alterar la prioridad de las operaciones aritméticas del mismo modo que lo hacemos en la pizarra
en las clases de matemáticas o en el cuaderno.
8
practica1.nb
2  3  5
 Corchetes : [ ]
Se utilizan para encerrar los argumentos de funciones o comandos
Cos  3
Tablei, i, 5
 Llaves : { }
Se utilizan para encerrar los elementos de una lista y dentro de algunos comandos
mat  a, b, c, d, e, f, g, h, i
 Dobles corchetes [[ ]]
Se utilizan para seleccionar elementos de una lista.
mat1
mat2, 2
Ejercicios
1- Utilice Table para hacer una lista conjunta de los cuadrados y los cubos de los números pares del uno al nueve.
2- Utilice Table para crear una lista con las potencias de x de 2 a 9 con paso 3.
3- Representar una matriz 3x3 tal que aij =xi y j . Tomar un vector p, de dimensión 3x1, que sea la evaluación de
la 1ª fila de la matriz para x=2,y=3.
4- Construir una matriz m, cuadrada de orden 3 con los siguientes elementos: {{a,b,c},{d,e,f},{g,h,i}}. Extraer el
vector m1 , como la 1º fila de la matriz m. Extraer m2 , que sea la 2ª columna de la matriz m. Idem m3 , como
la diagonal principal. Idem m4 , como la otra diagonal. Obtener m5 , una matriz 2x2 formada por los elementos
esquina de m . Asociar también a m6 , la matriz 2x2 adjunta al elemento (3,3).
5- Sea un vector v1={a,b,c}. Sea v2={d,e,f}. En Mathematica el producto elemento a elemento de vectores o
matrices se realiza utilizando el simbolo
(*).
Sin embargo el producto matricial o el escalar de vectores se
consigue usando el operador (.).
Multiplicar los 2 vectores elemento a elemento y escalarmente.
Repetir los cálculos con una matriz 3x2. En su caso utilizar la función Transpose[ ], cuando se necesite transponer
un operando.
9
practica1.nb
1 3 1 2 


 2 4 1 3 

 .
6- Sea A=

 5 1 2 3 


 3 5 4 1 
a)Hallar el valor del determinante de A.
b) Hallar el rango de A.
 2 1 1 


7- Hallar la inversa de la matriz A=  4 2 0  .


 3 1 1 
8- Calcular los valores y vectores propios de las matrices:
 1 2 2 
 m 0 2  m 




0 
A=  2 1 2 
B= 0 4




2 2 1 
 m 0 2  m 
Funciones definidas por el usuario.
A parte de las funciones predefinidas (trigonométricas,hiperbólicas,exponencial,..)Mathematicapermite definir al
usuario sus propias funciones.
 Dos formas de definir funciones:
f[x_,y_,...]:= regla
f[x_,y_,...]=regla
Los nombres que representarán a las funciones deben seguir el mismo criterio que los de las variables. No debemos olvidar el símbolo (_) que acompaña a cada variable independiente y que garantiza que ésta pueda ser
sustituida por cualquier expresión.
Una función se puede definir con = o bien :=. En el primer caso se pide a Mathematica que la defina y seguidamente haga las operaciones que se indican, en el segundo caso solo que la defina , las operaciones las hará
después cuando vayamos a utilizar la función. En este caso Mathematica no devuelve ninguna salida. (Se debe
usar esta forma cuando Mathematica no puede evaluar f(x) a menos que x tenga un valor concreto).
Si se intenta definir f(x) con = y se obtienen uno o más mensajes de error se debe utilizar := .
Utilizaremos preferiblemente la definición con el signo igual.
fx_  Expandx  1^ 2
?f
f2
fa  b
10
practica1.nb
Expresiones algebraicas (polinómicas / racionales)
 Algunas de las funciones de Mathematica más habituales para manipular expresiones
algebraicas:
Simplify[expresion]
Factor[expresion]
Expand[expresion]
Apart[expresion]
Together[expresion]
Cancel[expresion]
(ó
(ó
(ó
(ó
(ó
(ó
expresion//Simplify)
expresion//Factor)
expresion//Expand)
expresion//Apart)
expresion//Together)
expresion//Cancel)
(Se recomienda, o bien recurrir a la ayuda o bien preguntar en el propio Front-End, con (?) o (??), para tener la
información necesaria sobre cada una de dichas funciones.)
Expandx  2 ^ 2 x  1^ 3 x  1
4  4 x  7 x2  6 x3  4 x4  2 x5  x6  Factor
a
b
a
b
2 Cos     Cos    
2
2
2
2
Representación gráfica.
La representación gráfica es una de las características de mayor utilidad y aplicación cuando se comienza a
utilizar Mathematica. Se pueden representar curvas en el plano o curvas y superficies en el espacio.
El comando Plot es uno de los más utilizados. Tiene muchas opciones que permitirán obtener desde representaciones gráficas muy sencillas a otras más complejas.
Una gráfica se puede representar en varios tonos de gris (GrayLevel[w], con w entre 0 y 1),varios colores (
RGBColor[r,q,b], con r,q,b iguales a 0 o 1) y distintos tipos de trazo (Dashing). Todo esto se consigue utilizando
la opción PlotStyle del comando Plot.
Es importante poner nombre a los gráficos, en especial si se van a necesitar varias veces , o si se quieren mostrar
varios gráficos conjuntamente con el comando Show.
Cuando se representan varias funciones en la misma gráfica , estas funciones deben ir entre llaves.
En los ejemplos siguientes se representan varias funciones con distintos estilos.
Ejemplo
Sea f(x) = 4x3  6x2  9x  2. Los siguientes comandos nos permiten obtener su representación en el intervalo
[-3,2].
Clearf
fx_  4x3  6x2  9x  2;
11
practica1.nb
Plotfx, x, 3, 2
En muchas ocasiones una curva plana viene dada en forma paramétrica. Para representar curvas dadas de esta
forma Mathematica dispone del comando ParametricPlot.
Con el comando Show se pueden mostrar conjuntamente varios gráficos . Para ello conviene almacenar dichos
gráficos en distintas variables.
Ejemplo
Con el comando ParametricPlot se puede representar la circunferencia de centro (2,1) y radio 3 :
ParametricPlot2  3 Cost, 1  3Sint, t, 0, 2 , AspectRatio  1
Con Mathematica también se pueden representar un conjunto de puntos en lufgar de una función. Para ello
utilizaremos el comando ListPlot. El argumento de este comando es una lista cuyos elementos a su vez, son listas
de dos elementos, la abscisa y la ordenada.
Una opción interesante de este comando es la PlotJoined->True con la que los puntos representados quedan unido
mediante segmentos rectilíneos.
Vamos a representar los puntos cuyas coordenadas vienen dados por :
b = { (1,1.5), (2,1),(3, 0.73),(4, 0.6), (5,0.3),(6, 0.2),(7, 0.1),(8, 0.08)}
b   0, 0, 1, 1.5, 2, 1, 3, 0.73, 4, 0.6,
5, 0.3, 6, 0.2, 7, 0.1, 8, 0.08;
ListPlotb, PlotStyle  PointSize.02, AxesOrigin  0, 0
Ejercicios
1.- Sean f(x) = 4x3  6x2  9x  2, g(x) = 12x2  12x  9 y h(x) = 24x+12. Representar las tres funciones
en el mismo gráfico utilizando distintos estilos para cada una.
2.- Representar las funciones senx, sen(2x) y sen(x/2) conjuntamente en el intervalo [0, 4].
3.- Las ecuaciones :{ x=at-bsent , y=a-bcost} representan una cicloide. La hoja de Descartes tiene como representación paramétrica:
{x=3at/(1+t3  , y=3at2 /(1+t3 }. Representar estas dos curvas para a=1 y b=2.
Descargar