Sei sulla pagina 1di 57

INTRODUCCIN AL

MATHEMATICA 7.0

00. NDICE Introduccin a Mathematica 7.0.

NDICE Introduccin a Mathematica 7.0.


Pgina
INTRODUCCIN A MATHEMATICA ......................................................................... 1
1.- Generalidades ...................................................................................................... 1
1.1.- Objetivo de esta manual ................................................................................ 1
1.2.- Qu es Mathematica ................................................................................... 1
1.3.- Estructura interna .......................................................................................... 1
1.4.- Introduccin de datos y manejo de celdas ..................................................... 2
1.4.1.- Reglas a tener en cuenta...................................................................... 4
1.4.2.- Ejemplos .............................................................................................. 4
1.5.- Tipos de nmeros y distinta precisin ............................................................ 5
1.6.- Constantes incorporadas y asignacin de valores a variables creadas por
el usuario ....................................................................................................... 6
1.7.- Clculos secuenciales ................................................................................... 7
1.8.- Paletas .......................................................................................................... 7
1.9.- Creacin de documentos con Mathematica ................................................... 8
1.10.- La orden Print ........................................................................................... 9
1.11.- Uso de la ayuda de Mathematica .............................................................. 10
2.- Definicin de funciones........................................................................................ 11
2.1.- Funciones predefinidas ............................................................................... 11
2.2.- Funciones definidas por el usuario .............................................................. 13
2.2.1.- Funciones definidas a trozos ............................................................. 14
2.2.2.- Clculo simblico. Operador de reemplazamiento (/.) ....................... 15
2.3.- Expresiones algebraicas (Polinmicas / Racionales) ................................... 16
3.- Resolucin de ecuaciones y sistemas de ecuaciones.......................................... 17
3.1.- Ecuaciones simples...................................................................................... 17
3.2.- Sistemas de ecuaciones .............................................................................. 20
4.- Listas, vectores y matrices................................................................................... 21
4.1.- Listas ................................................................................................ 21
Teora de Vibraciones

00. NDICE Introduccin a Mathematica 7.0.

2
Pgina

4.2.- Vectores y matrices ..................................................................................... 22


4.2.1.- Formas de introducir una matriz ........................................................ 23
4.2.2.- Algunas operaciones con matrices .................................................... 24
5.- Otras operaciones de clculo .............................................................................. 26
5.1.- Derivacin ................................................................................................... 26
5.2.- Integracin .................................................................................................. 27
5.3.- Lmites . ............................................................................................... 29
5.4.- Sumas y productos de una serie ................................................................. 30
5.5.- Ecuaciones diferenciales ordinarias ............................................................ 31
5.5.1.- Solucin utilizando DSolve .............................................................. 31
5.5.2.- Solucin aproximada utilizando NDSolve ........................................ 33
5.6.- Transformadas integrales ............................................................................ 34
5.5.1.- Transformada de Laplace .................................................................. 34
5.5.2.- Transformada de Fourier ................................................................... 36
6.- Representaciones grficas ................................................................................. 36
6.1.- Representacin grfica en 2D ..................................................................... 36
6.1.1.- Grficas de funciones expresadas en forma paramtrica .................. 38
6.1.2.- Grficas lineales y logartmicas ......................................................... 39
6.1.3.- Opciones grficas .............................................................................. 39
6.1.3.1.- Orden Tooltip ........................................................................ 41
6.1.3.2.- Utilizacin del operador de reemplazamiento (/.) ..................... 42
6.2.- Representacin grfica en 3D ..................................................................... 44
6.3.- Construccin de un modelo dinmico .......................................................... 46
7.- Conceptos bsicos de programacin ................................................................... 47
7.1.- Introduccin ................................................................................................ 47
7.2.- Operadores relacionales y lgicos ............................................................... 47
7.3.- Funciones condicionales ............................................................................. 49
7.4.- Bucles ........................................................................................................ 51
Teora de Vibraciones

00.- Introduccin a Mathematica 7.0.nb

INTRODUCCIN A MATHEMATICA 7.0


1.- GENERALIDADES

1.1.- OBJETIVO DE ESTE MANUAL


El objetivo de este manual es dar a conocer el programa Mathematica de
una forma sencilla para aplicarlo posteriormente en la asignatura Cinemtica y
Dinmica de Mquinas y ms concretamente en la parte de Teora de Vibraciones.

1.2- QU ES MATHEMATICA?
Mathematica es un paquete de software de matemticas de uso fcil y gran
capacidad que integra los elementos siguientes:
clculo numrico, clculo simblico, grafismo en 2D/3D, lenguaje de programacin y
aplicaciones.

1.3.- ESTRUCTURA INTERNA


En el programa se pueden distinguir dos partes: El KERNEL (ncleo) la
cual es la encargada de ejecutar todos los comandos y realizar los clculos necesarios
y el FRONT END (fachada) que es la interfase de comunicacin con el usuario.
Cuando se entra en el programa se activa el Front End y ya se puede empezar a
introducir texto, datos y expresiones.
Cuando se desea ejecutar o realizar la primera operacin se activa el Kernel,
donde se encuentran introducidos los procedimientos de clculo ms habituales. Los
procedimientos ms complejos se encuentran almacenados en diferentes Packages
(paquetes) adicionales que deben ser activados antes de realizar los clculos con ese
tipo de sentencias.
Existe un tipo especial de interfase que permite generar documentos interactivos en los que se mezclan grficos y textos y en el que se incluirn todos los comandos a evaluar por el ncleo. A ese tipo de documentos se los denomina notebooks. Un
notebook en Mathematica es como un documento en Microsoft Word y es designado
con la extensin .nb.

00.- Introduccin a Mathematica 7.0.nb

1.4.- INTRODUCCIN DE DATOS Y MANEJO DE CELDAS


La forma de interaccionar el Kernel y el Front End la dirige el usuario, o sea
que el ncleo no realiza ninguna accin hasta que el usuario no se lo indique. Para ello
se debe pulsar la tecla INTRO del teclado numrico o las teclas Shift y Enter
simultneamente.
Una vez cargado el Kernel se est en condiciones de comunicarse con el
programa. A un Input dado por el usuario, Mathematica devolver un Output y los
numerar a ambos con el mismo nmero y secuencialmente a lo largo de una sesin
de trabajo. Esto permite hacer referencia en cualquier momento, a un resultado
obtenido o a una variable definida anteriormente.
Habr que tener especial cuidado en la secuencia de numeracin si se usa el
mismo nombre de variable para designar diferentes clculos a lo largo de un trabajo.
El smbolo % se utiliza para referirse al Output inmediatamente anterior.
Pueden usarse %%, %%%, %%%%, etc., para el penltimo, antepenltimo, etc. Otra
forma alternativa es usar %K, donde K es el nmero del Output.
Adems, cada entrada y salida lleva un corchete situado a la derecha de la
pantalla delimitando lo que denominaremos celda (Cell). Esta distincin por celdas nos
permitir, entre otras cosas, cambiar el estilo y formato de stas, suprimirlas fcilmente
y agruparlas o desagruparlas por bloques de trabajo. Tambin conviene saber que los
Inputs se pueden recalcular cuantas veces se desee (por si queremos cambiar un
dato, por ejemplo) y la nueva salida sustituir a la antigua asignndoles a ambos una
nueva numeracin.
Tambin podemos evaluar un grupo de celdas seleccionadas previamente. Si
deseamos evaluar un Notebook completo seleccionaremos Evaluate Notebook dentro
del men Evaluation.
Ocasionalmente, puede ocurrir que se haya realizado una evaluacin anterior
que est interfiriendo con otra evaluacin posterior. Cuando sucede esto, a veces, es
til seleccionar Evaluation/Quit Kernel para reiniciar el proceso de evaluacin. A
continuacin se puede seleccionar Evaluation/Start Kernel o seleccionar una celda
para evaluar y entonces, como ya se ha mencionado, pulsar la tecla Intro del teclado
numrico o las teclas Shift y Enter simultneamente. De esta forma se cargar el

00.- Introduccin a Mathematica 7.0.nb

Kernel. Cuando se seleccione Quit Kernel se necesitar evaluar las celdas de nuevo ,
como si no estuvieran evaluadas anteriormente.
Por otra parte, al escribir o ejecutar un comando incorrectamente, puede
suceder que Mathematica entre en un bucle infinito o responda incorrectamente. Para
solucionar este problema se seleccionar Evaluation/Interrupt Evaluation o
Evaluation/Abort Evaluation.
Una sola celda puede consistir de varias lneas de escritura. Cuando se utiliza
la tecla Enter, Mathematica comienza una nueva lnea en la misma celda. Para iniciar
una nueva celda para la siguiente entrada, coloque el cursor debajo de la celda actual
y luego escriba su entrada. Una lnea horizontal en el Notebook indica que el cursor se
encuentra en la parte superior de una celda. A veces es ms fcil moverse a una
nueva lnea usando las flechas "arriba y abajo" del teclado.
Mathematica automticamente agrupa las celdas (como configuracin por
defecto). Por ejemplo, la Output[number] y su correspondiente Input[number] se
agrupan automticamente. Esta agrupacin es designada por un corchete situado ms
a la derecha, que incluye el corchete de la celda Input[number] y el corchete de la
Output[number]. Si hace doble clic en el corchete situado ms a la derecha de este
grupo entrada-salida, entonces slo se mostrar el contenido de la celda de entrada.
Tambin puede agrupar manualmente varios grupos de celdas Input-Output
manteniendo pulsada la tecla Shift y haciendo un clic con el ratn sobre el corchete
superior y luego sobre el inferior del grupo de celdas que se quiere agrupar; teniendo
seleccionado el grupo de celdas, y haciendo un clic en el botn derecho del ratn,
aparecer un men con la opcin agrupar celdas (Group Cells). Si hace doble clic en
el botn izquierdo del ratn sobre un corchete de grupo en el extremo derecho de la
pantalla, el grupo se condensar y slo se mostrar el contenido de la primera celda.
Tenga en cuenta que el corchete derecho de un grupo condensado aparece de forma
diferente que el de las celdas que no estn condensadas. Si hace doble clic de nuevo
en el corchete, todos los contenidos de todas las celdas del grupo volvern a aparecer.
Una forma alternativa de agrupar varios grupos de celdas Input-Output consiste en
elegir Grouping en el men Cell y seleccionar Group Cells/Group Together. Las celdas
que estn agrupadas pueden ser desagrupadas haciendo un clic en el botn derecho
del ratn y eligiendo Ungroup Cells en el men que aparece. El comando Ungroup
Cells/Group Normally est tambin disponible en Grouping del men Cell.
Para eliminar una celda, seleccione el corchete derecho que la designa y
seleccione la opcin Clear en el men Edit. En dicho men Edit se pueden encontrar
otros comandos de edicin tiles como Cut, Copy, Copy as y Paste. Como alternativa

00.- Introduccin a Mathematica 7.0.nb

para eliminar una celda, despus de seleccionar el corchete derecho de la celda,


pulse la tecla Delete (Supr) de su teclado.
Observe que el comando Preferences tambin est localizable en el men
Edit. El usuario puede utilizar el comando Preferences para configurar las preferencias
por defecto de diversas operaciones de Mathematica. Por ejemplo, para cambiar los
valores por defecto de fuentes, elegiramos Formatting Options / Fonts Options
despus de seleccionar Edit/Preferences/Advanced/Open Option Inspector.
En nuestro caso, nos va a interesar que Mathematica muestre las salidas, en
vez de en la forma estndar, en la forma tradicional. Para ello seleccionaremos
Traditional Form dentro de Edit/Preferences/Evaluation/Format type of new outputs
cell.
Para la misma entrada, (a^2 + 2 a + 1)^2, al evaluarla obtenemos:
2
Salida en forma stndar
1 + 2 a + a2
a2 + 2 a + 1

Salida en forma tradicional

Otros comandos interesantes estn disponibles en el men Insert. Por


ejemplo, Input from Above y Output from Above, Insert Horizontal Lines, y Special
Character (con este comando se abrir la paleta de caracteres especiales).
Adems, en el men Format estn disponibles varias opciones de formato.

1.4.1.- REGLAS A TENER EN CUENTA


Cuando escribamos comandos deberemos tener cuidado con:
Las maysculas y minsculas: Mathematica distingue unos caracteres de otros.
Todas las funciones, opciones, variables y constantes incorporadas al programa
empiezan con mayscula. Por ello, conviene nombrar las que definamos nosotros con
minscula.
Los espacios: Un espacio entre dos variables se interpreta como un signo de multiplicar. Por otra parte, nunca debemos dejar un espacio entre caracteres cuando demos
un nombre a una constante, variable o funcin.
Parntesis, corchetes y llaves: Tienen funciones muy diferentes.
Los parntesis se utilizan para agrupar e indican prioridad en las operaciones a efectuar.
Los corchetes son exclusivos de las funciones y delimitan el argumento de
las mismas. Se colocan alrededor de lo que queremos calcular. No se deben usar
como un segundo nivel de parntesis.
Las llaves se utilizan para definir listas (vectores y matrices, por ejemplo) de
elementos o para definir rangos.
Los dobles corchetes se utilizan para seleccionar elementos de una lista.

1.4.2.- EJEMPLOS

00.- Introduccin a Mathematica 7.0.nb

In[1]:=
Out[1]=
In[2]:=
Out[2]=
In[3]:=
Out[3]=
In[4]:=
Out[4]=

43 2
10

"" se refiere a la salida anterior evaluada

25
15

"" se refiere a la penltima salida evaluada

35
25

"1" se refiere a la salida Out1

40 1
30

1.5.- TIPOS DE NMEROS Y DISTINTA PRECISIN


Mathematica da el valor exacto siempre que puede, independientemente del
tamao del resultado. La nica limitacin es la memoria del ordenador. Por ejemplo si
hacemos:
In[5]:=
Out[5]=
In[6]:=

Out[6]=

In[7]:=

Out[7]=

In[8]:=
Out[8]=

Nmeros enteros. Resultado exacto

3^100 18

515 377 520 732 011 331 036 461 129 765 621 272 702 107 522 019

Nmeros racionales. Resultado exacto

1 8 3 13
-

11
104

Sqrt2

Nmeros irracionales. Resultado exacto

3 2 I 5 7 I Nmeros complejos abI; I 1


8+5

Si nos interesa obtener el valor aproximado podemos hacerlo:


In[9]:=

1. 8 3 13

Colocando el punto decimal detrs de un nmero

-0.105769

In[10]:=

N1 8 3 13 o escribiendo el caracter "N" delante

Out[10]=

-0.105769

Out[9]=

In[11]:=

1 8 3 13 N

Out[11]=

-0.105769

o escribiendo "N" detrs

Nota: Aunque por defecto nos presenta 6 dgitos significativos, la precisin con la que
trabaja internamente es de 16 dgitos.

00.- Introduccin a Mathematica 7.0.nb

In[12]:=

N1 8 3 13, 20
Nexpresin,n muestra "n" cifras significativas

Out[12]=

-0.10576923076923076923

In[13]:=

NSqrt2, 3

Out[13]=

1.41

In[14]:=

Out[14]=

3 cifras significativas

N1.2234 1.2, 3
3 cifras significativas. 4 cifras decimales
0.0234

1.6.- CONSTANTES INCORPORADAS Y ASIGNACIN DE


VALORES A VARIABLES CREADAS POR EL USUARIO.
El programa incorpora unas constantes predefinidas o incorporadas como
Pi, E (el n "e"), I (unidad imaginaria)... que empiezan siempre con mayscula. Por
eso, se recomienda utilizar minsculas para variables o constantes que definamos.
In[15]:=

NE, 15 Obtenemos las 15 primeras


cifras significativas del nmero "e"

Out[15]=

2.71828182845905

In[16]:=

x52

Out[16]=

10

In[17]:=

A la variable "x" le asignamos un valor

7 x
El valor lo mantiene hasta que lo eliminemos o modifiquemos

Out[17]=

70

In[18]:=

x3

Out[18]=

In[19]:=

7x

Out[19]=

21

A la variable "x" le asignamos otro valor

In[20]:=

Clearx Suprimimos el valor asignado a la variable "x"

In[21]:=

Out[21]=

00.- Introduccin a Mathematica 7.0.nb

1.7.- CLCULOS SECUENCIALES


En Mathematica es posible realizar ms de un clculo 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.
In[22]:=

x 5; y 2; z 8; 2 x 5 y z^3

Out[22]=

-512

In[23]:=

x 5; y 2; z 8; 2 x 5 y z^3;

In[24]:=

Clearx, y, z
Suprimimos los valores asignados a las variables

In[25]:=

2 x 5 y z^3

Out[25]=

2 x + 5 y - z3

In[26]:=

x 5; y 2; z 8; 2 x 5 y z^3

Out[26]=

-512

In[27]:=

Clear"" Con esta sentencia limpiamos los


valores correspondientes a elementos o nombres usados
anteriormente que contengan slamente minsculas o nmeros
Clear::wrsym : Symbol a is Protected.
Clear::wrsym : Symbol b is Protected.
Clear::wrsym : Symbol c is Protected.
General::stop : Further output of Clear::wrsym will be suppressed during this calculation.

In[28]:=

2 x 5 y z^3

Out[28]=

2 x + 5 y - z3

1.8.- PALETAS
Una de las novedades ms importantes que se introdujo en la versin 3.0 y
que ha continuado hasta la versin actual es lo que se denominan paletas (palettes).

00.- Introduccin a Mathematica 7.0.nb

Las paletas son pequeas ventanas que contienen algunas de las operaciones,
rdenes e instrucciones ms usuales que necesitaremos durante nuestro trabajo y que
podemos activar seleccionndolas dentro del men Palettes. Tambin se pueden
desactivar cerrando la ventana correspondiente. Estas paletas incluyen todo tipo de
operaciones, desde las ms bsicas hasta otras ms complejas de Clculo Algebraico,
Clculo Integral o de Clculo Diferencial.
Smbolos comnmente utilizados en operaciones matemticas tales como el de
integracin ( ), derivacin (), sumatorio (S), fracciones (a/b) y exponenciacin (x a ),
estn disponibles en la paleta Basic Math Assistant. Las letras griegas y otros
smbolos los podemos encontrar en la paleta Special Characters. Para encontrar una
paleta que ha desaparecido, aunque no haya sido cerrada por el usuario, utilice el
men Window. En la parte superior del men Window se lista una serie de comandos
tiles para organizar las ventanas. En la parte inferior del men Window aparecen
todos los notebooks que se encuentran activos, pudiendo seleccionar el que nos
interese en ese momento.

1.9.- CREACIN DE DOCUMENTOS CON MATHEMATICA


Otra de las aplicaciones que incorpora Mathematica es la posibilidad de
crear documentos de trabajo como artculos o libros. Para ello, Mathematica incorpora
opciones de formato como la eleccin del estilo de presentacin, la fuente para el
texto, el tamao de la letra, el estilo de letra, la justificacin del texto y muchas
opciones ms que se pueden consultar en el men Format.
Para su correcta utilizacin, conviene saber que Mathematica distingue entre
celdas (Cells) del tipo Input, Output, Texto o, por ejemplo, una celda para el ttulo del
libro (estilo Title). Normalmente, el tipo de celda por defecto es el Input. De hecho, si
escribimos texto dentro de una celda del tipo Input, Matemtica intentar evaluar este
texto y, al no comprender lo que escribimos, dar varios errores. Es decir, cuando
queramos escribir texto deberemos dividir una celda en dos celdas distintas, la primera
para el texto (estilo Text) a la que le daremos el formato que deseemos y la segunda
para las operaciones y funciones que queremos que calcule Mathematica (estilo Input),
las cuales llevan un estilo por defecto, pero que tambin podemos modificar.
La apariencia de la pantalla y el tamao de la fuente en el notebook son
seleccionados en la opcin Screen Environment del men Format. Pruebe las
diferentes opciones (Working, Presentation, SlideShow, Condensed, Printout) para ver
cmo aparecen. La opcin Working es a menudo una buena eleccin.

00.- Introduccin a Mathematica 7.0.nb

Tambin es
Format/Stylesheet.

interesante

probar

las

opciones

disponibles

dentro

de

Todas las operaciones que conciernen a las celdas (tipo de celda, agrupacin
o divisin) se encuentran en el men Cell.
Tambin es posible introducir un texto o comentario dentro de una celda
evaluable. Para ello utilizaremos la siguiente secuencia: (* texto o comentario *).
Tambin podremos comprobar y/o cambiar el tipo de celda, sin tener que
volver al men Format, eligiendo Window/Show Toolbar y seleccionando la celda
correspondiente.

1.10.- LA ORDEN "PRINT "


Esta orden nos permite presentar en pantalla una serie de mensajes y/o
resultados. Si se trata de un texto, ste deber ir entre comillas.
Para ver su funcionamiento vamos a realizar varios ejemplos:
In[29]:=

PrintBuenos das a todos Imprime el texto desordenado


Print"Buenos das a todos" Imprime el texto ordenado

a Buenos das todos


In[30]:=

Print8 3 18 Imprime el resultado de la operacin

Buenos das a todos


In[31]:=

6
In[32]:=

Printa, b, c Las letras aparecen yuxtapuestas

abc
In[33]:=

Printa, " ", b, " ", c


Introducimos espacios entre las letras

a b c
In[34]:=

Print"Total ", 8 2 5
Imprime el texto y el resultado de la operacin

Total = 15

10

00.- Introduccin a Mathematica 7.0.nb

1.11.- USO DE LA AYUDA DE MATHEMATICA


A travs del men Help se dispone de una ayuda en lnea. Para obtener
ayuda para funciones, seleccione la Function Navigator. La informacin sobre las
funciones matemticas aparece en Mathematics and Algorithms/ Mathematical
Funtions. Seleccionando una funcin se abrir una ventana que describe la funcin y
proporciona varios ejemplos de su uso. Si no est seguro de qu categora debe
elegir, haga clic en cualquier categora. Entonces, aparecer una ventana y en la parte
superior de dicha ventana aparecer un espacio de bsqueda Search donde se
puede escribir lo que desea buscar.
Tambin puede encontrar ayuda eligiendo Documentation Center en el men
Help. Esto tambin abre una opcin de bsqueda. En la parte inferior de la ventana
Documentation Center puede seleccionar Index of Functions (que lista en orden
alfabtico, las funciones integradas que estn disponibles en Mathematica), y 'How To'
Topics que proporciona instrucciones sobre el uso de comandos comunes como Plot,
etc.
Para encontrar los tutoriales Screencast, abra Welcome Screen del men Help
y seleccione Learn and Explore. Esto le conectar a Wolfram Mathematica Centro de
Aprendizaje en lnea, el cual cuenta con la opcin de escuchar videos de aprendizaje.
Tambin estn disponibles Tutorials y 'How To' Topics en la misma pgina
web. Muchos de los temas que figuran en el 'How To' Topics proporcionan enlaces a
un vdeo, as como a diversa documentacin. Siendo muchas las opciones de ayuda
en Mathematica , usted debe ser capaz de encontrar la ayuda que necesita.
Tambin puede obtener ayuda de Mathematica en relacin con un comando
escribiendo en el Notebook ?Comando (por ejemplo: ?Plot). Tambin puede escribir
Options[Commando] para saber qu opciones estn disponibles para un comando y
cules son las configuraciones por defecto (por ejemplo: Options[Plot]). Esto es
particularmente til con los comandos de trazado de grficas.
Para encontrar todos los comandos que tienen una cadena de letras en comn
escriba Names["*cadena de letras*"], (por ejemplo: Names["*Plot*"]). Se puede
omitir el primer o segundo asterisco para encontrar los comandos que terminan o
comienzan con la cadena de letras elegida. Por ejemplo, para encontrar los nombres
de todos los comandos que empiezan con la palabra Plot, escriba Names["Plot*"];
para encontrar los nombres de los comandos que terminan con la palabra Plot, escriba
Names ["* Plot"].

00.- Introduccin a Mathematica 7.0.nb

Por ultimo, recordar que en el Kernel se encuentran introducidos los


procedimientos de clculo ms habituales. Los procedimientos ms complejos o
menos usuales se encuentran almacenados en diferentes Packages (paquetes)
adicionales que deben ser activados antes de realizar los clculos con ese tipo de
sentencias.
Estos paquetes los podemos encontrar en Add-Ons and Packages y en
Standard Extra Packages dentro de Help/ Documentation Center.
Ejemplo de aplicacin: queremos saber que da de la semana corresponde a
una fecha determinada.
Para ello, haremos: Help/ Documentation Center/
Packages/Cartography & Dates Packages/Calendar/DayOfWeek
In[35]:=

Standard

Extra

Needs"Calendar`"
Es necesario cargar el "paquete" previamente
Otra forma de cargar el mismo paquete sera la siguiente :

In[36]:=

Calendar`

Cargamos el mismo paquete utilizando

La diferencia entre las dos formas de cargarlo consiste en que si lo hacemos


mediante el comando Needs[ ] no vuelve a cargarlo si el paquete ya ha sido cargado
anteriormente, con el consiguiente ahorro de memoria en la mquina. podemos trabajar simblicamente :
In[37]:=

DayOfWeek1969, 7, 20 Llegada del hombre a la luna

Out[37]=

Sunday

2.- DEFINICIN DE FUNCIONES


2.1.- FUNCIONES PREDEFINIDAS
Mathematica dispone de un amplio abanico de funciones elementales
predefinidas. Como se coment, todas las funciones comienzan por letra mayscula.
En el caso de que el nombre est formado por varias palabras, las palabras comen-

11

12

00.- Introduccin a Mathematica 7.0.nb

zarn por mayscula y se escribirn sin dejar espacio entre ellas. Adems, los argumentos de las distintas funciones siempre van entre corchetes. Podremos teclearlas o
acceder a ellas a travs de las Paletas dentro del men Palettes.
Dentro de las funciones predefinidas podemos destacar las siguientes:
- Funciones trigonomtricas: Sin[ ], Cos[ ], Tan[ ], Cot[ ], Sec[ ], Csc[ ]
- Funciones trigonomtricas inversas:
ArcSin[ ], ArcCos[ ], ArcTan[ ], ArcCot[ ], ArcSec[ ], ArcCsc[ ]
- Funciones hiperblicas: Sinh[ ], Cosh[ ], Tanh[ ], Coth[ ], Sech[ ], Csch[ ]
- Funciones hiperblicas inversas:
ArcSinh[ ], ArcCosh[ ], ArcTanh[ ], ArcCoth[ ], ArcSech[ ], ArcCsch[ ]
- Valor absoluto: Abs[ ]
- Logaritmo neperiano o natural, en base "e": Log[ ]
- Logaritmo en una base cualquiera "a": Log[a, ]
- Exponencial: Exp[ ]
- Lmite: Limit[ ]
- Transformada de Laplace : LaplaceTransform[ ]
- Transformada inversa de Laplace: InverseLaplaceTransform[ ]

In[38]:=

CosPi 3
1

Out[38]=

In[39]:=

ArcTan7.

Out[39]=

-1.4289

In[40]:=

LogE^2

Out[40]=

In[41]:=

Log10, 1000

Out[41]=

Logaritmo neperiano, en base "e"


Logaritmo decimal, en base 10

00.- Introduccin a Mathematica 7.0.nb

2.2.- FUNCIONES DEFINIDAS POR EL USUARIO


A parte de las funciones predefinidas (trigonomtricas, hiperblicas,
exponencial, ...), Mathematica permite definir al usuario sus propias funciones de
forma sencilla.
Para ello, cuando definimos una funcin en Mathematica, debemos especificar
el nombre de la misma y cul es su variable independiente.
Dos formas de definir funciones:

f[x_, y_, ...] = expresin y


f[x_, y_, ...] := expresin
In[42]:=

fx_ x^3 2 x 3

Out[42]=

x3 - 2 x + 3

In[43]:=

fx_ : x^3 2 x 3

In[44]:=

gx_, y_ x^2 y^2 9

Out[44]=

x2 + y2 - 9

In[45]:=

gx_, y_ : x^2 y^2 9

Los nombres que representarn a las funciones deben seguir el mismo


criterio que el de las variables. No debemos olvidar el smbolo "_" que acompaa a
cada variable independiente y que garantiza que sta pueda ser sustituida por
cualquier expresin.
Una funcin 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 slo que la defina; las operaciones las har despus, cuando vayamos
a utilizar la funcin. 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 ms mensajes de
error se debe utilizar ":=". No obstante, utilizaremos preferiblemente la definicin con el
signo igual.
Una vez definida la funcin, podemos calcular el valor numrico de la funcin,
para distintos valores de "x" :
In[46]:=

f5

Out[46]=

118

In[47]:=

f5 18
14 381

Out[47]=

5832

Evaluamos la funcin fx para x5


Evaluamos la funcin fx para x518

13

14

00.- Introduccin a Mathematica 7.0.nb

In[48]:=

g4, 2

Out[48]=

11

Evaluamos la funcin gx,y para x4 e y2

Tambin podemos trabajar simblicamente :


In[49]:=

Out[49]=

Out[50]=

fa
fa b 2 Evaluamos la funcin fx para xa

xb2

a3 - 2 a + 3
a-

b
2

-2 a-

b
2

+3

2.2.1.- FUNCIONES DEFINIDAS A TROZOS


Las funciones definidas a trozos pueden introducirse de diferentes formas.
Por ejemplo, sea la funcin h(x)=3x, si x-2, h(x)= -4x, si -2<x<4, h(x)=x^2-1, si xr4.
Primera forma:

In[51]:=

hx_ : 3 x ; x 2;
hx_ : 4 x ; 2 x 4;
hx_ : x^2 1 ; x 4;
Segunda forma, usando el comando Which[ ]:

In[54]:=

hx_ : Whichx 2, 3 x, 2 x 4, 4 x, x 4, x^2 1;

Podemos representar esta funcin utilizando la orden Plot[ ]:

In[55]:=

Plothx, x, 10, 10
Plotfuncin,variable independiente e intervalo
100
80
60
40

Out[55]=

20

-10

-5

5
-20

10

00.- Introduccin a Mathematica 7.0.nb

2.2.2.- CLCULO SIMBLICO. OPERADOR DE REEMPLAZAMIENTO (/.)


Mathematica opera tambin con expresiones simblicas. En una expresin
simblica podemos sustituir las variables por valores concretos, o bien por otras
expresiones, mediante la utilizacin del operador reemplazamiento "/.".
Hay que destacar que este reemplazamiento es local, no quedando el valor asignado a
dichas variables.
In[56]:=

x^2 2 x 1 x y^2

Out[56]=

x2 + x y2 - 2 x + 1

In[57]:=

x 1; y 2;

In[58]:=

x^2 2 x 1 x y^2

Out[58]=

In[59]:=

Clearx, y

In[60]:=

a x^2 2 x 1 x y^2

Out[60]=

x2 + x y2 - 2 x + 1

In[61]:=

a . x 3

Out[61]=

3 y2 + 4

In[62]:=

Out[62]=

x2 + x y2 - 2 x + 1

In[63]:=

x 2; a

Out[63]=

2 y2 + 1

In[64]:=

Clearx, y

In[65]:=
Out[65]=

x^2 2 x 1 x y^2 . x 1
y2

In[66]:=

x^2 2 x 1 x y^2 . x b

Out[66]=

b2 + b y2 - 2 b + 1

In[67]:=

x^2 2 x 1 x y^2 . x 1, y 2

Out[67]=

In[68]:=

2x3y

Out[68]=

2x+3 y

15

16

00.- Introduccin a Mathematica 7.0.nb

2.3.- EXPRESIONES ALGEBRAICAS (POLINMICAS /


RACIONALES)
A veces la solucin que nos da Mathematica no aparece de la forma que
nos gustara. Algunas de las funciones de Mathematica ms habituales para manipular
expresiones algebraicas son:
Simplify[expresin] ( expresin//Simplify)
Factor[expresin]
( expresin//Factor)
Expand[expresin]
( expresin//Expand)
Apart[expresin]
( expresin//Apart)
Together[expresin] ( expresin//Together)
Cancel[expresin]
( expresin//Cancel)
Se recomienda, o bien recurrir a la ayuda o bien preguntar en el propio FrontEnd, con (?) o (??), para tener la informacin necesaria sobre cada una de dichas
funciones. Por ejemplo, ?Apart.
In[69]:=

Apart1 1 x 5 x
4 x + 1
1

Out[69]=

4 x + 5
1

In[70]:=

x 2^5 x 1^3 x 6 Expand

Out[70]=

x9 - 13 x8 + 55 x7 - 67 x6 - 116 x5 + 308 x4 + 16 x3 - 400 x2 + 64 x + 192

In[71]:=

Simplify3 2 x
1

Out[71]=

In[72]:=

Out[72]=

x + y3 - 2 x + y + 3

y
2

x
2

y
2

^3

Factorx 9 13 x 8 55 x 7 67 x 6 116 x 5 308 x 4 16 x 3 400 x 2 64 x 192


x - 6 x - 25 x + 13

Tambin podemos extraer el numerador y el denominador de una fraccin de manera


separada. Los comandos que realizan eso son: Numerator[ ] y Denominator[ ]
In[73]:=

fraccin

x5
x^3 5 x 3

x-5
Out[73]=

x3 - 5 x + 3

In[74]:=

num Numerator fraccin

Out[74]=

x-5

In[75]:=

den Denominator fraccin

Out[75]=

x3 - 5 x + 3

00.- Introduccin a Mathematica 7.0.nb

Para hacer una comprobacin de resultados utilizamos el factor de reemplazamiento:


In[76]:=

num . x 2

Evaluamos el numerador para x2

Out[76]=

-3

Evaluamos el denominador para x2

In[77]:=

den . x 2

Out[77]=

In[78]:=

fraccin . x 2

Out[78]=

-3

Evaluamos la fraccin para x2

3.- RESOLUCIN DE ECUACIONES Y DE


SISTEMAS DE ECUACIONES
3.1.- ECUACIONES SIMPLES
Una ecuacin es una de las representaciones de una funcin. En Mathematica para definir una ecuacin usaremos dos signos de igualdad "==" que irn
situados entre el primer miembro y segundo miembro de la ecuacin. Por ejemplo:
2x+3==3x+2.
Para determinar los ceros de una funcin, podemos usar los comandos:

Solve[ecuacin, variables] y
NSolve[ecuacin, variables]
Los comandos anteriores los podemos encontrar en las paletas Basic Math
Assistant y Classroom Assistant en la opcin Basic Commands/y=x/More dentro del
men Palettes.
Siempre que la funcin sea polinmica o tenga una forma sencilla de expresin, Solve[ ] da el valor exacto de las races de la funcin y NSolve[ ] da el valor
aproximado de las mismas.
Otro comando interesante es:

Reduce[ecuacin, variables]
Este comando es similar al Solve con la diferencia de que trata de obtener
todas las posibles soluciones. Reduce[ ] realiza la simplificacin lgica previa de la
ecuacin antes de pasar a su resolucin. Es decir, se reduce la ecuacin a un conjunto de ecuaciones o relaciones ms sencillas.

17

18

00.- Introduccin a Mathematica 7.0.nb

In[79]:=

Clear""
Clear::wrsym : Symbol a is Protected.
Clear::wrsym : Symbol b is Protected.
Clear::wrsym : Symbol c is Protected.
General::stop : Further output of Clear::wrsym will be suppressed during this calculation.

In[80]:=

Out[80]=

In[81]:=

Out[81]=
In[82]:=
Out[82]=
In[83]:=
Out[83]=
In[84]:=

Out[84]=

sol1 Solvex^2 2 x 7 0, x Valor exacto de las races


x -1 - 2

2 , x 2

2 - 1

sol1 NSolvex^2 2 x 7 0, x
Valor aproximado de las races
x -3.82843, x 1.82843

sol3 Solvex^2 2 x 7 0, x N
x -3.82843, x 1.82843

Hace lo mismo que NSolve

sol4 Reducex^2 2 x 7 0, x N
x -3.82843 x 1.82843

sol5 Solvea x^2 b x c 0, x


Podemos tambin dejar el resultado en funcin de parmetros
x

b2 - 4 a c - b
2a

, x

b2 - 4 a c - b
2a

Para extraer las races podemos hacer, por ejemplo:


In[85]:=

Out[85]=

sol1 Solvex^2 2 x 7 0, x
x -1 - 2

2 , x 2

In[86]:=

x1 x . sol11

Out[86]=

-1 - 2

2 - 1

In[87]:=

x2 x . sol12

Out[87]=

2 -1

Las rdenes anteriores utilizan mtodos analticos de resolucin. No obstante,


para la resolucin de funciones polinmicas tambin podemos utilizar rdenes que
utilizan mtodos numricos como:

Roots[ecuacin, variables] y
NRoots[ecuacin, variables]

00.- Introduccin a Mathematica 7.0.nb

In[88]:=

Rootsx^2 2 x 7 0, x

Out[88]=

x -1 - 2

In[89]:=

NRootsx^2 2 x 7 0, x

Out[89]=

2 x 2

2 -1

x -3.82843 x 1.82843

En el caso de que la funcin sea ms compleja, se pueden calcular aproximaciones de las races utilizando la orden FindRoot[ ], que utiliza mtodos numricos
para su resolucin.
El comando FindRoot[ ] es til para aproximar algn cero de la funcin dada.
Podemos utilizarla en una de las dos siguientes versiones:

FindRoot[funcin,{x,x0}] que utiliza el mtodo de Newton (o mtodo de la


tangente) tomando como punto incial x=x0.

FindRoot[funcin,{x,x0,x1}] que utiliza una variante del mtodo de la secante


tomando como puntos iniciales x=x0 y x=x1.
Como este comando usa mtodos aproximados iterativos, es posible que si
damos valores muy alejados para los puntos iniciales, Mathematica no pueda encontrar una solucin (o la solucin que buscamos). Es conveniente hacer primero una
grfica de la funcin para ver dnde se anula la funcin (ms adelante explicaremos
algo ms sobre las representaciones grficas).
Por ejemplo, hallemos un cero de la funcin f(x)=sen(3x)-cos(2x):

In[90]:=

PlotSin3 x Cos2 x, x, 3, 3
Plotfuncin,variable independiente e intervalo
2.0
1.5
1.0
0.5

Out[90]=

-3

-2

-1

-0.5
-1.0
-1.5

Observamos que la funcin presenta uno de los ceros en el intervalo (0,1).


Por lo tanto podemos hallar dicho cero haciendo:

19

20

00.- Introduccin a Mathematica 7.0.nb

In[91]:=
Out[91]=
In[92]:=

Out[92]=

FindRootSin3 x Cos2 x 0, x, 0, 1
x 0.314159

FindRootSin3 x Cos2 x, x, 0, 1
Tambin funciona sin ""
x 0.314159

Repitiendo el procedimiento, podemos hallar cualquier otra raz que


deseemos.
Vamos a comprobar, utilizando NSolve[ ], que la solucin hallada coincide. No
obstante, cabe sealar que NSolve[ ] no nos da todas las races de este tipo de
funciones.
In[93]:=

NSolveSin3 x Cos2 x 0, x
Solve::ifun :
Inverse functions are being used by Solve, so some solutions may not be found; use Reduce for complete
solution information.

Out[93]=

x -2.19911, x -0.942478, x 0.314159, x 1.5708, x 2.82743

3.2.- SISTEMAS DE ECUACIONES


Para sistemas de ecuaciones algebraicas bastar escribir las ecuaciones
entre llaves e indicar las variables del sistema.
In[94]:=

Out[94]=

In[95]:=

Out[95]=

In[96]:=

Out[96]=

sol
Solve3 x 2 y 3 z 2, 2 x 5 y z 7, 8 x 2 y z 1, x, y, z
x

45
161

, y-

172
161

,z

177
161

sol
Reduce3 x 2 y 3 z 2, 2 x 5 y z 7, 8 x 2 y z 1, x, y, z
x

45
161

y-

172
161

177
161

sol
NSolve3 x 2 y 3 z 2, 2 x 5 y z 7, 8 x 2 y z 1, x, y, z
x 0.279503, y -1.06832, z 1.09938

Para extraer las races podemos hacer, por ejemplo:

In[97]:=

x x . sol1

Out[97]=

0.279503

00.- Introduccin a Mathematica 7.0.nb

In[98]:=

y y . sol1

Out[98]=

-1.06832

In[99]:=

z z . sol1

Out[99]=

1.09938

4.- LISTAS, VECTORES Y MATRICES


4.1.- LISTAS
Una lista es un conjunto de elementos cualesquiera separados por comas
y agrupados en unas llaves. Para manipular listas es conveniente darles un nombre.
In[100]:=

Clear""
Clear::wrsym : Symbol a is Protected.
Clear::wrsym : Symbol b is Protected.
Clear::wrsym : Symbol c is Protected.
General::stop : Further output of Clear::wrsym will be suppressed during this calculation.

In[101]:=
Out[101]=
In[102]:=
Out[102]=

lista1 0, 1, 2, 3
0, 1, 2, 3

lista2 4, 5, 6, 7
4, 5, 6, 7

Una lista se puede considerar como una nica variable y se puede referenciar
a un elemento concreto de ella indicando su orden entre dos corchetes.
In[103]:=
Out[103]=
In[104]:=
Out[104]=
In[105]:=
Out[105]=

3 lista2

12, 15, 18, 21

lista3 lista1^2
0, 1, 4, 9

lista34 Obtenemos el cuarto elemento de la lista


9
Con el comando Table[ ] tambin podemos generar una lista:

In[106]:=

Out[106]=

lista4 Tablea2 1, a, 1, 6
0, 3, 8, 15, 24, 35

En una misma lnea pueden aparecer elementos de distinto tipo (variables,


valores numricos, texto, listas,...)

21

22

00.- Introduccin a Mathematica 7.0.nb

In[107]:=
Out[107]=
In[108]:=

Out[108]=

lista5 x, 2, 3, casa, a, b, c
x, 2, 3, casa, a, b, c

lista6 AppendTolista4, colegio


AppendToa,baade a la lista "a" el elemento "b"
0, 3, 8, 15, 24, 35, colegio

Tambin podemos construir una grfica a partir de una lista. Por ejemplo,
supongamos que la lista1 representa tiempos y la lista2 las velocidades de una
partcula en dichos tiempos. Para construir la grfica podemos hacer lo siguiente:
In[109]:=

Out[109]=

In[110]:=

lista7 Transposelista1, lista2 Transpose Transpuesta


0
1
2
3

4
5
6
7

ListPlotlista7, PlotStyle PointSize0.02


7.0
6.5
6.0

Out[110]= 5.5

5.0
4.5

0.5

1.0

1.5

2.0

2.5

3.0

4.2.- VECTORES Y MATRICES


Para definir un vector basta con escribir sus coordenadas entre llaves y
separados por comas. Es decir, es una lista unidimensional.

In[111]:=
Out[111]=
In[112]:=
Out[112]=

u 2, 4, 7
2, 4, 7

v 1, 0, 3
1, 0, 3

In[113]:=

u.v

Out[113]=

23

Producto escalar de los vectores u y v

00.- Introduccin a Mathematica 7.0.nb

In[114]:=

Out[114]=
In[115]:=
Out[115]=
In[116]:=
Out[116]=

Dotu.v
Tambin halla el producto escalar de los vectores u y v
23
uv

2, 0, 21
12, 1, -4

Cuidado As multiplicamos elemento a elemento

Crossu, v

Producto vectorial de los vectores u y v

4.2.1.- FORMAS DE INTRODUCIR UNA MATRIZ


Varias formas de introducir una matriz:
1) Una matriz, igual que un vector, la podemos expresar como una lista.
Bastar escribirla como un vector de vectores que correspondern a las filas de la
matriz.
2) Tambin se pueden usar, por ejemplo, dentro del men Palettes, las paletas Basic Math Assistant y Classroom Assistant en la opcin Advanced. A partir de
una matriz 2x2 podremos construir la que deseemos pulsando dentro de la misma
paleta "Row+" o "Col+" para aadir filas o columnas, respectivamente. Podemos
conseguir lo mismo pulsando en el teclado CTRL + ENTER para aumentar el nmero
de filas o CTRL + ", " para aumentar las columnas.
3) Seleccionado Table/Matrix/New dentro del men Insert. En este ltimo
caso, podemos introducir directamente el nmero de filas y columnas que queramos
que tenga la matriz. Tiene inters especialemente para matrices grandes. No
obstante, tambin podremos modificar su nmero de filas y/o columnas. Se
recomienda poner la matriz entre parntesis.
4) Utilizando rdenes incorporadas. Por ejemplo, IdentityMatrix[n].

In[117]:=

Out[117]=

In[118]:=

Out[118]=

a 1, 2, 3, 4
1 2
3 4
b
5 6
7 8

5 6
7 8

23

24

00.- Introduccin a Mathematica 7.0.nb

In[119]:=

Out[119]=

In[120]:=

Out[120]=

matriz_identidad IdentityMatrix3
Matriz identidad de orden 3x3
1 0 0
0 1 0
0 0 1
matriz_diagonal
DiagonalMatrix2 m, 5, k3

Matriz diagonal

2m 0 0
0 5 0
0 0 k3

4.2.2.- ALGUNAS OPERACIONES CON MATRICES


In[121]:=

In[122]:=

3a

Out[122]=

In[123]:=

Out[123]=

In[124]:=

Out[124]=

In[125]:=
Out[125]=
In[126]:=

Out[126]=

In[127]:=

Out[127]=

In[128]:=
Out[128]=
In[129]:=

Out[129]=

1 2
;b
3 4

5 6
;
7 8

Producto de la matriz por un escalar

3 6
9 12

Producto de matrices. No es conmutativo

a.b
19 22
43 50

Producto de matrices. No es conmutativo

b.a
23 34
31 46

Obtenemos el determinante de la matriz

Deta
-2

Transposea
1 3
2 4
Inversea
-2

3
2

-2

Obtenemos la transpuesta de la matriz


Obtenemos la matriz inversa

Eigenvaluesa N
5.37228, -0.372281

Eigenvectorsa N
0.457427 1.
-1.45743 1.

Obtenemos los autovalores


Obtenemos los autovectores

00.- Introduccin a Mathematica 7.0.nb

In[130]:=

Eigensystema N
Obtenemos los autovalores y autovectores
5.37228
-0.372281
0.457427, 1. -1.45743, 1.

Out[130]=

In[131]:=
Out[131]=
In[132]:=
Out[132]=
In[133]:=

Out[133]=

Dimensionsa1
2

Obtenemos el n de filas de la matriz


Obtenemos el n de columnas

Dimensionsa2
2

Dimensionsa
Obtenemos el n de filas y columnas de la matriz
2, 2

Recordando el sistema de ecuaciones del apartado 3.2., lo resolvamos


haciendo, por ejemplo:
In[134]:=

Out[134]=

sol
Solve3 x 2 y 3 z 2, 2 x 5 y z 7, 8 x 2 y z 1, x, y, z
x

45
161

, y-

172
161

,z

177
161

Aplicando ahora la forma matricial, podemos hacer lo siguiente:


3 2 3
2 5 1 ; b
8 2 1

x
y ;c
z

2
7 ;
1

In[135]:=

In[136]:=

sol Solvea.b c, x, y, z

Out[136]=

45
161

, y-

172
161

,z

177
161

25

26

00.- Introduccin a Mathematica 7.0.nb

5.- OTRAS OPERACIONES DE CLCULO


Mathematica puede realizar diversas operaciones de clculo, tales
como derivacin, integracin, lmites, sumas y productos de series conocidas, ecuaciones diferenciales...
Los comandos correspondientes se pueden encontrar en la paleta Basic Math
Assistant en el men Palettes, y ms concretamente en la pestaa dS de la seccin
Basic Commands o en la pestaa Advanced de la seccin Calculator.

5.1.- DERIVACIN
A continuacin se muestran las rdenes correspondientes para hallar las
derivadas de una funcin:
- f'[x] calcula la derivada de f(x) con respecto a la variable x
- D[f[x],x] hace lo mismo que la orden anterior
- D[f[x],{x, n}] calcula la derivada ensima de f (x) con respecto a la variable x
- D[expresin,variable] calcula la derivada de la expresin con respecto a la
variable.
Si la expresin es una funcin de ms de una variable, este comando
calcular la derivada parcial de la expresin
- D[expresin,{variable,n}] calcula la derivada ensima de expresin con
respecto a la variable.
- x f calcula la primera derivada de f con respecto a la variable x
- x,x f calcula la segunda derivada de f con respecto a la variable x
- x,z f calcula la derivada de f con respecto a la variable x, y a continuacin
respecto a la variable z
- D[f[x,z,],x,z] hace lo mismo que la orden anterior

In[137]:=

Out[137]=
In[138]:=
Out[138]=
In[139]:=
Out[139]=
In[140]:=
Out[140]=

fx_ x^3 2 x 3
x3 - 2 x + 3
f'x
3 x2 - 2
Dfx, x
3 x2 - 2

Dfx, x, 2
6x

00.- Introduccin a Mathematica 7.0.nb

In[141]:=
Out[141]=
In[142]:=
Out[142]=
In[143]:=
Out[143]=
In[144]:=

Out[144]=

x 3 x^2 z^2 x z
6 x z2 + z

x,z 3 x^2 z^2 x z


12 x z + 1
D3 x^2 z^2 x z, x, z
12 x z + 1

x,x 3 x^2 z^2 x z


6 z2

5.2.- INTEGRACIN
Mathematica puede evaluar integrales definidas e indefinidas. Para
resolver integrales tenemos dos formas:
- o bien usamos la orden Integrate[ ],
- o bien los smbolos de la paleta Basic Math Assistant en el men Palettes, y
ms concretamente en la pestaa dS de la seccin Basic Commands o en la pestaa
Advanced de la seccin Calculator.
La orden Integrate[ ] tiene tres usos distintos:
- Integrate[f[x],x] para calcular la primitiva de f(x) con respecto a la variable x.
- Integrate[f[x],{x,xmin,xmax}] para la integral definida de f(x) con respecto
a la variable x en el intervalo xmin y xmax.
- Integrate[f[x],{x,xmin,xmax},{y,ymin,ymax}] para la integral mltiple (doble)
de f(x) con respecto a la variables x e y.
Tambin es posible calcular integrales numricas. Para ello, utilizaremos la
orden NIntegrate[ ], la cual nos proporcionar un valor aproximado en lugar del
exacto.
In[145]:=

Clear""
Clear::wrsym : Symbol a is Protected.
Clear::wrsym : Symbol b is Protected.
Clear::wrsym : Symbol c is Protected.
General::stop : Further output of Clear::wrsym will be suppressed during this calculation.

In[146]:=

Out[146]=

1
x

logx

Integrate1x,x

27

28

00.- Introduccin a Mathematica 7.0.nb

In[147]:=

Out[147]=

In[148]:=

In[149]:=

Integrate1x,x,2,6

log3

x N

1
x

Out[148]=

NIntegrate1x,x,2,6

1.09861
2
x y x y

Tambin x2 *yyx

x3 y2
Out[149]=

6
2
2
x y y x Integratex *y,x,1,2,y,0,1
2

In[150]:=

7
Out[150]=

6
2
2
x y x y Integratex *y,y,1,2,x,0,1
2

In[151]:=

1
Out[151]=

2
2
x y y x
2

In[152]:=

4
Out[152]=

b2 - 1

2
x y x y
0

2
Out[153]=

In[154]:=

12

Tambin x2 *y*zxyz

x3 y2 z2

2
2
x y z z y x Integratex *y*z,x,1,2,y,0,1,z,0,2
1

7
Out[155]=

Integratex2 *y,y,0,2,x,1,b

2
x y z z y x

In[155]:=

b3 - 1

1
Out[154]=

Integratex2 *y,x,0,2,y,1,b

In[153]:=

00.- Introduccin a Mathematica 7.0.nb

2
2
x y z x y z Integratex *y*z,z,1,2,y,0,1,x,0,2
2

In[156]:=

Out[156]=

5.3.- LMITES
Los lmites calculados por Mathematica pueden depender de la forma de
la entrada. Mathematica puede decirte que un lmite es cero, o no existe, aun cuando
exista un lmite finito. Asegrese de revisar su respuesta y ver si es fiable. Es posible
que desee probar varias formas diferentes para la entrada, y ver si se obtienen
respuestas diferentes.
Para obtener ms informacin, busque en la ayuda de Mathematica (por ejemplo, busque el Documentation Center disponible en el men Help para Limit. La sintaxis del comando es Limit[expresin,x->a]. Cuando se quiera hallar el lmite por la
izquierda la sintaxis ser Limit[expresin,x->a,Direction->1] y se quiere por la
derecha Limit[expresin,x->a,Direction->-1] , infinito es Infinity y el menos infinito
es -Infinity (o puede utilizar el smbolo de infinito, , que se puede encontrar en
varios lugares (por ejemplo, en la seccin de Basic Math Assistant o Writing Assistant,
o en Special Character del men Insert. Tambin puede utilizar el smbolo de la
paleta Basic Math Input dentro de Palettes/Other.
In[157]:=

Out[157]=
In[158]:=

Out[158]=
In[159]:=

LimitSinx^2 1 x, x 0, Direction 1
Lmite lateral por la izquierda
-

LimitSinx^2 1 x, x 0, Direction 1
Lmite lateral por la derecha

PlotSinx^2 1 x, x, 3, 3
6
4
2

Out[159]=

-3

-2

-1

1
-2
-4

29

30

00.- Introduccin a Mathematica 7.0.nb

5.4.- SUMAS Y PRODUCTOS DE UNA SERIE


Mathematica es capaz de calcular sumas y productos de una serie conocida. Las rdenes principales son:
- Sum[f,{i,imx}] Calcula la suma i=i f
imax

- Sum[f,{i,imin,imx}] Calcula la suma i=imin f


imax

- Sum[f,{i,imin,imx,di}] Calcula la suma i=imin f con i incrementndose con


un paso de valor di
imax

- Sum[f,{i,imin,imx},{j,jmin,jmx}] Calcula la suma anidada i=imin i=imin f


imax

- Product[f,{i,imin,imx}] Calcula el producto imax


i=imin f

In[160]:=
Out[160]=
In[161]:=
Out[161]=
In[162]:=

Sumi^2, i, 5
55

Sumi, i, 3, 7, 2
15

Sum1 n^4, n, 1, Infinity


p4

Out[162]=

90

In[163]:=

n1

1
n4

Sumatorio anterior utilizando paletas

p4
Out[163]=

In[164]:=
Out[164]=
In[165]:=
Out[165]=

90

Producti, i, 1, 4
24

Productx i, i, 1, 4
x + 1 x + 2 x + 3 x + 4

imax

00.- Introduccin a Mathematica 7.0.nb

5.5.- ECUACIONES DIFERENCIALES ORDINARIAS


5.5.1.- SOLUCIN UTILIZANDO "DSolve"
- Para obtener, en caso de que sea posible, la solucin general de una
ecuacin diferencial F(x,y,y',y'',...,yn = 0, utilizaremos la funcin de Mathematica:

DSolve[ecuacin,y[x],x]
DSolve es un comando de Mathematica empleado para resolver ecuaciones
diferenciales ordinarias, tanto lineales como no lineales, y sistemas de ecuaciones
diferenciales ordinarias.
El comando DSolve[ecuacin,y[x],x] resuelve la ecuacin diferencial dada,
en una ecuacin para la variable dependiente y[x] en trmino de la variable independiente x.
- Con la funcin Dsolve podemos resolver tambin problemas de valor inicial,
introduciendo las condiciones iniciales de la siguiente forma:

DSolve[{ecuacin,condiciones},y[x],x]
- La orden DSolve[{ec1,ec2,...},{y1[x],y2[x],...},x] resuelve el sistema de
ecuaciones diferenciales ordinarias definidas en la lista {ec1,ec2,...} para las variables
dependientes {y1[x],y2[x],...} en trminos de x.
- De igual manera, se puede incluir condiciones iniciales en el comando con:

DSolve[{ec1,ec2,...,condiciones},{y1[x],y2[x],...},x]
Ejemplos:
- Se pide resolver las siguientes ecuaciones diferenciales:
1) dy/dx=ay (Es decir, y'=ay)
2) x2 y'' -2 xy' +2 x = x4 ex
Para ello, escribiremos en Mathematica:
In[166]:=

Out[166]=

sol1 DSolvey'x a yx, yx, x


dydxay, es decir, y'ay
yx c1 a x

Es decir, la solucin general es: c1 a x , donde c1 es una constante arbitraria.


Para extraer la raiz podemos hacer, por ejemplo:

31

32

00.- Introduccin a Mathematica 7.0.nb

In[167]:=
Out[167]=
In[168]:=

Out[168]=

y1 yx . sol11
c1 a x
sol2 DSolvex^2 y''x 2 x y'x 2 yx x^4 Expx, yx, x
x2 y''2xy'2yx4 x
yx c2 x2 + c1 x + x x2 - 2 x

Tambin podemos usar las paletas:


In[169]:=

Out[169]=

x2 y''2xy'2yx4 x

sol2 DSolvex2 x,x yx 2 x x yx 2 yx x4 x , yx, x


yx c2 x2 + c1 x + x x2 - 2 x

Podemos observar que, si no se especifican las condiciones iniciales, Mathematica da las soluciones con un nmero apropiado de coeficientes indeterminados.
En este ejemplo, c1 y c2 ).
Ahora veamos unos ejemplos con condiciones iniciales:
- Se pide resolver la siguiente ecuacin diferencial:
y''-2y=8x;
Siendo las condiciones iniciales: y(0)=2 e y'(0)=-3
In[170]:=

Out[170]=

sol3 DSolvey''x 2 yx 8 x, y0 2, y'0 3, yx, x


yx

1
4

2 x

-16

2 x

x+

2 2

2 x

+ 4 2

2 x

2 + 4

- Se pide resolver el siguiente sistema de ecuaciones diferenciales:


x'(t)+2x(t)-3y(t)=0;
y'(t)+2y(t)-x(t)=0;
Siendo las condiciones iniciales: x(0)=0 e y(0)=3
In[171]:=

Out[171]=

sol4 DSolvex't 2 xt 3 yt 0,
y't 2 yt xt 0, x0 0, y0 3, xt, yt, t
xt -

3
2

-2- 3 t

3 -2 t

, yt

3
2

-2- 3 t

3 -2 t

En el caso de no considerar condiciones iniciales, el sistema se resolvera


evaluando:

00.- Introduccin a Mathematica 7.0.nb

In[172]:=

Out[172]=

sol5 DSolvex't 2 xt 3 yt 0,
y't 2 yt xt 0, xt, yt, t
xt

1
2

yt

c1

-2- 3 t

1
2

3 -2 t

c2

-2- 3 t

3 -2 t

3 c2

-2- 3 t

1
2

c1

-2- 3 t

3 -2 t

3 -2 t

Para extraer la races podemos hacer, por ejemplo:

In[173]:=

x5 xt . sol51
1

Out[173]=

In[174]:=

-2- 3 t

3 -2 t

y5 yt . sol51
1

Out[174]=

c1

c2

-2- 3 t

3 -2 t

1
2

3 c2

-2- 3 t

c1

-2- 3 t

3 -2 t

3 -2 t

5.5.2.- SOLUCIN APROXIMADA UTILIZANDO "NDSolve"


Para obtener una solucin numrica (aproximada) a los problemas de valor
inicial/contorno en un cierto intervalo emplearemos la funcin:

NDSolve[{ecuacin,condiciones},y[x],{x,xmin,xmax}]
Las soluciones as obtenidas se podrn evaluar en puntos pertenecientes al
intervalo considerado, as como representar grficamente.
In[175]:=

Out[175]=

In[176]:=
Out[176]=

sol6 NDSolve5 x''t x't xt^3 Sin5 t,


x0 1, x'0 2, x, t, 0, 15
x InterpolatingFunction 0. 15. , <>

x6 xt . sol61

InterpolatingFunction 0. 15. , <>t

33

34

00.- Introduccin a Mathematica 7.0.nb

In[177]:=

Plotx6, t, 0, 15
1.5
1.0
0.5

Out[177]=

10

12

14

-0.5
-1.0
-1.5
-2.0

Nota: Las soluciones numricas dependen de muchos parmetros, y pueden


ser muy inexactas si estos parmetros no son los adecuados. Debido a ello, es
recomendable estudiar el comando NDSolve en la ayuda de Mathematica y tambin
estudiar libros de mtodos numricos para estar seguro de que la solucin numrica
nos est dando una informacin realmente til.

5.6.- TRANSFORMADAS INTEGRALES


5.6.1.- TRANSFORMADA DE LAPLACE
Mathematica puede calcular transformadas de Laplace y transformadas inversas de Laplace de funciones simples. La sintaxis general es:

LaplaceTransform[expresin,t,s]
InverseLaplaceTransform[expresin,s,t]
Donde "t" es la variable independiente en la expresin y "s" es el parmetro
independiente de la transformada de Laplace de la expresin.
In[178]:=

Clear""
Clear::wrsym : Symbol a is Protected.
Clear::wrsym : Symbol b is Protected.
Clear::wrsym : Symbol c is Protected.
General::stop : Further output of Clear::wrsym will be suppressed during this calculation.

In[179]:=

LaplaceTransform5t , t, s
1

Out[179]=

s+5
1

In[180]:=

Out[180]=

InverseLaplaceTransform
-5 t

s5

, s, t

00.- Introduccin a Mathematica 7.0.nb

Nota: Podemos usar la transformada de Laplace para resolver ecuaciones


diferenciales lineales.
Supongamos la ecuacin diferencial:
y''[t] + y'[t] + y[t] Sin[t];
con condiciones iniciales: y[0] 0, y'[0] 0
La solucin ser:
In[181]:=

Out[181]=

sol1 DSolvey''t y't yt Sint, y0 0, y'0 0,


yt, t Simplify
yt

1
3

-t2

3 t

3 sin

+ 3 cos

3 t
2

- cost

Extraemos la solucin obtenida:

In[182]:=

y1 yt . sol11
1

Out[182]=

-t2

3 sin

3 t
2

+ 3 cos

3 t
2

- cost

Ahora calculamos la transformada de Laplace de y[t] sustituyendo las condiciones iniciales:


In[183]:=

Out[183]=

SolveLaplaceTransformy''t y't yt Sint, t, s .


y0 0, y'0 0 0, LaplaceTransformyt, t, s
Lt yt s

1
s4 + s3 + 2 s2 + s + 1

Extraemos la solucin obtenida:

In[184]:=

LaplaceTransformyt, t, s . 1
1

Out[184]=

s4 + s3 + 2 s2 + s + 1
Calculamos la transformada inversa:

In[185]:=

y2 yt_ InverseLaplaceTransform, s, t
1

Out[185]=

-t2

3 sin

3 t
2

+ 3 cos

3 t
2

- cost

por ltimo, comprobamos la soluciones obtenidas:


In[186]:=
Out[186]=

y1 y2
True

35

36

00.- Introduccin a Mathematica 7.0.nb

5.6.2.- TRANSFORMADA DE FOURIER


Mathematica puede calcular transformadas de Fourier y transformadas inversas de Fourier de diversas funciones. La sintaxis general es:

FourierTransform[expresin,t,w]
InverseFourierTransform[expresin,w,t]
FourierTransformt t , t, w
2

In[187]:=

w2

- 4 w
Out[187]=

2
w2

In[188]:=

InverseFourierTransform

4 w
2

, w, t

-t t
2

Out[188]=

6.- REPRESENTACIONES GRFICAS


6.1.- REPRESENTACIN GRFICA EN 2D
El comando bsico para la representacin grfica de funciones es:

Plot[funcin,{x,xmin,xmax}]
donde x es la variable independiente y xmin y xmax son los extremos del
intervalo del dominio de la funcin que deseamos representar. Por ejemplo:
In[189]:=

yx_
x + 3

Out[189]=

2x

x 3
2x

00.- Introduccin a Mathematica 7.0.nb

In[190]:=

Plotyx, x, 6, 6
20
15
10
5

Out[190]=

-6

-4

-2

-5
-10

Nota: Las grficas son imgenes y su tamao puede modificarse. Para ello,
las seleccionaremos con el botn izquierdo del ratn. Despus, haciendo clic en
cualquier esquina y manteniendo apretado el botn izquierdo del ratn, arrastramos la
esquina hasta conseguir el tamao deseado.
Adems, como ya se haba comentado anteriormente, podemos calcular el
valor numrico de la funcin ya definida, para distintos valores de la variable independiente:
In[191]:=

y2.5

Out[191]=

3.0365

Evaluamos la funcin yx para x2.5

Obsrvese que tambin podemos introducir directamente la funcin a la hora


de utilizar "Plot":
In[192]:=

PlotTanx, x, 6, 6
6
4
2

Out[192]=

-6

-4

-2

-2
-4
-6

Tenemos la opcin de representar varias funciones en el mismo dibujo. Para


ello, usaremos el comando Plot, indicando como primer argumento la lista de
funciones.

37

38

00.- Introduccin a Mathematica 7.0.nb

In[193]:=

, Tanx, x, 6, 6
2x
La lista de funciones entre llaves
Plot

x 3

10

5
Out[193]=

-6

-4

-2

-5

A menudo, es conveniente darle nombre a las grficas.


Por ejemplo:
p1=Plot[funcin,{x,xmin,xmax}] da a la funcin el nombre "p1". Haciendo
esto, podremos usar el comando Show para mostrar a la vez diversar grficas
definidas por comandos similares. Por ejemplo:
In[194]:=

p1 Plotx, x, 5, 5;

p2 Plotx2 , x, 5, 5;

p3 PlotCosx, x, 5, 5;

In[197]:=

Showp1, p2, p3
4

Out[197]=

-4

-2

-2

-4

6.1.1.- GRFICAS
PARAMTRICA

DE

FUNCIONES

EXPRESADAS

EN

FORMA

El comando utilizado en este caso es:

ParametricPlot[{x[t],y[t]},{t,tmin,tmax}], donde x[t] e y[t] son las expre-

siones de "x" e "y" en funcin del parmetro "t".


Por ejemplo, representemos la funcin: (x(t),y(t)) = (2t,Sen(3t)*t), variando el
parmetro "t" en el intervalo [-15,15].

00.- Introduccin a Mathematica 7.0.nb

In[198]:=

ParametricPlot2 t, Sin3 t t, t, 15, 15


10
5

Out[198]=

-30

-20

-10

10

20

30

-5
-10

Nota: En el tema de vibraciones mecnicas utilizaremos esta opcin para hallar el


plano de fase, es decir, la grfica que relaciona el desplazamiento con la velocidad,
siendo ambas funcin del tiempo.

6.1.2.- GRFICAS LINEALES Y LOGARTMICAS


El comando Plot[y[x],{x,xmin,xmax}] crea una grfica en la que en ambos
ejes se emplea la escala lineal.
El comando LogPlot[y[x],{x,xmin,xmax}] crea una grfica en la que en el
eje "Y" se emplea la escala logartmica y el eje "X" la escala lineal.
El comando LogLogPlot[y[x],{x,xmin,xmax}] crea una grfica en la que en
ambos ejes se emplea la escala logartmica.
El comando LogLinearPlot[y[x],{x,xmin,xmax}] crea una grfica en la que
en el eje "Y" se emplea la escala lineal y en el eje "X" la logartmica.
Ejercicio: Represntese la funcin y = x * -5 x en el intervalo [0.001,5] empleando diferentes escalas.

6.1.3.- OPCIONES GRFICAS


Cuando Mathematica realiza un grfico, tiene que elegir cmo realizar la representacin grfica (escalas, ejes, origen, color, grosor de lnea, ...). En muchas ocasiones, Mathematica probablemente har una buena eleccin. No obstante, si se
desea cambiar algunas de estas opciones se pueden utilizar las rdenes que veremos

39

40

00.- Introduccin a Mathematica 7.0.nb

en esta seccin.
Como ltimo argumento del comando, por ejemplo Plot[ ], se puede incluir
una secuencia de rdenes del tipo:
nombre->valor, para especificar el valor de varias de las opciones grficas. A
cada opcin que no asignemos un valor explcito, Mathematica le asignar un valor
por defecto.
Una orden como Plot[ ] tiene muchas opciones que podemos modificar. Algunas se muestran a continuacin:
AspectRatio->number especifica la proporcin alto-ancho de una grfica (el
valor por defecto es 0.618, que es llamado GoldenRatio). Si number=1, Mathematica
asigna la misma unidad de medida en ambos ejes.
Axes->Automatic sirve para incluir los ejes coordenados. Automatic es el
valor por defecto.
AxesLabel->{"xlabel","ylabel"} sirve para incluir etiquetas en los ejes;
AxesLabel->"ylabel" especifica una etiqueta slo para el eje "Y", y {xlabel,ylabel}
para ambos ejes. Para que Mathematica reconozca las etiquetas, stas deben ir entre
comillas. El valor por defecto es None.
AxesOrigin->{a,b} especifica las coordenadas (a,b) del punto de corte de los
ejes (origen). El valor por defecto es Automatic.
Frame->True enmarca el grfico. El valor por defecto es False.

FrameLabel->{"label-debajo","label-izda","label-encima","labelderecha"} etiqueta el marco de la grfica en las posiciones elegidas (debajo,


izquierda, encima, derecha). Para que este comando tenga efecto debemos incluir
tambin Frame->True. El valor por defecto es None.
GridLines->Automatic muestra una malla. El valor por defecto es None.
PlotLabel->label pone una etiqueta encima de la grfica. El valor por defecto
es None.
PlotRange->{ymin,ymax} especifica el rango del eje "Y" que se desea
mostrar; el valor All incluye todos los puntos (si es posible). El valor por defecto es
Automatic.
Ticks->Automatic muestra los ejes reglados, si stos existen. El valor None
no muestra las marcas.
PlotStyle->{{estilo curva 1},{estilo curva 2},etc.} cambia el estilo de las
funciones representadas. Por ejemplo:
PlotStyle->{Thickness[0.02], GrayLevel[0.5], Dashing[{0.05,0.05}]} sirve para
que la grfica aparezca con un espesor determinado, un nivel de gris determinado y el

00.- Introduccin a Mathematica 7.0.nb

trazo sea discontinuo. Este comando se debe usar con el comando Plot.
Background->color es una opcin que especifica en color del fondo de la
grfica.
RotateLabel->False cambia la orientacin de la FrameLabel en la ordenada
(es decir, el eje "Y") de vertical a horizontal. El valor por defecto es True. Esto no tiene
ningn efecto sobre AxesLabel.
- Una manera de obtener informacin de todas las opciones (incluidos sus
correspondientes valores por defecto) de las que dispone una funcin, como por
ejemplo Plot[ ], es emplear la orden Options[ ]:
In[199]:=

OptionsPlot;

nota: sin ";" al final

- Otra forma es el uso de la ayuda de Mathematica directamente. Para ello,


podemos elegir Documentation Center en el men Help. Esto abre una opcin de
bsqueda y escribiendo Plot aparecern diversos ejemplos y opciones.
- Si queremos saber el valor por defecto de una sola de las opciones haremos
algo parecido:
In[200]:=
Out[200]=

AxesLabel None

OptionsPlot, AxesLabel

Nota: Una vez realizada la grfica, tambin podemos variar sus atributos y
aadir elementos utilizando las herramientas de dibujo (Drawing Tools) y el inspector
de grficos (Graphics Inspector) disponibles en el men Graphics.
- Mediante Graphics/Drawing Tools podemos seleccionar, ver coordenadas,
incluir puntos, flechas, figuras sencillas, textos, ...
- Mediante Graphics/Graphics Inspector podemos cambiar el grosor, color, ...

6.1.3.1.- ORDEN "TOOLTIP"


Cuando representamos varias funciones a la vez, esta orden nos sirve para
distinguir o detectar cual es la grfica correspondiente a cada una de ellas. Al colocar
el cursor sobre cada una de ellas, aparecer en pantalla la frmula correspondiente a
cada funcin.

41

42

00.- Introduccin a Mathematica 7.0.nb

In[201]:=

PlotTooltip1 x, Sinx, x, 5, 5
6

2
Out[201]=

-4

-2

-2

-4

Despus, por ejemplo, con Graphics/Drawing Tools podemos aadir una


flecha y un texto para cada curva. As, las distinguiremos sin tener que utilizar el
cursor.
No obstante, no se podr cambiar la apariencia de las grficas mediante
Graphics/Graphics Inspector cuando se utilice la orden Tooltip dentro de la orden
Plot.

y = 1-x
4

y = Sin(x)

-4

-2

-2

-4

6.1.3.2.- UTILIZACIN DEL OPERADOR DE REEMPLAZAMIENTO (/.)


Una opcin muy til en la representacin grfica es la utilizacin del operador
de reemplazamiento. Como ya se sabemos, Mathematica opera con expresiones
simblicas y en una expresin simblica podemos sustituir las variables por valores
concretos, o bien por otras expresiones, mediante la utilizacin del operador reemplazamiento "/.".
Como ejemplo, supongamos que queremos representar la funcin y(x) =
3x +b, para diferentes valores de "a" y "b".
a

00.- Introduccin a Mathematica 7.0.nb

In[202]:=

Clear""
Clear::wrsym : Symbol a is Protected.
Clear::wrsym : Symbol b is Protected.
Clear::wrsym : Symbol c is Protected.
General::stop : Further output of Clear::wrsym will be suppressed during this calculation.

In[203]:=
Out[203]=
In[204]:=

yx_ 3 x^a b
3 xa + b

p1 Plotyx . a 1, b 1, yx . a 2, b 2, x, 5, 5

60

40
Out[204]=

20

-4

-2

Como podemos observar, se muestran las grficas de la funcin y(x) para los
valores a=1 y b=1 (recta), y para los valores a=2 y b=2 (parbola).
Con la siguiente sentencia ponemos etiquetas (textos) centradas en las coordenadas que deseamos.
In[205]:=

Showp1, Graphics
Text"a1 y b1", 4, 17, Text"a2 y b2", 4.5, 40

60

a=2 y b=2

40
Out[205]=

20

-4

-2

a=1 y b=1

43

44

00.- Introduccin a Mathematica 7.0.nb

6.2.- REPRESENTACIN GRFICA EN 3D


La orden bsica utilizada para representaciones grficas en tres dimensiones es:

Plot3D[f,{x,xmin,xmax},{y,ymin,ymax}]
Por ejemplo: Representemos la funcin z(x,y) = Sen (x2 +y3 ) + Cos (2xy), donde
la variable "x" vara en el intervalo [-3,3] y la variable "y" vara en el intervalo [-2,2].
In[206]:=

Out[206]=

zx_, y_ Sinx^2 y^3 Cos2 x y


sinx2 + y3 + cos2 x y

La funcin la podemos representar tecleando:

In[207]:=

Plot3Dzx, y, x, 3, 3, y, 2, 2

Out[207]=

o introduciendo directamente la funcin en la orden:

In[208]:=

Plot3DSinx^2 y^3 Cos2 x y, x, 3, 3, y, 2, 2;

- Al situar el cursor encima del grfico, dicho cursor cambia de forma y apacen
dos flechitas con forma curva. Haciendo clic en el botn izquierdo del ratn y mantenindolo pulsado podemos rotar el grfico.
- Situando el cursor sobre el grfico y pulsando la tecla "Ctrl", el cursor
adquiere otra forma, apareciendo dos cuadros y una flecha dentro del cuadro mayor.
Manteniendo puldada la tecla "Ctrl", haciendo clic en el botn izquierdo del ratn y
mantenindolo pulsado podemos hacer un "zoom" del grfico.

00.- Introduccin a Mathematica 7.0.nb

Mathematica dispone de una gran cantidad de opciones grficas para grficos


en 3D. Al igual que para Plot[ ], podemos obtener informacin de todas las opciones
disponibles con la orden Options[Plot3D].
Por ejemplo, podemos cambiar la apariencia de la grfica anterior introducciendo:
In[209]:=

Plot3DSinx^2 y^3 Cos2 x y, x, 3, 3, y, 2, 2,


AxesLabel "eje X", "eje Y", Mesh None, Background LightBlue,
BoundaryStyle DirectiveBlue, Thick, BoxRatios Automatic

Out[209]=

Al igual que en el caso de funciones con una sola variable independiente,


tambin podemos evaluar la funcin, si como en este caso, la hemos definido previamente.
In[210]:=

Out[210]=

In[211]:=
Out[211]=

zPi, Pi 2
sin p2 +

p3
8

Evaluamos zx,y para x e y2

+ cosp2

zPi, Pi 2 N Valor aproximado de lo anterior


0.0215463

Otra posibilidad grfica interesante es hacer una grfica de contorno con la


orden ContourPlot[ ].

45

46

00.- Introduccin a Mathematica 7.0.nb

In[212]:=

ContourPlotSinx^2 y^3 Cosx 2 y, x, 3, 3, y, 2, 2

Out[212]=

6.3.- CONSTRUCCIN DE UN MODELO DINMICO


Mediante la orden Manipulate[ ] podemos construir modelos dinmicos a
partir de una grfica.
Partiendo de una grfica como:

In[213]:=

PlotSint, t, 10, 10
1.0

0.5

Out[213]=

-10

-5

10

-0.5

-1.0

construimos un modelo dinmico. Por ejemplo:

00.- Introduccin a Mathematica 7.0.nb

In[214]:=

ManipulatePlotSin t, t, 10, 10, , 1, 5


variar entre 1 y 5

1.0

0.5
Out[214]=

-10

-5

10

-0.5

-1.0

7.- CONCEPTOS BSICOS DE PROGRAMACIN


7.1.- INTRODUCCIN
Con frecuencia se necesitan, adems de las funciones estndar, otras que
responden a nuestras necesidades particulares. Mathematica es un paquete de software que, adems de poder realizar todo tipo de operaciones matemticas y clculos,
tanto numricos como de forma simblica, tambin dispone de un potente lenguaje de
programacin que nos permitir implementar nuestros propios algoritmos.

7.2.- OPERADORES RELACIONALES Y LGICOS


Los operadores relacionales permiten comparar expresiones aritmticas
definiendo una expresin relacional. Los operadores relaciones son:

47

48

00.- Introduccin a Mathematica 7.0.nb

==
!=
<
>
<=
>=

igualdad
desigualdad
menor que
mayor que
menor o igual que
mayor o igual que

El valor de una expresin relacional es True si la relacin es verdadera y False


si la relacin es falsa.
Se puede tambin combinar dos o ms expresiones relacionales mediante
operadores lgicos. Los operadores relacionales permiten comparar expresiones
aritmticas definiendo una expresin relacional.
Los operadores relaciones son:
&& o And[ , ]
Y lgico (AND)
|| u Or[ , ]
O lgico (OR)
! o Not[ , ]
NO lgico (NOT), negacin
Xor[ , ]
O lgico exclusivo

And[x,y]

Or[x,y]

!x

x&&y

x||y

!y

True

True

True

False

False

True

False

False

True

False

True

False

True

False

True

True

True

False

False

False

True

False

True

False

Xor[x,y]

Ejemplos:
In[215]:=

Clear""
Clear::wrsym : Symbol a is Protected.
Clear::wrsym : Symbol b is Protected.
Clear::wrsym : Symbol c is Protected.
General::stop : Further output of Clear::wrsym will be suppressed during this calculation.

In[216]:=

x 5; y 8;

In[217]:=

x3

Out[217]=

False

00.- Introduccin a Mathematica 7.0.nb

In[218]:=
Out[218]=
In[219]:=
Out[219]=
In[220]:=
Out[220]=
In[221]:=
Out[221]=
In[222]:=
Out[222]=

x 4 && y 7
True
Orx 3, y 6
True

x 3 y 6 Otra forma de expresar lo anterior


True
Xorx 5, y 8
False
Notx 4
True

7.3.- FUNCIONES CONDICIONALES


En funcin de la veracidad o falsedad de una expresin lgica es posible
decidir si se realiza una u otra accin. Las rdenes que tienen esta misin se llaman
funciones condicionales. La ms simple es:

If[condicin,proceso1,proceso2]
Esta orden devuelve el valor del proceso1 si condicin es cierta y el valor de
proceso2 en caso contrario. Proceso1 y proceso2 pueden ser secuencias de rdenes
separadas por el carcter ;.
Por ejemplo la orden:
If[a>3||b==5,Print[a];Print[b],Print["Falso"]]
devuelve en la pantalla los valores de a y b si se verifica que a>3 o b=5; en
caso contrario se escribir el mensaje Falso.
In[223]:=

a 1; b 3;
Ifa 3 b 5, Printa; Printb, Print"Falso"

Falso

Puede omitirse el bloque proceso2, entendindose, en este caso, que si la


condicin es verdadera, se ejecutan las rdenes que componen proceso1 y, en caso
contrario, no se ejecuta ninguna orden. Por ejemplo:
In[225]:=

a 2;
Ifa 3, Printa

2
In[227]:=

a 4;
Ifa 3, Printa

49

50

00.- Introduccin a Mathematica 7.0.nb

Otra orden condicional es:

Which[condicin1, proceso1, condicin2, proceso2, ]


Si condicin1 es verdadera se ejecutan las rdenes que componen proceso1 y
finaliza la orden Which. Si condicin1 es falsa se evala condicin2, y en el caso de
ser verdadera, se ejecuta proceso2 finalizando la orden Which. Este proceso seguir,
en caso necesario, hasta agotar la ltima condicin. Si ninguna es cierta, la orden
Which no realizar ninguna accin.
Ejemplo : Supongamos que en una asignatura la nota final se obtiene a partir
de la nota de dos exmenes. La condiciones para superar la asignatura son:
- Que se obtenga como mnimo un cinco al realizar la media.
- Adems en cada parte se debe obtener como mnimo un tres.
Nota: Se guarda la parte aprobada.
In[229]:=

In[230]:=

c 6; d 2; En esta lnea se introducen los valores "c" y "d",


siendo dichos valores las notas de los dos exmenes
Whichc 5 && d 5, Print"SUSPENSO:
c 3 && d 3 &&

cd
2

",

cd
2.

5, Print"APROBADO:

c 3 && d 5 c 5 && d 3 &&


Print"NO COMPENSABLE:

",

cd
2.

cd

5,
2
", "Examen A

", c, "
cd
"Examen B ", d, c 3 && d 5 c 5 && d 3 &&
2
Print"NO COMPENSABLE:
", "Examen A ",
c, "
", "Examen B ", d,
cd
5,
c 3 && d 5 c 5 && d 3 &&
2
Print"NO COMPENSABLE:
",
"Examen A
NO COMPENSABLE:

", c, "

Examen A = 6

", "Examen B

", d

Examen B = 2

Otra ejemplo muy interesante para nosotros sera:


In[231]:=

Clear""
Clear::wrsym : Symbol a is Protected.
Clear::wrsym : Symbol b is Protected.
Clear::wrsym : Symbol c is Protected.
General::stop : Further output of Clear::wrsym will be suppressed during this calculation.

",
5,

00.- Introduccin a Mathematica 7.0.nb

In[232]:=

Out[232]=

fx_ Which0 x 5, x^2, 5 x 10, 2 x, True, 0


Which0 x 5, - x2 , 5 < x 10, 2 x, True, 0

Como la condicin True es siempre cierta, esta orden define una funcin a
trozos dada por -x^2 en [0,5], por 2x en (5,10] y 0 sobre el resto de nmeros reales.
Para comprobarlo introducimos:

In[233]:=

Plotfx, x, 15, 15
Plotfuncin,variable independiente e intervalo
20

10

Out[233]= -15

-10

-5

10

15

-10

-20

Adems, como ya se indic, podemos evaluar la funcin en varios puntos.


Por ejemplo:
In[234]:=

f4.9

Out[234]=

-24.01

In[235]:=

f5

Out[235]=

-25

In[236]:=
Out[236]=

f11
0

7.4.- BUCLES
Un bucle es un proceso que se realiza un cierto nmero de veces. La

51

52

00.- Introduccin a Mathematica 7.0.nb

construccin de bucles en Mathematica se realiza con las rdenes For, Do o While.


A continuacin veremos las estructuras de estas rdenes.

Do[proceso,{ndice, ndicemn,ndicemx, paso}]


Esta orden evala repetidamente el proceso (rutina matemtica que se va a
ejecutar) para cada uno de los valores de ndice, comenzando por ndicemn hasta
ndicemx incrementndose un valor igual al paso sucesivamente en el valor ndice.
Expresado de otra forma, diremos que ndice es la variable que se usa como
contador entre un mnimo y mximo a saltos de valor paso.
Es habitual utilizar las letras i, j, k,
Si i es el nombre del contador con un cierto valor, el aumento o disminucin
del mismo en tantas unidades como indique el paso se efecta, respectivamente, con
las siguientes asignaciones:
i = i + paso
(creciente)
i = i - paso
(decreciente)
Conviene sealar tambin que i++ es equivalente a la asignacin i = i + 1 y
anlogamente, i-- equivale a la asignacin i = i - 1.

For[contador=expresin de partida, condicin,paso,proceso]


Al comienzo del ciclo se evala la expresin de partida, la cual nos servir de
contador. La condicin contiene una ecuacin. Mientras dicha condicin sea cierta el
ciclo continuar ejecutando las rdenes que aparecen en el proceso.
Paso es el valor que ser aadido al contador.

While[condicin,proceso]
Esta orden realiza el proceso especificado mientras se cumpla la condicin
requerida.
Es conveniente sealar que la orden While no necesita contador.

00.- Introduccin a Mathematica 7.0.nb

Ejemplo:
Introduciendo cualquiera de las siguientes rdenes (equivalentes entre s),
hallamos los cubos de los primeros nmeros naturales impares, comprendidos entre
los nmeros 1 y 10.
DoPrinti3 , i, 1, 10, 2
Fori = 1, i 10, i = i + 2, Printi3
i = 1;
Whilei 10, Printi3 ; i = i + 2
La respuesta es:
1
27
125
343
729

Break[ ]
Esta orden, que no lleva argumento, es til en los bucles definidos por For, Do
y While para interrumpir la ejecucin de los mismos cuando se llega a una determinada condicin. Suele ir asociada con la estructura If. As por ejemplo:
In[237]:=

Fori 10, i 30, i i 2,


Ifi2 500, Break, Print"

", i, "

", i2

10 -> 100
12 -> 144
14 -> 196
16 -> 256
18 -> 324
20 -> 400
22 -> 484

Acumuladores
Un acumulador es una variable que, a partir de un valor inicial y mediante un

53

54

00.- Introduccin a Mathematica 7.0.nb

proceso repetitivo, va modificando su valor en funcin de otra variable, usualmente de


tipo contador.
acumulador=acumulador+expresin
Los contadores de las rdenes For y Do cuando crecen, es decir, con paso
positivo, son un ejemplo. Su valor inicial corresponde al valor inicial.
Para muchos contadores aditivos el valor inicial es normalmente cero.
Por ejemplo, la suma de los 1000 primeros nmeros naturales pares puede
programarse utilizando un acumulador aditivo en la forma siguiente:
s 0;

In[239]:=

Dos s 2 n, n, 1, 1000;

In[240]:=

In[238]:=

Out[240]=
In[241]:=
Out[241]=

1 001 000

Sum2 n, n, 1, 1000 Podemos utilizar sumatorios


1 001 000
2 n Sumatorio anterior utilizando paletas

1000
In[242]:=

n1
Out[242]=

1 001 000
Si la variacin del acumulador es de tipo multiplicativo, se expresar en la

forma:
acumulador=acumulador*expresin
Por ejemplo, el producto de los cubos de los 10 primeros nmeros impares se
puede calcular mediante el siguiente programa:
In[243]:=

p 1;

In[244]:=

Dop p 2 n 13 , n, 1, 5;

In[245]:=

Out[245]=

In[246]:=

Out[246]=

In[247]:=

Out[247]=

843 908 625

Product2 n 13 , n, 1, 5 Podemos utilizar productos


843 908 625

Productn3 , n, 1, 10, 2 Otra forma utilizando productos


843 908 625

Potrebbero piacerti anche