Mathematica
-
Upload
xuuuuuuuuuuuuuuuuuuuu -
Category
Documents
-
view
14 -
download
1
Transcript of Mathematica
-
EL PROGRAMA MATHEMATICA COMO HERRAMIENTA EN LA
RESOLUCIN DE PROBLEMAS Y EJERCICIOS DE MATEMTICAS.
CristinaCarmonaBarranco
MATHEMATICAENLASMATEMTICAS
-
A mi familia que me apoya a
emprender este reto personal
y profesional.
A mis profesores de la Universidad
de Crdoba que me dieron el saber
necesario para abordarlo.
-
RESUMEN
Este libro da una introduccin a Mathematica, concentrndose en usar Mathematica como sistema interactivo para resolver problemas. Cuando lo haya ledo, debe tener suficiente conocimiento de Mathematica para abordar muchas clases de problemas prcticos. Para ello, divido el presente en dos partes. La primera de ellas describe los aspectos fundamentales de Mathematica que deber considerar para trabajar con l. Se trata de un resumido manual con los aspectos fundamentales y ms utilizados de este software. La segunda parte, se trata de aplicaciones de las operaciones y conceptos matemticos ms usuales y su resolucin con el programa mathematica. Adems, se plantean ejercicios para resolver con Mathematica muy similares a los incluidos en esta segunda parte.
-
ndice Parte 1 Introduccin 5 Descripcin general del programa matemtica 7
1.1. Sintaxis general de las rdenes . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.2. Informacin o ayuda . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.3. La orden print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2. Primeros pasos matemticos en mathematica 14
1.1. Operaciones aritmticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.2. Funciones matemticas bsicas . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.3. Clculo simblico con mathematica. . . . . . . . . . . . . . . . . . . . . . . . . 17
3. Clculos numricos 21
3.1. Aritmtica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2. Resultados exactos y aproximados . . . . . . . . . . . . . . . . . . . . . . . . . .22 3.3. Algunas funciones matemticas . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4. Clculos con precisin algebraica. . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.5. Notaciones matemticas en cuadernos. . . . . . . . . . . . . . . . . . . . . . . . 25
4. Clculos 26
4.1. Uso de resultados previos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.2. Definicin de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.3. Definicin de listas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.4. Secuencia de operaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5. Uso del sistema Mathematica 31
5.1. Cuadernos como documentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.2. Elementos activos en cuadernos . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 5.3. Paquetes en Mathematica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
-
5.4. Interrupcin de clculos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 6. Clculos algebraicos 38
6.1. Clculo simblico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
6.2. Valores para smbolos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 6.3. Las limitaciones de Mathematica . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
7. Matemticas simblicas 42
7.1. Operaciones bsicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
7.2. Diferenciacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 7.3. Integracin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
7.4. Sumas y productos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
7.5. Ecuaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
-
PARTE 1
MANUAL TERICO SOBRE ASPECTOS MATEMTICOS DEL PROGRAMA MATHEMATICA
-
5
CAPTULO 0
INTRODUCCIN
Mathematica fue el primer programa de clculo simblico capaz de ejecutarse en
diversos sistemas operativos. Se escribi en C en 1988.y desde entonces, se usa en numerosos campos de la Ciencia y la Tcnica y tambin ha tenido una buena acogida entre los estudiantes de carreras en las que las Matemticas son bsicas para su formacin.
Antes de empezar a trabajar con Mathematica, conviene conocer todas sus posibilidades. A lo largo de este libro te presento algunas de ellas. Para el resto, podrs consultar la bibliografa que te facilitamos.
No es fcil definir Mathematica, aunque de forma muy simplificada se puede decir que es un programa para la computacin y visualizacin numrica, simblica y grfica y que ofrece una herramienta interactiva de clculo y un lenguaje de programacin potente
Una calculadora de tipo numrico. La diferencia con una calculadora es que tiene implementadas aproximadamente unas 750 funciones y adems trabaja con la precisin que se desee (incluyendo precisin infinita).
Un paquete de subrutinas para clculo matemtico. Se pueden hacer operaciones que requieran el uso de funciones o de procedimientos especiales como la integracin numrica, la optimizacin de funciones, programacin lineal, etc. que se pueden utilizar directamente.
Una calculadora simblica. Con la posibilidad de trabajar con expresiones simblicas. Podrs definir una funcin que quedar almacenada tal como es, y no en forma de algoritmo que pueda dar aproximaciones a la funcin. Se pueden sustituir valores de la variable como expresiones, parmetros, etc. y el sistema entiende y opera en forma simblica (exacta).
Una potente herramienta de clculo simblico. Podrs derivar e integrar funciones, resolver ecuaciones diferenciales, calcular lmites, manipular series de potencias, utilizar transformadas integrales, ...
Un paquete grfico. Permite dibujar en dos o tres dimensiones, elegir perspectivas, sistemas de representacin, sistemas de coordenadas, animar las grficas, ...
Un lenguaje de programacin, se puede realizar programacin a tres niveles:
Programacin de tipo procedural (uso de bloques, iteraciones y ciclos, recursiones, etc.).
Programacin funcional (con la posibilidad de definir funciones, operadores funcionales, etc.).
Programacin basada en reglas (suministrando reglas que indican como operar o transformar expresiones simblicas, funciones, etc.).
Un sistema para crear documentos interactivos, con posibilidad de incluir texto,
grficos, sonidos, animaciones, etc.
-
Introduccin 6
Un sistema de apoyo a otros programas. Podrs comunicar con Mathematica desde otros programas y pedirles tareas que realizar y despus enviar los resultados.
El programa Mathematica constituye una herramienta muy potente para la realizacin de
todo tipo de clculos matemticos: operaciones aritmticas, clculo simblico, grficos,
Las ltimas versiones del programa incorporan un editor de texto (bastante aceptable) y
permiten el manejo de paletas de smbolos que facilitan el uso de los comandos e
instrucciones del programa y la utilizacin de la simbologa habitual en las frmulas y
operaciones matemticas. El programa Mathematica est estructurado en 2 partes:
1.- El Front End: es la interface que permite la comunicacin con el usuario. Presenta las
entradas y salidas y permite crear y editar ficheros que contienen texto, clculos, grficas,
etc. Estos ficheros tienen la extensin .nb y se denominan Notebooks (Cuadernos de notas).
La informacin que contienen estos ficheros se estructura mediante un sistema de celdas de
diferentes tipos (ttulo, subttulo, seccin, texto, input, output, .) . 2.- El Kernel (ncleo): constituye la estructura interna del programa y es el que se encarga de
la realizacin de los clculos y operaciones matemticas que solicita el usuario.
AspectoquepresentaelprogramaMathematica
-
1.Descripcin general del programa Mathematica 7
CAPTULO 1
DESCRIPCIN GENERAL DEL PROGRAMA MATHEMATICA.
Mathematica consiste de dos partes: el Kernel (nucleo) y el Front End (fachada). El Kernel procesa y calcula los resultados. El Front End es la interficie entre el usuario y el Kernel de Mathematica. Con Mathematica se pueden crear distintos tipos de documentos:
1.- Los Notebooks o Cuadernos de Notas, documentos que permiten anidar texto,
grficos, sonidos y animaciones, ofreciendo la posibilidad de ejecutar el documento de forma interactiva. Al salvar un notebook solo se le tendr que dar un nombre y no es necesario especificar la extensin, ya que Mathematica le asigna por defecto la extensin nb.
2.- Los Packages o Programas ejecutables en entorno Mathematica Aplicaciones: Ingenieria, Fsica, Qumica, Matemticas, Ciencias de la Computacin, Negocios y Finanzas, Ciencias de la Salud, ....
Los Notebooks estn compuestos de unidades denominadas celdas y que se distinguen fcilmente unas de otras porque vienen delimitadas en la derecha por un corchete que abarca toda la celda.
Existen diferentes tipos de celdas en Mathematica que responden a cometidos distintos (la forma del corchete nos indica el tipo de celda), entre las que vamos a destacar:
las de entrada (Input), donde se indican los datos introducidos por el usuario.
las de salida (Output), que reflejan los resultados de la evaluacin y clculos hechos por el ncleo del programa a partir de los datos introducidos en la correspondiente celda de entrada.
Mathematica asocia una celda de salida a cada celda de entrada que introduce el usuario, y que va numerando de forma consecutiva a medida que se van evaluando dentro de una misma sesin. La numeracin se sigue efectuando aunque se cambie de fichero o notebook. El kernel o ncleo guarda todas las definiciones y evaluaciones efectuadas desde que se empez a correr el programa y hasta que se sale de este.
Algunas veces esto es til, ya que se puede usar cualquier funcin o variable definida previamente; pero tambin puede ser un inconveniente, porque sin darnos cuenta podemos estar empleando una funcin o variable que creemos que es nueva, y que ya tiene un valor o definicin no compatible con el nuevo uso que se quiere dar.
Para limpiar cualquier definicin anterior de una funcin o asignacin de variables podemos usar las sentencias: Clear [nombrefuncin,, nombre variable,]
-
O Clear [Global] con la primera se limpian las variables especificadas entre corchetes mientras que con la segunda se limpiaran todas las funciones, variables y dems objetos utilizados hasta ese 1.Descripcin general del programa Mathematica 8 momento. Sin embargo, hay que tener en cuenta que Mathematica conserva el nombre que se ha utilizado.
Nota: Observa bien la comilla que se tiene que utilizar para borrar: ` . Con cualquier otra comilla que uses no se borra y pueden aparecer errores. Ejemplo1: In[1]:= x = 2 Out[1] = 2
Durante toda la sesin con Mathematica, la variable x valdr 2 hasta que no le demos otro valor, limpiemos la variable, o cerremos Mathematica y volvamos a entrar.
As en otro programa distinto, pero de la misma sesin, quiero escribir el vector de componentes (x, y, z) In[2]:= vector = {x, y, z} Out[2] = {2, y, z} Pero si limpiamos el valor de x In[3]:= Clear[x] v ={x, y, z} Out[4]= {x, y, z}
Para crear una celda nueva dentro de un Notebook de Mathematica hay que situar el puntero del ratn al final del Notebook o entre dos celdas que ya existan hasta que el cursor aparezca de forma horizontal. Entonces se pulsa el botn del ratn para hacer aparecer una barra de insercin horizontal a todo lo largo de la ventana, que es donde aparecer el nuevo corchete cuando empecemos a escribir.
Una vez que se ha escrito la expresin en una celda de entrada, para que la reconozca el ncleo y se pueda evaluar, es necesario que el usuario se lo indique expresamente: mientras que el cursor permanece junto a la expresin o si hemos sealado con el ratn el corchete correspondiente, pulsaremos las teclas Mayscula + Intro. Tambin se evaluar una celda si en el men vamos a Kernel y Evaluate donde encontramos diversas opciones de evaluacin: celda, notebook, ...
La primera vez que se evala una expresin tardar un poco ms de lo habitual, debido a que se estar inicializando el programa y es necesario cargar informacin.
Adems de estas celdas, Mathematica dispone de otros tipos que permiten mejorar la presentacin y estructura de los Notebooks en forma de secciones y subsecciones, con sus correspondientes ttulos.
Se cargar un Notebook concreto mediante la opcin Abrir (Open) del men Fichero
-
(File).
Para imprimir un Notebook, en el men File, dar a Print, marcar Print To y decir la impresora a la que va dirigido. Hay otros mens de gran utilidad que aparecen en la parte superior de la pantalla: 9
Edit, donde estn los comandos habituales que nos permiten acciones como Cortar (Cut), Copiar (Copy) o Pegar (Paste) .... Aqu encontramos las Palettes, tiles para escribir expresiones matemticas y realizar
clculos simblicos. Abre estas paletas y observa las posibilidades que nos ofrecen para escribir y realizar operaciones matemticas.
Find para los comandos de bsqueda y sustitucin habituales de muchos editores de texto: Find (Buscar), Replace (Reemplazar) o Replace All (efecta el cambio indicado en todo el documento).
Kernel. Hay varios comandos interesantes para evaluar celdas seleccionadas (Evaluate Selection) o todas las celdas del Notebook (Evaluate Notebook). Para interrumpir algn clculo o anular alguna evaluacin (por error o porque el programa tarde demasiado en dar la respuesta) se pueden usar las opciones Interrumpir (Interrupt) o Abortar (Abort) de este men.
1.1. SINTAXIS GENERAL DE LAS RDENES.
Para que podamos estar seguros que la salida obtenida es correcta es necesario escribir de forma adecuada las expresiones (respetando siempre el formato y la sintaxis de cada sentencia) y, en algunas ocasiones, habr que indicar el orden en que se evaluar la expresin.
Las normas siguientes afectan a todas las rdenes y expresiones de Mathematica:
El programa distingue los caracteres escritos en mayscula de los escritos en minscula (Case Sensitive), por ello es necesario escribir con mayscula la primera letra de todas las funciones, rdenes, opciones y constantes propias de Mathematica.
Es conveniente usar slo minsculas para definir nuestras propias variables y funciones (as se podrn diferenciar con facilidad de las anteriores).
Mathematica interpreta un espacio en blanco como la operacin de multiplicar. Por esto, no se deben dejar espacios en blanco dentro del nombre de una funcin o variable. Este criterio lo sigue Mathematica en sus propias funciones y rdenes, como se observa en los ejemplos: FindRoot (Encontrar Raz). ParametricPlot (Dibujar en Paramtricas)...
Para el producto de dos variables se puede usar * espacio en blanco; sin embargo xy lo interpretar como el nombre de una nueva variable con dos letras. Existe una excepcin a esta regla, cuando multiplicamos un nmero por una variable. Por ejemplo, 3*x se puede escribir
-
1.1. Sintaxis general de las rdenes 10 como 3x. Sin embargo, no obtendremos la misma interpretacin al escribir x3. Por esta razn, no podremos dar un nombre a una variable o constante que empiece por un nmero, sino que siempre debe de empezar con una letra, aunque despus contenga nmeros. Los nombres a, aa, a1, a2, a11, etc son vlidos para variables; no lo son 1a, 2a, 11a, 1a1, etc. Uso de corchetes, parntesis y llaves.
Los corchetes, [ ], delimitan los argumentos de todas las funciones y rdenes en Mathematica, y tambin aquellas que defina el usuario. Cuando hay dos o ms argumentos se separan por comas. Ejemplo 2: f[x_], para definir funciones. Sin[1.2]
Las llaves, { }, se usan para la definicin de listas de elementos, que pueden ser de cualquier tipo y se separan por comas. Tambin se pueden interpretar como vectores o matrices (que sern listas de listas).
Las llaves son imprescindibles para construir iteradores dentro de estructuras de tipo repetitivo y para especificar los lmites de actuacin de los operadores matemticos (en integrales, dominio en el que hay que dibujar las grficas, etc.). Tambin se usan para incluir ciertas opciones dentro de algunas rdenes de Mathematica.
Ejemplo 3: {2, 3} indica el vector fila (2, 3). {{1,0}, {2,1}} indica una lista formada a su vez por dos listas (matriz de orden 2)
Los parntesis, ( ), se utilizan para indicar la prioridad de las operaciones de tipo aritmtico. Ejemplo 4: In[] (* esto es un comentario *)
Out[] 1 + 2*3
7
In[] 2^(3+4)
Out[] 128
In[] 2^3 + 4
Out[] 12
In[] (-1)^2/5
Out[] 1/5
-
11
1.2. INFORMACIN O AYUDA.
Ante una duda, es conveniente consultar el manual de rdenes de Mathematica o algn libro con explicaciones y ejemplos.
La versin que usamos de Mathematica, dispone de una ayuda en la que puedes consultar todo lo referente a Mathematica. Para acceder a esta ayuda en la barra superior de Mathematica con el ratn iremos a la opcin Help y al abrirse este men se buscar la opcin Find In Help Browser, entonces se abre una ventana de ayuda, donde puedes localizar, entre otras cosas:
Built-in Functions: permite localizar y encontrar ejemplos de cualquier funcin predefinida en Mathematica
Add-ons: proporciona un listado de los paquetes de Mathematica
The Mathematica Book, que contiene el libro: Stephen Wolfram. The Mathematica Book, Wolfram Media, Cambridge University Press.
Getting Started /Demos: se pueden ver demostraciones realizadas con Mathematica. Por ejemplo puedes buscar la que se refiere a nmeros de Pisot o el clculo del nmero p de forma aproximada usando diferentes tcnicas de aproximacin.
Master Index: facilita un listado alfabtico de todas las ordenes de Mathematica y remite al lugar del libro donde puedes encontrarlas.
1.3. LA ORDEN PRINT.
Para escribir mensajes en pantalla durante la salida de un programa, se usa la orden Print. Si lo que deseamos escribir es un texto debe ir entre comillas. Ejemplo 5: Realiza los siguientes ejercicios. 1.- Print[esto es un ejemplo] 2.- Escribe tu nombre en pantalla 3.- Print[5*3+2 4.- Print[5, 3, 1 5.- Print[5, , 3 , , 1 6.- Observa , lo que ocurre si se cambiamos comas por punto y coma en 5. 7.- n = 20 Print[Observa, n , al cuadrado es , n^2, . ]
-
1.2. Informacin o ayuda 12
-
13
-
2. Primeros pasos matemticos en mathematica 14
CAPTULO 2
PRIMEROS PASOS MATEMTICOS EN MATHEMATICA
2.1. OPERACIONES ARITMTICAS.
Mathematica puede efectuar operaciones aritmticas, manipular nmeros enteros (Integer), racionales (Rational), reales (Real) y complejos (Complex).
Representa las cantidades tan exactamente como sea posible, e intenta devolver el resultado en la misma forma que los datos o en una forma similar. Los operadores aritmticos son los usuales:
+ suma
- diferencia
* o espacio producto
/ divisin
^ potencia
Ejemplo 1: In[ 00011001 + 10011101 Out[ 10022102 In[ 532*34978 Out[ 18608296 In[ 34^56 Out[ 5791877320528712784204425412617959985284096849205616406 2843692360166371779746690236416
A partir de ahora solo escribimos la celda de Input, tu debers realizar los ejercicios y vers los resultados en la pantalla del ordenador.
In[ 1000!
In[] 111111111^2
In[] 9345*456 345689^6 + 367/4890 *(2346-89)
-
15
In[ 2/4 + 24/144
In[ 2 + 2/5
Puedes usar muchas constantes usuales en Matemticas siempre que las escribas en forma correcta: Pi (razn entre la longitud de la circunferencia y su dimetro); E (nmero base de los logaritmos Neperianos);
I (representa el nmero imaginario 1 )
Infinity: infinito, etc. ... Nota: procura no usar estos nombres para variables.
Un nmero decimal lo interpreta como una aproximacin. Si hay un nmero con decimales trata toda la expresin como una aproximacin. No aproximar los nmeros irracionales.
Una fraccin la trata de forma exacta y slo la aproxima cuando en la expresin exista otro nmero decimal. Ejemplo 2:
In[ 1/2 + 3.5 0.5 + Pi
1/15+1/35+1/63 Si se trabaja con nmeros irracionales representa los resultados de forma exacta. Ejemplo 3: In[ Sqrt [13 E^3 + Sqrt [13 Si queremos una aproximacin de un nmero real lo indicaremos con la orden N [nmero, precisin donde en precisin indicamos el nmero de cifras significativas que queremos considerar. Si omitimos este argumento, que es opcional, el programa nos dar el resultado con un nmero de cifras determinado (habitualmente muestra seis cifras significativas), aunque por defecto trabaja con dieciseis decimales de precisin. La funcin Precisin da el nmero cifras significativas de un resultado concreto. Ejemplo 4:
In[ N [ (1 5) /2
-
2.1. Operaciones aritmticas. 16 Precisin [%
Nota: El smbolo % hace referencia a la ltima salida obtenida por Mathematica. Si usamos %% se har referencia a dos salidas anteriores.
Con la funcin N se puede conseguir ms precisin aunque al aumentar la precisin tambin aumenta el tiempo que tarda en hacer clculos. Ejemplo 5:
In[ N [ (1 5) /2, 100
N [ 2 2 , 500 3
N [ 33
Si en una expresin con nmeros incluimos un punto decimal la salida ser un nmero real, dado mediante su representacin decimal aproximada (con un nmero de dgitos decimales por defecto salvo que el usuario pida una precisin determinada). Ejemplo 6:
In[ Sqrt [13. E^3 + Sqrt [13.
Hay que tener cuidado cuando se trabaja con nmeros decimales ya que se harn las operaciones con la precisin por defecto, a no ser que se le indique otra cosa, y se llegar a resultados aparentemente falsos. Observa lo que ocurre en los ejemplos siguientes: Ejemplo 7: In[ 5 + 0.00000001 Precision [% N[5 + 0.00000001, 16 (5 + 0.00000001)*0.0000000001 N[%, 22 Precision[%
Nota: Se obtiene este resultado porque previamente se haba fijado la precisin, si trabajamos con 10-7 el resultado sera exacto.
-
17
2.2. FUNCIONES MATEMTICAS BSICAS.
El programa Mathematica tiene definidas las funciones matemticas elementales y otras muchas que se usan con frecuencia en la resolucin de problemas de todo tipo. La notacin responde a la abreviatura del nombre ingls de las funciones. Las ms usuales son:
Existen otras muchas funciones que se utilizan en campos especficos. Por ejemplo, dispone de una serie de paquetes de funciones muy diversas, que se guardan en subdirectorios del directorio Packages. Ms adelante se ver la forma de acceder a estos paquetes (en tema 5).
Hay varias funciones incorporadas para trabajar con nmeros complejos: Re (devuelve la parte real del complejo), Im (devuelve la parte imaginaria del complejo), Conjugate (devuelve el conjugado del complejo), Abs (devuelve el mdulo del complejo).
2.3. CLCULO SIMBLICO CON MATHEMATICA.
Mathematica maneja perfectamente el clculo matemtico simblico.
-
2.3. Clculo simblico con mathematica 18
Manipula con facilidad y rapidez las frmulas y expresiones algebraicas y
realiza la mayora de las operaciones: desarrollar, factorizar y simplificar polinomios o expresiones racionales; encontrar soluciones de ecuaciones y sistemas de ecuaciones, evaluar derivadas e integrales simblicamente, encontrar soluciones de ecuaciones diferenciales, manipular series de potencias, lmites y muchas otras facetas de las Matemticas Aplicadas.
Las funciones ms usuales para transformaciones algebraicas las encuentras en una de las paletas. Para acceder a ellas sigue los siguientes pasos:
En el Men Principal de Mathematica ve a File y busca Palettes. Entre las que
se ofrecen, en la primera que corresponde a AlgebraicManipulation, encontrars la que corresponden a estas funciones. sala para hacer los ejercicios siguientes:
Para obtener la simplificacin en fracciones simples tenemos el comando Apart. Para saber algo ms sobre este u otros comandos puedes ir a la ayuda o bien teclear: ?Apart y podrs leer una explicacin sobre el comando.
INTERFASE DE CUADERNO utilice un icono o el
men de formas grficas de inicializar
Mathematica Inicio comando para inicializar
Mathematica mathematica finalizar texto con entrada para Mathematica +
salir de Mathematica elegir el tem salida del
men Funcionamiento de Mathematica con una interfase de
cuaderno. En una interfase de cuaderno, usted interacta con Mathematica creando
documentos interactivos. Si usa su computadora va una interfase puramente grfica haremos como de
costumbre doble en el icono de inicio de Mathematica. En cambio, si la usa va un sistema operativo basado en texto digitaremos el comando mathematica para iniciar Mathematica.
Cuando Mathematica inicializa usualmente presenta un cuaderno en blanco.
Usted digita la entrada (input), luego presiona (en simultneo) + para que Mathematica procese su entrada. + indica a Mathematica que usted ha finalizado su entrada. Si su teclado posee teclado numrico puede usar la tecla del mismo en lugar de +.
Despus de ejecutar una entrada en Mathematica desde un cuaderno,
Mathematica etiquetar su entrada con In[n ]:=. Tambin etiqueta la correspondiente salida
-
19
Out[n]=. Usted digita 1 + 1, luego finaliza su entrada con +. Mathematica
procesa la entrada, luego agrega la etiqueta a la entrada In[1]:=, y devuelve la respectiva salida.
A lo largo de este libro los dilogos con Mathematica se mostrarn de la
siguiente manera: Con una interfase de cuaderno, usted slo digita 1+1. Mathematica aade la
etiqueta In[1]:=, e imprime el resultado. 1 + 1 2 Recuerde que los cuadernos corresponden a la parte visible (front end) de
Mathematica. El ncleo de Mathematica que realiza realmente los clculos puede funcionar en la misma computadora que el front end, o en otra computadora conectada va alguna clase de red o de lnea. En la mayora de los casos, el ncleo incluso no se inicializa hasta que el usuario hace realmente un clculo con Mathematica.
Para salir de Mathematica, usted elige el tem salida del respectivo men en la
interfase de cuaderno. INTERFASE BASADA EN TEXTO
math comando del sistema operativo
para inicializar Mathematica finalizar texto con
entrada para Mathematica Control-D, Control-Z salir de Mathematica Quit[] Funcionamiento de Mathematica con una interfase basada en Texto. Con una interfase basada en texto, usted interacta con su computadora
digitando texto en el teclado. Para inicializar Mathematica con una interfase basada en texto, se digita el
comando math en el prompt del sistema operativo. En algunos sistemas, tambin
-
2.3. Clculo simblico con mathematica 20 es posible inicializar Mathematica con una interfase basada en texto haciendo
doble clic en el icono del ncleo de Mathematica. Cuando Mathematica ha inicializado, imprimir el prompt In[1]:=, esto
significa que esta lista para que usted haga su entrada. Puede entonces digitar su entrada, terminndola con .
Mathematica procesa la entrada, y genera un resultado, el mismo que
etiquetar con Out[1]=. A lo largo de este libro los dilogos con Mathematica se mostrarn de la
siguiente manera: La computadora imprime In[1]:=. Usted slo digita 1+1. La lnea que empieza
con Out[1]= es el resultado de Mathematica. 1 + 1 2 Observe que usted no digita explcitamente el prompt In[1]:=; slo digita el
texto que sigue despus de este aviso. Observe tambin que la mayor parte de los dilogos dados en el libro
muestran salidas en la forma que usted obtendra con una interfase de cuaderno de Mathematica; la salida con una interfase basada en texto luce similar, pero carece de caractersticas tales como caracteres especiales y cambio de tamao de fuente.
Para salir de Mathematica, digite Control-D, Control-Z Quit[ ] en el prompt
de la entrada.
-
21
CAPTULO 3
CLCULOS NUMRICOS 3.1. ARITMTICA Usted puede hacer aritmtica con Mathematica tal y como lo hara con una
calculadora. Aqu tenemos la suma de dos nmeros. 5.6 + 3.7 9.3 Con * indicamos el producto de dos nmeros. 5.6 * 3.7 20.72 Usted puede digitar operaciones aritmticas haciendo uso de los parntesis. (2 + 3) ^ 3 4 (6 + 7) 73 Los espacios no son necesarios, aunque a menudo hacen su entrada ms fcil
de leer. (2+3)^34(6+7) 73 Las operaciones aritmticas en Mathematica se agrupan de acuerdo con las
convenciones estndares de la matemtica. Como es usual, 2+3/7, por ejemplo, significa 2+(3/7), y no (2+3)/7. Usted puede controlar siempre la forma de agrupar explcitamente usando parntesis.
Este resultado se da en notacin cientfica. 3.7 ^ 36 2.85274x1020 Usted puede incorporar nmeros en notacin cientfica de esta forma. 4.6 10^45 4.6x1045
-
3.2. Resultados exactos y aproximados 22
O de esta otra forma. 4.6*^45 4.6x1045
3.2. RESULTADOS EXACTOS Y APROXIMADOS Una calculadora electrnica hace todos sus clculos con una precisin
determinada, digamos de diez dgitos decimales. Con Mathematica, en cambio, usted puede obtener resultados exactos.
Mathematica da un resultado exacto para 2300 , a pesar que ste tiene 91
dgitos decimales. 2^300 203703597633448608626844568840937816105146839366593 6250636140449354381299763336706183397376 Usted puede pedir a Mathematica que devuelva un resultado aproximado, tal
como lo dara una calculadora, para ello debe finalizar su entrada con //N. Esto da un resultado numrico aproximado. 2^300//N 2.037041090 Mathematica puede dar resultados en trminos de nmeros racionales. 1/3 + 2/7 13 21 //N siempre da un resultado numrico aproximado. 1/3 + 2/7//N 0.619048 exp //N da un valor numrico aproximado para exp
-
23
Obteniendo aproximaciones numricas. Cuando usted digita un entero como 7, Mathematica asume que es exacto. Si
usted digita un nmero como 4.5, con un punto decimal explcito, Mathematica asume que desea efectuar clculo numricos aproximados.
Cuando usted digita un nmero con un punto decimal explcito, Mathematica
produce un resultado numrico aproximado. 26.7/78 0.342308 Aqu otra vez, la presencia del punto decimal hace que Mathematica d un
resultado numrico aproximado. 26./78 0.333333 Cuando cualquier nmero en una expresin aritmtica es digitado con un
punto decimal explcito, usted obtiene un resultado numrico aproximado para toda la expresin.
5. + 9 / 78 - 5/8 4.49038 3.3. ALGUNAS FUNCIONES MATEMTICAS Mathematica incluye una gran coleccin de funciones matemticas. A
continuacin mencionamos las ms comunes.
-
3.4. Algunas funciones matemticas 24 Los argumentos de todas las funciones en Mathematica se colocan entre
corchetes. Los nombres de las funciones incorporadas en Mathematica empiezan con
letra mayscula. Dos puntos importantes acerca de funciones en Mathematica. Es importante recordar que todos los argumentos de funciones se colocan
entre corchetes, no entre parntesis. Los parntesis en Mathematica se usan solamente para indicar agrupacin de trminos, y jams
para encerrar argumentos de funciones. Esto da loge (15.7) . Note la letra mayscula para Log, y los corchetes para el
argumento. Note que todos los nombres de las constantes incorporadas en Mathematica
empiezan con mayscula. Este es el valor numrico de 2 . Pi^2//N 9.8696 Esto devuelve un resultado exacto para sen(/2).Note que los argumentos de
las funcin trigonomtricas siempre se dan en radianes. Sin[Pi/2] 1 Esto devuelve el valor numrico de sen(20). Multiplicando por la constante
Degree convertimos el argumento a radianes. Sin[20 Degree]//N 0.34202 Log[x] devuelve el logaritmo de x en base e. Log[E^15] 15 Usted puede obtener logaritmos en cualquier base b usando Log[x]. Como una
notacin estndar de Mathematica la b es opcional. Log[3,81] 4
-
25 3.4. CLCULOS CON PRECISIN ARBITRARIA Cuando usted utiliza //N para obtener un resultado numrico, Mathematica
hace que lo que hara una calculadora estndar: devuelve el resultado con un nmero fijo de cifras significativas. No obstante, usted puede indicarle a Mathematica las cifras significativas con las que desea operar. Esto permite obtener resultados numricos en Mathematica con cualquier grado de precisin.
exp //N o N[exp] valor numrico aproximado para exp N[exp, n] valor
numrico de exp calculado con n dgitos de precisin Esto devuelve el valor numrico de con un nmero fijo de cifras
significativas. Digitar N[Pi] es equivalente a Pi//N. N[Pi] 3.14159 Esto devuelve con 50 dgitos. N[Pi, 50] 3.1415926535897932384626433832795028841971693993751 Al realizar cualquier tipo de clculo numrico puede introducir pequeos
errores de redondeo en sus resultados. Cuando se aumenta la precisin numrica estos errores se hacen ms pequeos. Asegurarse que usted obtiene la misma respuesta al aumentar la precisin numrica es a menudo una buena forma de verificar los resultados.
La cantidad e 163 esta bastante prxima a ser entera. Para verificar que el
resultado no es, de hecho, un entero, usted tiene que usar la precisin numrica suficiente.
N[Exp[Pi Sqrt[163]], 40] 2.6253741264076874399999999999925007259721017 3.5. NOTACIONES MATEMTICAS EN CUADERNOS Si usa una interfase basado en texto con Mathematica, entonces las entradas
que usted vaya a hacer consistirn solamente en caracteres que digite directamente con su teclado. Pero si usa una interfase de cuaderno entonces es posible que realice otro tipo de entradas.
Usualmente se incorporan paletas las cuales operan como extensiones de su
teclado, y poseen botones sobre los que usted puede hacer clic para ingresar alguna forma en particular. Puede acceder a las paleta estndares usando el submen
Pelettes del men File.
-
Haciendo clic en el botn de esta paleta ingresar pi en su cuaderno. Haciendo clic en el primer botn una estructura en blanco par ingresar una
potencia. Usted puede usar el mouse para rellenar esta estructura o desplazarse en ella con la tecla .
-
4. Clculos 26
CAPTULO 4
CLCULOS
4.1. USO DE RESULTADOS PREVIOS Al realizar clculos, muchas veces usted necesita usar resultados previamente
obtenidos. En Mathematica, % siempre hace referencia al ltimo resultado.
Si utiliza una interfase basada en texto en Mathematica, entonces las lneas
sucesivas de entradas y salidas aparecern siempre en orden, como se muestra en este tem. Sin embargo, si utiliza una interfase de cuaderno, entonces varias lneas sucesivas de entradas y salidas no necesariamente aparecen en orden. Usted puede por ejemplo volver atrs e insertar el clculo siguiente dondequiera que desee en el cuaderno. Tenga en cuenta que % siempre invoca el ltimo resultado que Mathematica gener. ste puede o no ser el resultado que aparece inmediatamente encima de su actual posicin en el cuaderno. Con una interfase de cuaderno, la nica manera de saber cundo un resultado particular fue generado es mirar la etiqueta de Out[n] que tiene. Como usted puede insertar y suprimir en todas partes en un cuaderno, de acuerdo a su necesidad, el ordenamiento de los resultados en el cuaderno, por lo general, no tiene ninguna relacin con el orden en el cual los resultados fueron generados.
4.2. DEFINICIN DE VARIABLES Cuando usted efecta clculos extensos, muchas veces es conveniente dar
nombre a los resultados intermedios. De la misma manera que en las matemticas tradicionales o en otros lenguajes de programacin, usted puede hacer esto introduciendo variables nombradas.
Esto inicializa el valor de la variable x con 6. x = 6 Donde quiera que aparezca x, Mathematica la reemplaza por su valor 6. x^3 - 25 191
-
27
Esto asigna un nuevo valor para x. x = 11 + 5 16 pi es inicializada con el valor numrico de con 20 dgitos de exactitud. pi = N[Pi, 20] 3.1415926535897932385 Aqu esta el valor de Sqrt[pi]. Sqrt[pi] 1.77245385090551602730 Es muy importante recordar que los valores asignados a las variables son
permanentes. Una vez que usted ha asignado un valor a una variable en particular, el valor ser almacenado hasta que usted lo remueva explcitamente. El valor, claro est, desaparecer si usted inicia una nueva sesin con Mathematica.
Olvidarse de las definiciones hechas es la causa ms comn de errores al usar
Mathematica. Si usted pusiera x = 5, Mathematica asume que usted siempre quiere que x tenga el valor 5, hasta o a menos que usted e indique explcitamente otra cosa. Para evitar los errores, usted debe quitar los valores definidos en cuanto haya terminado de usarlos.
Quite valores que asigne a las variables en cuanto termine de usarlos. Las variables que usted define pueden tener cualquier nombre. No hay lmite
par longitud de sus nombres. Un inconveniente, sin embargo, es que los nombres de las variables nunca pueden empezar con nmeros. Por ejemplo, x3 puede ser una variable, pero 2x significa 2*x.
Mathematica usa letras minsculas y maysculas. Hay una convencin para
los objetos incorporados en Mathematica, los nombres de todos ellos empiezan con letra mayscula. Para evitar alguna confusin, usted siempre debe escoger nombres que empiecen con letra minscula.
4.3. CONSTRUCCIN DE LISTAS Al realizar clculos, a veces es conveniente agrupar ciertos objetos, y tratarlos
como una sola entidad. Las listas proporcionan una manera de coleccionar objetos en Mathematica. Como veremos despus las listas son muy importantes en
Mathematica.
-
4.3. Construccin de listas 28 Una lista como {4,7,6} es una coleccin de tres objetos. Pero en muchos casos
usted puede tratar esta lista como un solo objeto. Usted puede, por ejemplo, hacer aritmtica con esta lista o asignarla a una variable.
Aqu hay una lista de tres nmeros. {4, 7, 6} {4, 7, 6} Esto eleva al cubo cada nmero de la lista, y le resta 2. {4, 7, 6}^3 - 2 {62, 341, 214} Esto toma la diferencia entre los correspondientes elementos de las dos listas.
Las listas deben ser de la misma longitud. {9.5, 8, 7} - {3, 4, 2.3} {6.5, 4, 4.7} El valor de % es el de la lista % {6.5, 4, 4.7} Usted puede aplicar cualquier funcin matemtica a la lista. %//N {665.142, 54.5982, 109.947} Esto asigna una lista en la variable u. u = {5, 3, 8.2} {5, 3, 8.2} 4.4. Manipulacin de los elementos de una lista Muchas de las ms potentes operaciones de manipulacin de listas en
Mathematica tratan a las listas como un solo objeto. A veces, sin embargo, extraer un conjunto individual de elementos de una lista.
Usted puede referirse a un elemento de una lista en Mathematica mediante su
ndice. Los elementos son numerados en orden, empezando en 1.
-
29 Operaciones con elementos de una lista. Esto extrae el tercer elemento de la lista. {4, -1, 8, -6}[[3]] Esto extrae una lista de elementos. {4, -1, 8, -6}[[ {2, 3, 1, 2, 3, 4, 1} ]] {-1, 8, 4, -1, 8, -6, 4} Esto asigna una lista en la variable u. u = {7, 2, 4, 6} {7, 2, 4, 6} Usted puede extraer elementos de u. u[[3]] 4 Aqu hay una lista. u = {2, 1, 5, 7} {2, 1, 5, 7} Esto resetea el segundo elemento de la lista. u[[2]] = 0 0 Ahora la lista asignada a u se ha modificado. u {2, 0, 5, 7}
-
4. 5. Secuencia de operaciones 30 4.4. SECUENCIA DE OPERACIONES Al realizar clculos con Mathematica, usted usualmente lo hace mediante una
secuencia de pasos. Si usted desea puede realizar cada paso en una lnea separada. A veces, sin embargo, es conveniente ingresar varios pasos en una misma lnea. Usted puede hacer esto simplemente separando cada una de las partes ingresadas con punto y coma.
Esto realiza tres operaciones en una misma lnea. El resultado corresponde a
la ltima operacin. x = 3; y = 7; z = y - 2 5
-
31
CAPTULO 5
USO DEL SISTEMA MATHEMATICA
Un aspecto importante de Mathematica es que no solamente puede interactuar con usuarios humanos sino que tambin puede hacerlo con otros programas. Esto se logra principalmente a travs del MathLink, el cual es un protocolo estandarizado para la comunicacin bidireccional entre programas externos y el ncleo de Mathematica.
Un fragmento de cdigo C que se comunica va MathLink con el kernel de Mathematica. 5.1. CUADERNOS COMO DOCUMENTOS Los cuadernos de Mathematica le permiten crear documentos que pueden
verse interactivamente en la pantalla o imprimirse en papel. Particularmente, en los cuadernos extensos, es comn tener los captulos,
secciones etc., representados cada uno en grupos de celdas. La extensin de estos grupos de celdas es indicada por el corchete que aparece a la derecha.
La agrupacin de celdas en un cuaderno se indica con los corchetes anidados
que aparecen en el lado derecho.
-
5. 1. Cuadernos como documentos 32
Un grupo de celdas puede estar abierto o cerrado. Cuando est abierto usted
puede ver todas sus celdas explcitamente. Pero cuando est cerrado, usted slo puede ver la celda que encabeza el grupo de celdas.
Los cuadernos extensos son a menudo distribuidos con muchos grupos de
celdas cerradas, para que cuando usted vea por primera vez el cuaderno aprecie solamente una lista de su contenido. Usted puede abrir las partes en las que est interesado haciendo doble clic sobre el corchete apropiado.
Haciendo doble clic sobre el corchete que abarca un grupo de celdas cerramos
el grupo, dejando slo la primera celda visible. Cuando el grupo est cerrado, el corchete que le corresponde tiene una flecha
en la parte inferior. Haciendo doble clic sobre esta flecha abrimos nuevamente el grupo.
A cada celda dentro de un cuaderno se le asigna un estilo en particular que
indica su rol dentro del cuaderno. As, por ejemplo, el material entendido como entrada para ser ejecutado por el ncleo de Mathematica est tpicamente el estilo de Input (entrada), mientras que el que se entiende para ser ledo como puramente de texto est tpicamente en estilo Text (texto).
La interfase de Mathematica provee mens y mtodos abreviados de teclas
para crear celdas con diferentes estilos, y para cambiar estilos en las celdas existentes.
-
33 Esto muestra celdas en diferentes estilos. Los estilos no slo definen el
formato del contenido de las celdas, sino que tambin su ubicacin y espaciado. Poniendo una celda en un estilo en particular, usted especifica una coleccin
entera de propiedades para celda, incluyendo por ejemplo el tamao y la fuente del texto que se digitar.
La interfase de Mathematica permite modificar tales propiedades, bien sea
para las celdas completas o para material especfico dentro de las celdas. Incluso dentro de una celda con un estilo en particular, la interfase de
Mathematica permite modificar una amplia gama de propiedades en forma separada.
Vale mencionar que al hacer diversas clases de cosas con los cuadernos de
Mathematica, usted est utilizando diversas partes del sistema de Mathematica. Las operaciones tales como apertura y cierre de grupos de celdas, realizacin de animaciones y reproduccin de sonidos utilizan solamente una parte pequea del front end de Mathematica, y estas operaciones tranquilamente se pueden realizar con un programa fcilmente disponible conocido como MathReader.
Para poder crear y corregir los cuadernos, usted necesita ms que el front end
de Mathematica. Y finalmente, para poder actualizar los clculos dentro de un cuaderno de Mathematica, necesita un sistema completo de Mathematica, que contenga el front end y el ncleo.
Programas requeridos para diversas clases de operaciones en los cuadernos.
-
5. 2. Elementos activos en cuadernos 34 5.2. ELEMENTOS ACTIVOS EN CUADERNOS Una de las caractersticas ms potentes de los cuadernos de Mathematica es
que sus acciones pueden ser programadas. As, por ejemplo, usted puede establecer un botn en un cuaderno de Mathematica que permita realizar varias operaciones siempre que usted haga clic sobre l.
He aqu un cuaderno que contiene un botn. Haciendo clic en el botn conseguimos que se muestre la fecha actual. Siempre que una celda se indique como activa, al hacer clic en los elementos
activos dentro ella se producir las acciones que han sido programadas para que estos elementos realicen.
Es comn inicializar paletas que consisten en una serie de botones. A veces
tales paletas aparecen como celdas dentro de un cuaderno. Aunque a menudo, se usa un cuaderno especial que aparece como ventana, que se puede poner convenientemente en algn lado de la pantalla de su computadora y utilizar conjuntamente con cualquier otro cuaderno.
Las paletas que consisten en una serie de botones a menudo son colocadas en
cuadernos separados. En los casos ms simples, los botones en las paletas sirven como teclas
adicionales a su teclado. As, cuando usted presiona un botn, el carcter o el objeto mostrado en aquel botn es insertado en su cuaderno tal como si usted lo hubiera escrito a mquina.
Aqu est una paleta de letras griegas con botones que actan como teclas
adicionales a su teclado.
-
35 A menudo, sin embargo, un botn puede contener un placeholder indicado
por . Esto significa que cuando usted presiona el botn, lo que se selecciona actualmente en su cuaderno ser insertado en la posicin del placeholder.
Estos botones contienen placeholders indicados por . Este es un cuaderno con una expresin seleccionada. Al presionar el botn superior izquierdo de la ltima paleta la expresin
seleccionada queda envuelta en una raz cuadrada. A veces los botones que contienen placeholders sern programados
simplemente para insertar una cierta expresin en su cuaderno. Pero ms a menudo, sern programados para evaluar el resultado, envindolo como una entrada al ncleo de Mathematica.
Estos botones se inicializan para realizar operaciones. He aqu un cuaderno con una expresin seleccionada. Al presionar el botn superior en la ltima paleta la expresin seleccionada es
simplificada. Hay algunas situaciones en las cuales es conveniente tener varios placeholders
en un solo botn. Su actual seleccin se inserta en la posicin del primer placeholder, indicada por . Los placeholder adicionales se indican por , y usted puede trasladarse a travs de los placeholders sucesivos usando la tecla .
He aqu una paleta que contiene botones con varios placeholders.
-
5. 2. Elementos activos en cuadernos 36 He aqu una expresin en un cuaderno. Presionando el botn superior izquierdo en la ltima paleta insertamos la
expresin en el lugar de . Usted puede trasladarse a los otros placeholders usando la tecla , y
entonces los corrige para insertar lo que usted desea. 5.3. PAQUETES EN MATHEMATICA Una de las caractersticas ms importantes de Mathematica es que es un
sistema extensible. Hay una cierta cantidad de funciones incorporadas en Mathematica. Pero usando el lenguaje de programacin de Mathematica, siempre es posible aadir ms funciones.
Para muchos tipos de clculos, lo incorporado en la versin estndar de
Mathematica ser suficiente. Sin embargo, si usted trabaja en particular en un rea especializada, puede encontrarse en la necesidad de utilizar ciertas funciones no incorporadas en Mathematica.
En tales casos, usted podra encontrar un package (paquete) de Mathematica
que contiene las funciones que usted necesita. Los paquetes de Mathematica son archivos escritos en el lenguaje de programacin de Mathematica . Los mismos consisten en colecciones de definiciones hechas en Mathematica las cuales se aplican a reas particulares.
-
5. 3. Paquetes en Mathematica 37
debe olvidar es que usted no debe referirse a una funcin que leer desde un
paquete antes de leerla realmente en el paquete. Si usted hace esto por equivocacin, deber ejecutar el comando Remove[name] para librarse de la definicin de la funcin que usted hizo antes de leer el paquete. Si usted no usa Remove, Mathematica usar su versin de la funcin, en lugar de la del paquete.
El hecho de que Mathematica pueda extenderse usando paquetes significa que
las partes de Mathematica son ilimitadas. En lo que al uso concierne, no hay en realidad ninguna diferencia entre las funciones definidas en paquetes y las funciones incorporadas en Mathematica.
De hecho, un nmero determinado de las funciones descritas en este libro se
ejecutan como paquetes de Mathematica. Sin embargo, en la mayora de los sistemas de Mathematica, se han cargado los paquetes necesarios, de modo que las funciones que ellos definen estn siempre presentes.
Usted puede utilizar el Help Browser para obtener informacin sobre los
paquetes estndares de Mathematica. Para ello seleccione la tarjeta Add-ons & Links del mismo.
5.4. INTERRUPCIN DE CLCULOS Probablemente habr veces en que desee detener Mathematica en medio de un
clculo. Tal vez usted se da cuenta que pidi a Mathematica hacer un clculo incorrecto. O quizs el clculo tarda demasiado, y usted quiere saber que es lo que pasa.
La forma en que usted interrumpe un clculo en Mathematica depende de qu
clase de interfase est utilizando. + interfase de cuaderno + interfase basada en texto Combinaciones de teclas para interrumpir clculos en Mathematica. En algunos sistemas informticos, puede tomar a Mathematica un cierto
tiempo para responder a su interrupcin. Cuando Mathematica responde, le dar un men de cosas posibles para hacer.
-
38
CAPTULO 6
CLCULOS ALGEBRAICOS
6.1. CLCULO SIMBLICO Una de las caractersticas importantes de Mathematica es que puede hacer
clculos simblicos y numricos. Esto significa que puede manejar frmulas algebraicas as como nmeros.
He aqu un tpico clculo numrico. 4 + 36 - 1 39 Este es un clculo simblico. 7 x 3 x + 6 6 + 4x Clculo numrico 4 + 36 - 1 39 Clculo simblico 7x - 3x + 6 6 + 4x Usted puede digitar cualquier expresin algebraica en Mathematica. -1 + 2 x + x^3 -1 + 2x + x3 Mathematica realiza automticamente simplificaciones algebraicas bsicas.
Aqu combina a x 2 y a 4x 2 para dar 3x2 . x^2 + x - 4x^2 x 3x2 Puede utilizar espacios para denotar la multiplicacin. Tenga cuidado de no
olvidarse del espacio en x y . Si usted digita xy sin espacio, Mathematica interpretar esto como solo smbolo, con el nombre xy, no como un producto de dos smbolos x y y.
Mathematica reordena y combina trminos usando las reglas estndares del
lgebra. x y + 2 x^2 y + y^2 x^2 - 2 y x -xy + 2x2y + x2y2 He aqu otra expresin algebraica. (x + 2 y + 1)(x - 2)^2 (-2 + x)2(1 + x + 2y)
-
6. Clculos algebraicos 39
La funcin Expand ampla productos y potencias. Expand[%] 4 3x2 + x3 + 8y 8xy + 2x2y Factor hace lo inverso de Expand. Factor[%] 4 3x2 + x3 + 8y 8xy + 2x2y 6.2. VALORES PARA SMBOLOS Cuando Mathematica transforma una expresin por ejemplo x + x en 2x, est
tratando la variable x en forma puramente simblica o formal. En tales casos, x es un smbolo que puede representar cualquier expresin.
A menudo, sin embargo, usted necesita sustituir un smbolo como x por un
valor determinado. Algunas veces este valor ser un nmero; aunque frecuentemente ser una expresin.
Para sustituir el smbolo x, que aparece en la expresin 1 + 2 x, con un valor
determinado; puede crear una regla de la transformacin en Mathematica, y despus aplicar esta regla a la expresin. Para sustituir x por el valor 3, usted creara la regla de transformacin x->3. Debe digitar -> como un par de caracteres, sin espacio entre ellos. Puede interpretar x->3 como una regla en la cual x ser sustituido por 3.
Para aplicar una regla de transformacin a una expresin particular de
Mathematica, usted digita expr/.regla. El operador de reemplazo /. se digita como un par de caracteres, sin espacio entre ellos.
Esto utiliza la regla de transformacin x->3 en la expresin 1 + 2 x . 1 + 2x /. x -> 3 7 6.3. LAS LIMITACIONES DE MATHEMATICA En slo un comando de Mathematica, usted puede especificar fcilmente un
clculo que sea demasiado complicado de hacer para cualquier ordenador. Por ejemplo, usted podra pedir Expand[(1+x)^(10^100)]. El resultado de este clculo tendra ms trminos que el nmero total de partculas en el universo.
Usted no tendra ningn problema para resolver Expand[(1+x)^100] en
cualquier ordenador que pueda utilizar Mathematica. Pero cuando usted aumenta el exponente de (1+x), los resultados que consigue tarde o temprano se harn demasiado grandes de almacenar para la memoria de su ordenador. Exactamente en qu punto sucede esto depende no solamente de la cantidad total de memoria
-
40 que su computadora tiene, sino a menudo tambin de detalles tales como qu
otros trabajos esta realizando su computadora cuando usted intenta hacer su clculo.
Si su ordenador realmente se queda sin memoria en medio de un clculo, la
mayor parte de versiones de Mathematica no tienen ninguna otra opcin, ms que pararse inmediatamente. Por consiguiente, es importante planificar sus clculos de modo que ellos nunca necesiten ms memoria de la que su ordenador tiene.
Incluso si el resultado de un clculo algebraico es absolutamente simple, las
expresiones intermedias que usted genera en el curso del clculo pueden ser muy complicadas. Esto significa que incluso si el resultado final es pequeo, las partes intermedias de un clculo pueden ser demasiado grandes de manejar para su ordenador. Si esto sucede, puede particionar su clculo, y resolver exitosamente cada parte del mismo. Usted debe saber que el esquema interno que Mathematica usa para direccionar la memoria es tal que cuando la parte de un clculo es terminada, la memoria que se usaba para almacenar las expresiones intermedias que surgen inmediatamente es hecha disponible para nuevas expresiones.
El espacio de memoria es el factor restrictivo ms comn en los clculos con
Mathematica. El tiempo tambin, sin embargo, puede ser un factor restrictivo. Usted por lo general esta preparado para esperar un segundo, o an un minuto, para obtener el resultado de un clculo. Pero no lo esta para esperar una hora o un da, y casi nunca ser capaz de esperar un ao.
El cdigo interno de Mathematica usa algoritmos sumamente eficientes y
optimizados. Pero hay algunas tareas para las cuales los mejores algoritmos conocidos siempre tarde o temprano toman una gran cantidad de tiempo. Una cuestin tpica es que el tiempo requerido por el algoritmo puede aumentar casi exponencialmente con el tamao de la entrada. Un caso clsico es la factorizacin de nmeros enterosdonde los mejores algoritmos conocidos requieren tiempos que crecen casi de manera exponencial con el nmero de dgitos. En la prctica, usted encontrar que FactorInteger[k] dar un resultado casi inmediato cundo k tiene menos de aproximadamente 40 dgitos. Pero si k tiene 60 dgitos, FactorInteger[k] puede comenzar a tomar un tiempo inmanejablemente largo.
En algunos casos, hay mejora progresiva de los algoritmos que se conocen, de
modo que las versiones sucesivas de Mathematica puedan realizar clculos particulares cada vez ms rpidos. Pero las ideas de la teora de cmputo sugieren que muchos cmputos siempre requerirn una cantidad irreducible de trabajo computacionalde modo que ningn algoritmo ms rpido sea encontrado alguna vez para ellos.
Hacer aritmtica con los nmeros que contienen algunos cientos millones de
dgitos. Generar un milln de dgitos de nmeros como y e . Expandir un polinomio que da un milln de trminos. Factorizar un polinomio en cuatro variables con unos cien mil trminos.
Reducir un sistema de desigualdades cuadrticas para unos miles de componentes independientes.
Encontrar las races enteras de un polinomio con grado un milln. Aplicacin de una regla recurrente un milln de veces.
-
6. Las limitaciones de Mathematica 41 Clculo de todos los primos hasta diez millones. Encontrar la inversa numrica de una matriz de 1000x1000. Solucin de un sistema lineal de un milln de variables con cien mil
coeficientes no ceros. Encontrar el determinante de una matriz entera de 250x250. Encontrar el
determinante de una matriz simblica de 20x20. Encontrar las races numricas de un polinomio de grado 200. Solucin de un problema de programacin lineal con cien mil variables.
Encontrar la trasformada de Fourier de una lista con cien millones de elementos. Representacin de milln de grficos primitivos. Clasificar una lista de diez
millones de elementos. Buscar una cadena que tiene diez millones de caracteres. Importacin de unos
diez megabytes de datos numricos. Formatear unas cien de pginas con salida TraditionalForm. Algunas operaciones que tpicamente toman algunos segundos en una PC
2004.
-
42
CAPTULO 7
MATEMTICAS SIMBLICAS
7.1. Operaciones bsicas La capacidad de Mathematica de tratar con expresiones simblicas, as como
nmeros, le permite usarlo para muchas clases de matemticas. El clculo es un ejemplo. Con Mathematica, usted puede diferenciar una
expresin simblicamente, y conseguir una frmula para el resultado. Esto encuentra la derivada de xn . D[ x^n, x ] He aqu un ejemplo ligeramente ms complicado. D[x^2 Log[x + a], x] Obtener frmulas como resultado de cmputos es generalmente deseable
cuando es posible. Hay sin embargo muchas circunstancias donde es matemticamente imposible conseguir una frmula explcita como resultado de un cmputo. Esto sucede, por ejemplo, cuando intenta solucionar una ecuacin para la cual no hay solucin de forma cerrada. En tales casos, debe recurrir a mtodos y aproximaciones numricas.
7.2. DIFERENCIACIN He aqu la derivada xn con respecto a x . D[ x^n, x ] Mathematica conoce las derivadas de todas las funciones matemticas
estndar. D[ ArcTan[x], x ] La tercera derivada con respecto a x . D[ x^n, {x, 3} ] La funcin D[x^n,x] realmente da la derivada parcial, en la cual se asume que
n no depende x. Mathematica tiene otra funcin, llamada Dt, que encuentra
-
7.2. Diferenciacin 43
derivadas totales, en la cual todas las derivadas se asumen relacionadas. En notacin matemtica, D[f,x] es como fx , mientras Dt[f,x] es como dfdx . Puede entenderse Dt como la derivada total.
Dt da una derivada total, asumiendo que n puede depender de x. Dt[ x^n, x ] As como trata variables simblicamente, usted tambin puede tratar
funciones simblicamente en Mathematica. As, por ejemplo, puede encontrar frmulas para las derivadas de f[x], sin especificar una forma explcita para la funcin f.
Mathematica no sabe como diferenciar f, as que le devuelve un resultado
simblico en trminos de f'. D[ f[x], x ] Mathematica utiliza la regla de cadena para simplificar derivadas. D[ 2 x f[x^2], x ] 7.3. INTEGRACIN He aqu la integral xn dx en Mathematica. Integrate[x^n, x] Mathematica sabe resolver casi cualquier integral que puede ser expresada en
trminos de funciones matemticas estndares. Pero debe comprender que aun cuando un integrando pueda contener slo funciones simples, su integral puede implicar funciones mucho ms complicadaso no puede ser expresable en absoluto en trminos de funciones matemticas estndares.
He aqu una integral simple. Integrate[Log[1 - x^2], x ] Esta integral puede ser expresada slo en trminos de una funcin de
dilogartmica. Integrate[Log[1 - x^2]/x, x] Esta integral involucra Erf. Integrate[Exp[1 - x^2], x]
-
44
Y esta otra involucra una funcin de Fresnel. Integrate[Sin[x^2], x] Esta integral incluso requiere una funcin hipergeomtrica. Integrate[(1 - x^2)^n, x] 7.4. SUMAS Y PRODUCTOS Esto construye la suma 7 xi . i Sum[x^i/i, {i, 1, 7}] Los productos se obtienen en forma similar a las sumas. Product[x + i, {i, 1, 4}]
Sum[x^i y^j, {i, 1, 3}, {j, 1, i}] La forma en que se especifica los rangos de las variables en Sum y Product es
un ejemplo algo general de la notacin de iteradores que Mathematica utiliza. Usted ver esta notacin otra vez cuando discutamos la generacin de tablas y listas usando Table y cuando describamos los lazos Do .
-
7.4. Sumas y Productos 45
{imax} iterador imax sin incrementar
variable alguna {i,imax} i vara de 1 a imax en pasos de 1
{i,imin,imax} i vara de imin a imax en pasos de
1
{i,imin,imax,di} i vara de imin a imax en pasos de
di {i,imin,imax}, i vara de imin a imax, y para cada valor, j vara {j,jmin,jmax},... de jmin a jmax, etc. Notacin de iteradores en Mathematica. 7.5. ECUACIONES Esta seccin habla de ecuaciones, que prueban una igualdad. La ecuacin x ==
y , prueba si x es igual a y. Esto prueba si 2 + 2 y 4 son iguales. El resultado es el smbolo True. 2 + 2 == 4 True Es muy importante que usted no confunda x = y con x == y . Mientras que x =
y es una declaracin imperativa que en realidad origina una asignacin, x == y simplemente prueba si x y y son iguales, y no causa ninguna accin explcita.
x=y asigna el valor de y a x x==y prueba si x e y son iguales Esto asigna a x el valor 4. x = 4 4 Si pregunta por x, obtiene 4. x 4 Esto prueba si x es igual a 4. En este caso si es. x == 4 True x es igual a 4 no a 6.
-
46 x == 6 False Esto remueve el valor asignado a x. x = . 7.5. OPERADORES RELACIONALES Y LGICOS
Esto prueba si 10 es menor que 7. El resultado es False. 10 < 7 False No todos estos nmeros son desiguales, por esta razn se obtiene False. 3 != 2 != 3 False Puede mezclar < y
-
caracter en Mathematica. Si ha usado un lenguaje de programacin como C, estar 7.5. Ecuaciones 47
familiarizado con esta notacin. Mathematica no sabe si esto es verdadero o falso. p && q p && q Mathematica deja esta expresin inalterada. (p || q) && !(r || s) (p || q) &&! (r || s) Puede usar LogicalExpand para expandir los trminos. LogicalExpand[ % ] (p && !r && !s) || (q && !r && !s)
-
PARTE 2
EJERCICIOS Y PROBLEMAS DE MATEMTICAS CON MATHEMATICA
-
ndice Parte 2 1. Primeros pasos 4
1.1. Clculo simblico con Mathematica . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.1.1. Polinomios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.1.2. Expresiones trigonomtricas . . . . . . . . . . . . . . . . . . . . . . . . . 15 2. Cmo dibujar con Mathematica 17
2.1. La orden Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.1.1. Opciones de Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.2. Grficos en coordenadas paramtricas . . . . . . . . . . . . . . . . . . . . . . . .20
2.2.1. Algunas curvas planas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3. El comando Show . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.4. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3. Vectores y matrices 24 4. Resolucin de ecuaciones 30
4.1. Ecuaciones sencillas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.2. Sistemas de ecuaciones lineales . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3. Resolucin de sistemas de ecuaciones . . . . . . . . . . . . . . . . . . . . . . . 34
4.4. Otros mtodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.4.1. Breves conceptos de programacin . . . . . . . . . . . . . . . . . . . . . 36
4.4.2. Mtodo de Biseccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.4.3. Mtodo de Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . . 40
4.5. El comando FindRoot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 5. Extremos de funciones de una variable 44
5.1. Continuidad y lmites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.2. Mximos y mnimos relativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 6. Frmula de Taylor 47
-
7. Integracin 52
7.1. Integrales definidas e indefinidas . . . . . . . . . . . . . . . . . . . . . . .52 7.2. Longitudes, reas y volmenes . . . . . . . . . . . . . . . . . . . . . . . .54 7.3. Integrales impropias. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
8. Grficos en 3D 57
8.1. El comando Plot3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 8.1.1. Opciones del comando Plot3D . . . . . . . . . . . . . . . . . . . . . 58
8.2. Grficos de contorno. Curvas de nivel. . . . . . . . . . . . . . . . . . . . 59 8.3. Grficos paramtricos. Curvas y superficies. . . . . . . . . . . . . . . . . .60
8.3.1. Superficies de revolucin . . . . . . . . . . . . . . . . . . . . . . . 61 9. Extremos relativos y condicionados 65
9.1. Derivadas parciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .65 9.2. Representacin grfica . . . . . . . . . . . . . . . . . . . . . . . . . . . .66
9.2.1. Campos de vectores . . . . . . . . . . . . . . . . . . . . . . . . . 69 9.3. Extremos relativos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
9.4. Extremos condicionados. . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
10.Integrales mltiples 81
-
CAPTULO1
Primeros pasos
Comenzaremos a familiarizarnos con el Mathematica haciendo, al principio, cosas muy simples
que nos ayudarn a conocer los principales comandos y cmo se deben usar.
Para efectuar clculos numricos, el programaMathema-
tica funciona como una simple calculadora, con la salvedad
de que con el Mathematica puedes obtener una precisin
que no tienen las calculadoras normales.
Una vez que hemos empezado el programa nos encon-
tramos delante de una pantalla ms o menos como la de
la figura. Arriba tienes la barra de Men, debajo tienes una
ventana vaca que es donde trabajaremos, y a la derecha te-
nemos una paleta con operaciones que ya iremos comen-
tando con ms detalle.
Una vez iniciada la ejecucin del programa, pulsa con el
botn izquierdo del ratn en la ventana principal y escribe: 3+2, y luego pulsa o Enter enel teclado numrico. Observars que en la pantalla aparece lo siguiente:
In[1]:=
3+2
Out[1]=
5
No intentes escribir los smbolos In[1]:= y Out[1]=, ya que stos los escribe el programa para
llevar un control sobre las operaciones que va efectuando. No importa si dicho dgito de control no
coincide con el que aparezca en este texto.
A continuacin, con el ratn puedes pulsar sobre los nmeros que habas escrito, y cambiarlos,
o aadir nuevos sumandos, etc... y recuerda que siempre que quieras obtener el resultado, debers
-
5pulsar . Tambin podrs escribir los siguientes comandos debajo del resultado anterior,con lo que quedar constancia escrita de las operaciones que vas haciendo. Observars que en las
sucesivas operaciones el ordenador responde ms rpido que en la primera, ya que al efectuar la
primera operacin, el programa debi leer del disco las reglas de clculo (esto es, el kernel del
programa), y dichas reglas permanecen en su memoria a partir de ese momento.
Para multiplicar nmeros no es necesario escribir el smbolo de la multiplicacin (opcionalmente
*), y basta con poner un espacio entre los factores.
In[2]:=
3 2
Out[2]=
6
Para efectuar potencias, puedes escribir
In[3]:=
385Out[3]=
35917545547686059365808220080151141317043
Ya que lo sabemos hacer directamente, comentemos que la paleta se puede
usar, entre otras cosas, para escribir potencias. Si pulsas en el primer botn de la
paleta te aparecer en la ventana de comandos lo siguiente:
Puedes teclear directamente la base y, cuando termines, el tabulador te lleva al
exponente. Una vez escrito pulsa como siempre y obtendrs el resultado,algo as:
In[4]:=
23
Out[4]=
8
Puedes hacer operaciones con fracciones, y obtener la fraccin resultante...
In[5]:=
2+3/13
Out[5]=29
13
-
6 Primeros pasos
(Por qu el resultado no ha sido 513?) Si lo prefieres, puedes aproximar el resultado mediante
unos cuantos dgitos de su expresin decimal:
In[6]:=
N[2+3/13]
Out[6]=
2.23077
... y si quieres que el Mathematica calcule 40 dgitos (incluyendo la parte entera)...
In[7]:=
N[2+3/13,40]
Out[7]=
2.2307692307692307692307692307692307692308
por qu el ltimo dgito del comando anterior fue un 7 y no un 6? y por qu ahora el ltimo
dgito ha sido un 8 y no un 7?
Si quieres, puedes poner dos mil decimales. Haz la prueba.
Sigamos probando... para obtener la raz de un nmero se usa el comando Sqrt o utilizar la
paleta (observa que la S es mayscula, y el nmero debe ir entre corchetes):
In[8]:=
Sqrt[5]
Out[8]=5
... pues vale... y encima es hasta verdad... pero si quieres la expresin decimal con quince dgitos,
In[9]:=
N[Sqrt[5],15]
Out[9]=
2.23606797749979
Tambin puedes hacer la raz cuadrada de un nmero, elevando dicho nmero al exponente 12
In[10]:=
5(1/2)Out[10]=
5
-
7Podras ahora obtener una aproximacin decimal de 786 con doscientas cifras decimales?.
Intntalo.
Adems de saber calcular las races, Mathematica tambin conoce las reglas de clculo para
operar con ellas:
In[11]:=
Sqrt[2] Sqrt[3]
Out[11]=6
...o bien...
In[12]:=
Sqrt[5(1/3)]Out[12]=
51/6
Como ya habrs notado, en la paleta tienes botones que permiten escribir fracciones, races de
cualquier orden y algunas de las constantes ms usuales como el nmero e o pi .Se supone que conocemos aproximadamente el valor del nmero pi , y tambin Mathematica lo
conoce...
In[13]:=
Pi
Out[13]=
pi
...ya... parece ms interesante as:
In[14]:=
N[Pi]
Out[14]=
3.14159
Es probable que alguno de nosotros conozcams dgitos, peroMathematica es capaz de decirnos
los primeros cinco mil dgitos de pi . Prueba.Ahora vamos a trabajar con variables. Prueba el siguiente comando (ten en cuenta que para
cambiar de lnea dentro de un comando es necesario pulsar slo , y finalmente paraejecutar todo el comando)
-
8 Primeros pasos
In[15]:=
a=20;
b=4;
a/bOut[15]=
5
Observa que las lneas de comando que terminan en punto y coma no producen ninguna res-
puesta del Mathematica . Prueba a quitar (por ejemplo) el punto y coma de la primera lnea en el
ejemplo anterior.
Razona la respuesta que da el Mathematica al siguiente comando:
In[16]:=
a=5;
b=12;
N[Sqrt[a+b],b]Out[16]=
4.12310562562
ConMathematica podemos usar el resultado de una operacin anterior sin necesidad de teclearlo.
Esto se consigue con la orden %. Si queremos el resultado de la salida n (Out[n]), podemos obtenerlocon %n. Por ejemplo, si queremos el resultado de la operacin nmero 15,
In[17]:=
%15Out[17]=
5
adems podemos usar esa informacin como cualquier otro dato
In[18]:=
%152Out[18]=
25
Para obtener el resultado inmediatamente anterior usamos % sin ningn nmero,
In[19]:=
%Out[19]=
25
-
9% % para el penltimo, etc...
Adems de las operaciones elementales que hemos visto, Mathematica tiene definidas la mayor
parte de las funciones elementales. Los nombres de estas funciones suelen ser su abreviatura en
ingls, que algunas veces difiere bastante de su nombre castellano. En general, cualquier comando
de Mathematica se escribe con la primera letra en mayscula. Por ejemplo
In[20]:=
Sqrt[4]
Out[20]=
2
Algunos ejemplos de funciones con Mathematica son:
Funcin exponencial: Exp[x]
In[21]:=
Exp[2]
Out[21]=
E2
(para Mathematica el nmero e se escribe E) y si queremos su expresin decimal
In[22]:=
N[Exp[2]]
Out[22]=
7.38906
Otra forma de calcular la funcin exponencial aplicada a x es elevando E a x. Podras calcularas e5? y su primera cifra decimal? Haz lo mismo usando la funcin Exp y comprueba que da elmismo resultado.
Funcin logaritmo neperiano: Log[x]
In[23]:=
Log[20]
Out[23]=
Log[20]
...ya empezamos... Bueno, si lo que nos interesa es su expresin decimal
In[24]:=
N[Log[20]]
Out[24]=
2.99573
-
10 Primeros pasos
EnMathematica , si no decimos lo contrario, los logaritmos sern neperianos. Si queremos calcu-
lar el logaritmo en base b de x usamos Log[b,x]. Por ejemplo, el logaritmo decimal de 100
In[25]:=
Log[10,100]
Out[25]=
2
Cunto valdr el logaritmo en base 2 de 64? Comprubalo. Cunto debe valer Log[Exp[7]]? Y
Exp[Log[7]]? Pide a Mathematica que los calcule.
Funciones trigonomtricas: Sin[x], Cos[x], Tan[x] (seno, coseno, tangente)
In[26]:=
Sin[Pi/4]
Out[26]=12
Tambin podemos usar las funciones trigonomtricas inversas, esto es, el arcoseno, arcocoseno
y arcotangente, que se escriben respectivamente ArcSin[x], ArcCos[x] y ArcTan[x]. Observa que
la cuarta letra de cada comando est enmayscula; escrbelo as, si no,Mathematica no lo entender.
In[27]:=
ArcTan[1]
Out[27]=pi4
Prueba a componer dos o ms de todas estas funciones y a hacer clculos con ellas.
1.1. Clculo simblico con Mathematica
Hasta ahora slo hemos usado elMathematica como una calculadora muy potente, pero prctica-
mente todo lo que hemos aprendido puede hacerse sin dificultad con una calculadora convencional.
Entonces, qu puede hacerMathematica que sea imposible con una calculadora? Bueno, entre otras
muchas cosas que veremos posteriormente, la principal utilidad de Mathematica es el clculo sim-
blico, es decir, el trabajar con expresiones algebraicas (expresiones donde intervienen variables,
constantes... y no tienen porqu tener un valor numrico concreto) en vez de con nmeros. Por
ejemplo, el programa sabe que la funcin Log es inversa de Exp, con lo que si ponemos
-
1.1 Clculo simblico con Mathematica 11
In[1]:=
Exp[Log[x]]
Out[1]=
x
es decir, sin saber el valor de la variable x el programa es capaz de trabajar simblicamente conella. Ms ejemplos
In[2]:=
Exp[x]Exp[y]
Out[2]=
Ex+y
In[3]:=
a+2a+5b
Out[3]=
3 a + 5 b
ParaMathematica cualquier letra o combinacin de letras puede ser una variable o una constante.
Hay excepciones como la letra E, que siempre indica el nmero e y no puede usarse como variable ni
constante. Sin embargo, las letras x, y, z... a, b, c, d... pueden usarse sin problemas como nombres de
constantes y variables. Cmo podemos hacer que Mathematica diferencie entre constantes (valor
fijo) y variables (valor indeterminado)? Para el programa, si no se le ha asignado un valor a una
letra, sta ser una variable. Si le hemos asignado un valor a una letra, sta ser una constante, es
decir, tendr siempre un valor concreto. Podemos quitar el valor a una constante? S, con la orden
Clear[nombre variable]. Un ejemplo:
In[4]:=
a=7
Out[4]=
7
In[5]:=
a2
Out[5]=
49
es decir, le damos a la letra a el valor 7 y Mathematica la sustituye siempre por ese valor; en estecaso, a es una constante. Si usamos Clear
-
12 Primeros pasos
In[6]:=
Clear[a]
(observa que esta entrada no produce ninguna salida)
In[7]:=
a2
Out[7]=
a2
ahora, a es una variable, esto es, no tiene un valor concreto y Mathematica debe tratarla simblica-mente. Si queremos que todas las constantes que hayamos definido pierdan su valor concreto (que
pasen a ser variables) usaremos Clear["Global*"] (el acento que hay que usar es el que est a la
derecha de la p ).
Vamos a practicar con comandos de Mathematica para manejar expresiones algebraicas: polino-
mios, funciones racionales, expresiones trigonomtricas, ecuaciones...
1.1.1. Polinomios
Si introducimos el siguiente polinomio
In[8]:=
x2 + 2 x + 1
Out[8]=
1 + 2 x + x2
Mathematica no intenta simplificarlo. Si escribimos
In[9]:=
(x+1)2
Out[9]=
(1+x)2
Mathematica no desarrolla el cuadrado. Probemos ahora a restar las dos expresiones:
In[10]:=
% % - %Out[10]=
1 + 2 x + x2 - (1 + x)2
-
1.1 Clculo simblico con Mathematica 13
Mathematica no se da cuenta de que la expresin vale cero. Esto es porque no factoriza ni desa-
rrolla automticamente, sino que debemos decirle que lo haga. Cmo lo hacemos? Con las rdenes
Expand[expresin] (desarrollar), Simplify[expresin] (simplificar) y Factor[expresin] (fac-
torizar):
In[11]:=
Expand[(x-2)(x-1)x(x+1)(x+2)]
Out[11]=
4 x - 5 x3 + x5
tambin con varias variables
In[12]:=
Expand[(2y-x)(-3x+y)(x+y)]
Out[12]=
3 x3 - 4 x2 y - 5 x y2 + 2 y3
In[13]:=
Factor[ %]
Out[13]=
(x - 2 y) (3 x - y) (x + y)
In[14]:=
Expand[1+2x+x2 - (1+x)2]
Out[14]=
0
In[15]:=
Factor[1+2x+x2 - (1+x)2]
Out[15]=
0
La orden Simplify sirve para simplificar una expresin, factorizando o no, segn convenga:
-
14 Primeros pasos
In[16]:=
Simplify[1+x3]
Out[16]=
1 + x3
In[17]:=
Simplify[x2+2x+1+(1+x)2]
Out[17]=
2(1 + x)2
Hay veces que la expresin es demasiado complicada y Simplify no da ningn resultado
prctico. En este caso se puede intentar usar la orden FullSimplify, pero hay que tener en cuenta
que el tiempo para realizar los clculos puede aumentar mucho.
In[18]:=
Simplify[3513 18]
Out[18]=
(-18 + 513)(1/3)
In[19]:=
FullSimplify[3513 18]
Out[19]=12(3+
13)
El comando Short sirve para ver mejor polinomios muy grandes, mostrando slo algunos de los
trminos de mayor y menor grado
In[20]:=
Expand[(x+1)5]
Out[20]=
1 + 5 x + 10 x2 + 10 x3 + 5 x4 + x5
In[21]:=
Short[ %]
Out[21]=
1 + 5 x + 3 + x5
-
1.1 Clculo simblico con Mathematica 15
1.1.2. Expresiones trigonomtricas
Mathematica conoce las identidades trigonomtricas y puede usarlas para simplificar expresio-
nes en las que aparezcan dichas funciones. En lugar de Expand y Factor, utilizaremos las rdenes
TrigExpand y TrigFactor. Por ejemplo,
In[22]:=
TrigExpand[Cos[+ ]]Out[22]=
Cos[] Cos[]-Sin[] Sin[]
In[23]:=
TrigExpand[Sin[2ArcTan[t]]]
Out[23]=2t
1+t2
In[24]:=
TrigExpand[Sin[x+3*y]+Cos[2* z]
Sin[x-y]]Out[24]=
Cos[y]3 Sin[x] +
Cos[y] Cos[z]2 Sin[x] +
3 Cos[x] Cos[y]2 Sin[y] -
Cos[x] Cos[z]2 Sin[y] -
3 Cos[y] Sin[x] Sin[y]2 -
Cos[x] Sin[y]3 -
Cos[y] Sin[x] Sin[z]2 +
Cos[x] Sin[y] Sin[z]2
In[25]:=
TrigExpand[8 Sin[2*x]2 Cos[x]3]
Out[25]=
4Cos[x]3 - 4 Cos[x]7 +
24 Cos[x]5 Sin[x]2 -
4Cos[x]3 Sin[x]4
-
16 Primeros pasos
TrigExpand tambin trabaja con funciones hiperblicas:
In[26]:=
TrigExpand[Sinh[2 x]3]
Out[26]=
32 Cosh[x] Sinh[x] +32 Cosh[x]
5 Sinh[x] +
5 Cosh[x]3 Sinh[x]3 +32 Cosh[x] Sinh[x]
5
-
CAPTULO2
Cmo dibujar con Mathematica
2.1. La orden Plot
Una de las grandes virtudes de Mathematica es lo fcil y completo que es su tratamiento de
los grficos para funciones de una y dos variables. Es posible dibujar a la vez varias funciones y
personalizar el resultado en cuanto a escalas, color, etc. Tambin se pueden representar funciones
en coordenadas paramtricas e incluso se pueden realizar animaciones.
Un primer paso antes de empezar a representar grficamente una funcin es tener una manera
cmoda de definirla. Siguiendo la costumbre usaremos las letras f , g, . . . para nombrarlas. Paradefinir la funcin sen(x) haremos lo siguiente
In[1]:=
f[x_]=Sin[x]
Out[1]=
Sin[x]
Observa que se usan los corchetes para todo y que despus de la variable x aparece _. No hayque olvidar este guin despus de cada variable cuando estemos definiendo una funcin.
Una vez definida la funcin podemos evaluarla en un punto o representarla grficamente.
Por ejemplo,
In[2]:=
f[1]
Out[2]=
Sin[1]
-
18 Cmo dibujar con Mathematica
o si queremos su valor numrico
In[3]:=
N[f[1]]
Out[3]=
0.841471
Tambin podemos asignar un valor a la variable x y luego evaluar:
In[4]:=
x=0;
f[x]Out[4]=
0
Observa que a la hora de evaluar una funcin que hayamos definido no se usa el _.
Pueden surgir problemas al definir una funcin si la variable que usamos tiene asignado un
valor concreto, con lo que la funcin sera constante; en este caso, resolvemos el problema con la
sentencia Clear que vimos en la practica pasada. Por ejemplo, si queremos definir f(x) = ln(x),podemos poner
In[5]:=
Clear[x,f];
f[x_]=Log[x]
y la funcin queda bien definida aunque antes hubisemos asignado un valor a x.Por ltimo, tambin se pueden definir funciones a trozos. Por ejemplo:
f[t_]:= t /; t>0 && t
-
2.1 La orden Plot 19
In[6]:=
Plot[Tan[x],{x,0, 4Pi}]
2 4 6 8 10 12
-30
-20
-10
10
20
30
Out[6]= - Graphics -
Un comentario sobre lo que acabamos de hacer: como se puede ver, podemos escribir directamen-
te la funcin a representar dentro del comando Plot. El inconveniente que tiene hacerlo as es que
cada vez que queramos trabajar con esa funcin tenemos que volver a escribirla, siendo ms con-
veniente ponerle nombre (p.e. f[x_]=Tan[x], y usar despus el nombre (Plot[f[x],{x,0,4Pi}]).
2.1.1. Opciones de Plot
Cuando presentamos el comando Plot dijimos que podamos poner opciones; veamos cules
son algunas de ellas:
AspectRatio>nmero
Determina la proporcin entre los ejes de abscisas y ordenadas. Si especificamos el valor 1 los
dos ejes tendrn el mismo tamao.
In[7]:=
Plot[Tan[x],{x,0,4Pi},AspectRatio->2]
PlotRange>{nmero1,nmero2}
Slo se presentan los valores de f(x) comprendidos entre nmero1 y nmero2. Si no se especi-fica esta opcin aparecen todos los valores posibles de f(x), en funcin del rango de variacinde x.
In[8]:=
Plot[Tan[x],{x,0,4Pi},
PlotRange->{2,20}]
PlotStyle
Permite escoger, entre otras cosas, el color de la siguiente forma:
RGBColor[nmero1,nmero2,nmero3]
Permite escoger un color en funcin de la cantidad de rojo (nmero1), verde (nmero2) y azul
(nmero3), donde los nmeros pueden tomar cualquier valor entre 0 y 1.
-
20 Cmo dibujar con Mathematica
In[9]:=
Plot[Tan[x],{x,0,4Pi},
PlotStyle->{RGBColor[1,0,0]}]
Veamos algunos ejemplos de cmo utilizar estas opciones. Prueba las siguientes rdenes, com-
para los resultados e intenta variar algunos de los parmetros a ver que pasa.
Clear[x,f];
f[x_]=Exp[x] ArcTan[x];
Plot[f[x],{x,0,5},
PlotRange->{-1,30}];
Tambin se pueden dibujar varias grficas de funciones a la vez. Una de las formas de distin-
guirlas es dibujando cada una de un color diferente:
Plot[{Sin[x],Cos[x]}, {x,-2 Pi,2 Pi},
PlotStyle->{RGBColor[1,0,0],
RGBColor[0,0,1]}];
Nota: si quieres volver a usar los mismos nombres para funciones distintas recuerda limpiar
los nombres de las variables y las funciones con el comando Clear; si quieres borrar los valores de
todas las variables, usa Clear["Global*"]. Por ejemplo, si quieres volver a usar las letras f y gpara otras dos funciones haz lo siguiente:
Clear[f,g,x];
f[x_]=Sin[2 x];
g[x_]=Cos[4 x];
Plot[{f[x],g[x]},{x,0,10 Pi},
PlotStyle->{RGBColor[1,0,1],RGBColor[0,1,0.5]}];
Prueba lo mismo que hemos hecho con las f