Mathematica

137
EL PROGRAMA MATHEMATICA COMO HERRAMIENTA EN LA RESOLUCIÓN DE PROBLEMAS Y EJERCICIOS DE MATEMÁTICAS. Cristina Carmona Barranco MATHEMATICA EN LAS MATEMÁTICAS

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