Capítulo 1 Instrucciones Básicas de Mathematica En este capítulo se presentan algunas instrucciones y operaciones básicas para empezar a familarizarse con el programa Mathematica. Se pueden encontrar explicaciones detalladas de cada comando en el libro "MATHEMATICA: A system for doing mathematics by computer" y en la ayuda "en línea" de este programa. En el presente capítulo se dará una visión general del tipo de opera ciones que se pueden efectuar, yendo desde simples operaciones aritméticas y algebraicas hasta operaciones simbólicas que surgen en álgebra y en el cálculo diferencial e integral. Además se generan gráficas en dos y tres dimensiones de funciones que dependen de una y dos variables. Iniciando Mathematica Los ejemplos que se presentan en este libro fueron desarrollados en Mathematica v3.0 para Windows 95, lo que implica que puedan existir ligeras diferencias con versiones posteriores o para otras platafor mas computacionales. Sin embargo, las diferencias son mínimas, y están asociadas al aspecto del menú principal en cada plataforma. Afortunadamente, los comandos que se utilizan para ejemplificar algún problema son los mismos para cualquier sistema operativo. En particular, en el 2004 la combinación usual es ya Mathematica v5.0 con un ambiente Windows XP. Para iniciar o arrancar el programa en Windows, hay que activar el botón Inicio en la barra de tareas, elegir el menú Programas, seleccionar el grupo de programas Mathematica 3.0, 4 o 5, y finalmente, activar el programa con nombre Mathematica 3.0, 4 o 5, respectivamente, según sea la versión instalada. Alternativamente, se puede activar el ícono de acceso directo si está presente en el escritorio. Iniciado el programa, aparece una ventana en blanco con el nombre "Untitled 1" que sólo contiene una línea horizontal de color negro, lo que significa que Mathematica está listo para recibir cualquier instruc ción que se desee. La parte del programa que despliega esta ventana en blanco es conocida como FrontEnd, la interfase de usuario dentro de la cual por lo general se trabaja. En donde se realizan todas las operaciones es en el Kernel. Cuando se le indica a Mathematica que efectúe alguna operación, en la barra de tareas de Windows aparecen dos programas activos, que son precisamente el FrontEnd y el Kernel.
2 Cap1_mod.nb Operaciones Aritméticas y Algebraicas Mathematica puede realizar cualquier operación aritmética. Por ejemplo, para hacer la siguiente oper ación 3 7 4 hay que teclear (3+7 4)/40. En este programa, toda operación se ejecuta al presionar 40 simultáneamente las teclas Shift (Mayúscula, con flecha hacia arriba) y Enter (Entra) del teclado alfabético, o simplemente presionando la tecla Intro del grupo de teclas numéricas a la derecha del teclado. De esta manera, en el monitor debe aparecer lo siguiente In[1]:= Nota que: 3 7 4 10 i) Mathematica añade a las entradas la palabra In y a las salidas la palabra Out, ambas seguidas de un corchete [ ] que contiene un número entero que se asigna automáticamentecon cada nueva entrada que tecleas, incrementándose consecutivamente con cada nueva instrucción, incluso si se escribe antes (o arriba) de entradas anteriores. Esto implica que Mathematica recuerda cada una de las instrucciones introducidas y el orden en que se introdujeron. En consecuencia, no conviene borrar entradas y salidas, porque permanecen en la memoria del programa y borrar algo dificulta la comprensión de lo realizado. ii) al ejecutar cada nueva entrada, tras su salida reaparece la línea horizontal negra debajo de la cual se añadirá lo que se teclee para la entrada siguiente. iii) en el margen derecho verás corchetes derechos de color azul que indican la celda de entrada, la celda de salida y la celda del par entrada salida. Recomendaciones generales del curso: En todas las lecciones, procura siempre: a) examinar la "respuesta" que en cada caso te da la computadora, b) comprender tal respuesta y c) compararla con lo esperado. d) Cuando obtengas por respuesta una gráfica, examínala cuidadosamente para describirla con palabras en los aspectos cualitativo y cuantitativo (p. ej., si es creciente o decreciente, si tiene ceros, máximos, mínimos, etc.). En general, cualquier operación del programa se efectúa en "forma aritmética exacta", con fracciones racionales, pero si se desea el resultado en forma decimal se tiene que utilizar el comando In[2]:= N % El signo % indica que se va a aplicar la operación o instrucción al último resultado obtenido. También se pueden usar una serie de n signos % juntos para que se aplique a la n ésima instrucción anterior. Otra manera de obtener el resultado en forma decimal es aplicando la instrucción N directamente a la expresión numérica: In[3]:= N 3 7 4 10 o bien, escribir los números con el punto decimal, esto es
Cap1_mod.nb 3 In[4]:= 3. 7. 4. 10. Examínese qué pasa cuando no todos los números tienen el punto decimal, con distintas combinaciones. Ejercicio 1: Obtener el resultado de las siguientes operaciones a. 23+ 5 6 3.5 45.7 b. 87.5 12 5 Además de hacer operaciones aritméticas, Mathematica puede realizar operaciones algebraicas entre variables, ya sean literales o combinaciones de símbolos alfanuméricos. Por ejemplo, si se desea factor izar a 2 b 2, se utiliza el comando o instrucción Factor In[5]:= Factor a^2 b^2 En este caso se utilizó el símbolo ^ que sirve para obtener la potencia de cualquier variable o número, el cual sólo aparece después de teclear el número del exponente. Observa lo que pasa al escribir (a^2 b^2)/(a+b) In[6]:= a^2 b^2 a b No se obtiene ningún efecto, porque aparece la misma expresión como salida. Pero si se utiliza el comando Simplify se obtendrá el resultado simplificado: In[7]:= Simplify % Para multiplicar dos cantidades, en Mathematica se usa el asterisco *, o se les separa con un espacio en blanco. Por lo tanto, la expresión a x y x y 4 puede escribirse como In[8]:= a x y x y ^4 o también (nota los espacios entre las literales y los paréntesis) como In[9]:= a x y x y ^4 Si faltara el espacio en blanco, Mathematica toma a ax como una nueva cantidad y no como el producto de a y x.. Si se desea desarrollar la expresión anterior se utiliza la instrucción Expand In[10]:= Expand % En ocasiones, es necesario agrupar términos en potencias de alguna variable. Por ejemplo, al usar In[11]:= Collect %, x
4 Cap1_mod.nb se agrupan los términos en potencias de x. Ejercicio 2: a. Desarrollar los siguientes polinomios i. x 2y 3 ii. 3 z 18 y 4 b. Simplificar las siguientes expresiones i. 6 r 3 r 1 4 r 2 r 5 ii. 2 a 4 3 a 2 5 a a 3 3 a 4 c. Factorizar las siguientes expresiones i. 9 x 2 y 2 15 x y 4 ii. 8 p 4 q r 2 4 p 3 q 3 r 2 Derivadas e Integrales de una Función Mathematica no se limita a efectuar operaciones algebraicas sino que también permite obtener las derivadas y las integrales analíticas, cuando esto es posible, de las funciones predefinidas del programa o que uno quiera definir. Por ejemplo, las funciones trigonométricas como seno, coseno, tangente, etc. están definidas en Mathematica, así como los números Π, e y otros. Para obtener el seno de 90 grados hay que expresar el ángulo en radianes: In[12]:= Sin Pi 2 Nota las mayúsculas iniciales. Si se desea el valor de Π con 25 cifras, se obtiene de In[13]:= N Pi, 25 Por otra parte, para definir la función f x 5 3x 6x 2 x 3 se debe escribir In[4]:= f x_ x^3 6x^2 3x 5; Observa que al definir funciones, el programa no tiene ninguna salida y que al inicio de esta instrucción se escribe la variable seguida de un guión bajo asignado lo del lado derecho del signo igual al lado izquierdo. Cuando se usa solamente el signo igual se tiene una asignación inmediata. Otra forma de definir a esta función es usando el signo igual compuesto, es decir, el signo de dos puntos con el signo igual, : =, que corresponde a una asignación diferida. También es importante identificar que las instruc ciones o comandos propios de Mathematica empiezan todos con letra mayúscula, así que para evitar algún conflicto, las variables y funciones que se deseen definir deben comenzar con letra minúscula. Definida la función, al reemplazar cualquier cantidad por la x dentro del paréntesis cuadrado, se obten drá la asignación correspondiente a la función de esa variable o la evaluación de la función para ese valor de la variable. Así, al poner el número 3, la letra p o la palabra hola se obtiene:
Cap1_mod.nb 5 In[15]:= In[16]:= In[17]:= f 3 f p f hola Mathematica puede derivar las funciones el número de veces que se le requiera o que la función lo permita. La instrucción In[18]:= D f x, x encuentra la primera derivada con respecto a x, pero con In[19]:= D f x, x, 2 se obtiene la segunda derivada. Otra manera de obtenerlas es, respectivamente, usando f [x] y f [x] (compruébalo). Estos son ejemplos de resultados de "hacer" matemática simbólica. Además de derivar, se puede integrar con el comando Integrate, In[20]:= Integrate f x, x que en esta forma produce la integral indefinida, primitiva o antiderivada de la función. Si se desea la integral definida, se deben declarar los límites de integración In[21]:= Integrate f x, x, 0, 1 con lo cual se ha evaluado 0 1 f x x como la diferencia entre los valores de la primitiva en los límites de integración. En caso de necesitar el valor numérico del resultado, se debe utilizar el comando NIntegrate, que calcula numéricamente el valor aproximado de la integral. In[22]:= NIntegrate f x, x, 0, 1 En muchas ocasiones esta instrucción resulta indispensable, pues no siempre se puede encontrar un resultado analítico a través de la primitiva, pero sí puede evaluarse numéricamente la integral casi para cualquier integrando. En un capítulo posterior se cubre la integración numérica con más detalle. Ejercicio 3: Definir las siguientes funciones: (Usa las letras indicadas en cada inciso para que se distingan y no tengas que reescribirlas en el siguiente ejercicio). a. p(x)= 4 x 5 3 x 2 3 b. g(t)= 5 t 1 2 t 2 7 c. h(x)= 10 x 2 + 9 x 4
6 Cap1_mod.nb Ejercicio 4: a. Obtener simbólicamente la primera, segunda y tercera derivadas de las funciones definidas en el ejercicio 3. b. Obtener simbólicamente las integrales de las funciones definidas en el ejercicio 3. c. Evaluar numéricamente la integral 2 3 1 x 3 x Gráficas de una función El estudio y análisis que se pueda hacer de una función en Mathematica se puede extender al aspecto gráfico, ya que se puede obtener una gráfica dando simplemente los límites de la variable independiente. Para la función f [x ] que se ha definido antes, se tendrá In[23]:= Plot f x, x, 2, 6 ; obteniendo así la gráfica de la función para x Ε [ 2, 6]. En caso de desear la gráfica para valores de la función comprendidos entre 20 y 10 hay que escribir In[24]:= Plot f x, x, 2, 6, PlotRange Automatic, 20, 10 ; Puesto que esta función es cúbica, debe tener tres raíces (que en general son complejas) y como observa mos en la gráfica que tiene tres intersecciones con el eje de las abscisas, las tres raíces de este polinomio son reales. Usando la gráfica y la escala de las abscisas, se puede estimar el valor de la variable indepen diente para las tres raíces. Usando la escala de las ordenadas, se pueden estimar los valores máximos y mínimos de la función y dónde están, o sea su posición, dada por las abscisas correspondientes. Mathematica permite obtener esas tres raíces con la instrucción In[25]:= raices NSolve f x 0, x Este resultado se presenta en forma de un arreglo, el cual también recibe el nombre de vector. Ejercicio 5: Dibujar la gráfica de las siguientes funciones a. f(x)=x 3 12 x en el intervalo x Ε [ 3,5] b. f(x)=x 4 5 x 2 4 en el intervalo x Ε [0,2] c. f(x)=sen(x) en el intervalo x Ε [0, 2 Π] d. f(x)=cos(x) en el intervalo x Ε [0, 2 Π]
Cap1_mod.nb 7 Ejercicio 6: Encontrar las raíces de las funciones definidas en el inciso a y c del ejercicio anterior. In[26]:= Antes de asignar el valor de una raíz a una variable vamos a ver la utilidad del operador de reemplazo, definido como la diagonal seguida por un punto (/.). Mathematica permite usar cualquier resultado generado a lo largo de una sesión, ya lo hemos hecho con el signo de porcentaje ya que de esta manera usamos el último resultado generado, pero si queremos usar el resultado 11 lo único que debemos hacer es escribir In[39]:= %11 Vamos a suponer que deseamos evaluar este resultado cuando a=0. Mathematica permite hacer esta evaluación sin tener que asignarle permanentemente el valor de 0 a la variable a, para este fin se usa el operador de reemplazo de la siguiente manera In[40]:= %11. a 0 Para obtener la flecha simplemente hay que escribir un guión y el signo mayor que. Hay que darse cuenta que la variable a no tiene asignado valor alguno, lo cual puede ser verificado cuando ejecutamos la instrucción In[41]:= a Las raíces de nuestra función se reportan en forma de un vector, que tiene tres componentes, cada componente está entre llaves y separada por una coma. Para poder hacer uso de la primer componente usamos In[7]:= raices 1 Sin embargo, en muchas ocasiones es necesario el uso del operador de reemplazo para extraer el valor de una componente después de usar el comando NSolve In[9]:= raiz1 x. raices 1 In[10]:= In[11]:= raiz2 x. raices 2 raiz3 x. raices 3 Finalmente podemos verificar que hemos encontrado las raíces de la función f(x) ya que podemos evaluar a ésta en esos puntos f raiz1 Tablas de datos y sus gráficas Es común que necesitemos realizar gráficas de puntos tabulados y no de funciones que estén escritas de manera explícita. Vamos a suponer que tenemos la siguiente lista de datos
8 Cap1_mod.nb In[25]:= tabla 0, 0, 0.4, 0.107251, 0.8, 0.287571, 1.2, 0.43372, 1.6, 0.516855, 2., 0.541341, 2.4, 0.522535, 2.8, 0.476751, 3.2, 0.417405, 3.6, 0.354115, 4., 0.29305, 4.4, 0.237689, 4.8, 0.189613, 5.2, 0.149168, 5.6, 0.115965, 6., 0.0892351, 6.4, 0.0680574, 6.8, 0.051501, 7.2, 0.038703, 7.6, 0.0289061, 8., 0.0214696, 8.4, 0.0158666, 8.8, 0.0116728, 9.2, 0.00855197, 9.6, 0.00624188, 10., 0.00453999, 10.4, 0.00329158, 10.8, 0.0023794, 11.2, 0.00171529, 11.6, 0.00123339, 12., 0.000884767 Para que no aparezcan los datos nuevamente al activar la variable tabla podemos escribir punto y coma al final de la instrucción. Si deseamos ver un par de elementos de la tabla, por ejemplo los datos de la pareja 15 debemos de usar In[31]:= tabla 5 Si deseamos cada uno de estos números los podemos obtener de In[32]:= In[33]:= tabla 5, 1 tabla 5, 2 Si deseamos ver los datos en forma de tabla podemos usar In[35]:= tabla TableForm es claro de esta tabla que tabla[[5,1]] representa el número que se encuentra en el quinto renglón y la columna 1. tabla[[5,2]] representa el número que se encuentra en el quinto renglón y la segunda columna. Para saber el número de datos que existen en nuestra tabla lo podemos obtener de In[36]:= Length tabla Para hacer una gráfica de estos datos no debemos usar el comando Plot, ya que este comando está reservado para graficar funciones, a cambio debemos de usar ListPlot In[37]:= ListPlot tabla ; Si deseamos unir cada uno de los puntos debemos de escribir In[38]:= ListPlot datos, PlotJoined True ; Ejercicio 7: Haga una gráfica de la siguiente tabla de datos 0.4 0.149 0.8 0.500 1.2 0.922 1.6 1.357 2.0 1.789 2.4 2.215 2.8 2.637 3.2 3.054 3.6 3.469 4.0 3.881
Cap1_mod.nb 9 Bibliografía * Stephen Wolfram, Mathematica: A system for doing mathematics by computing. Segunda Edición. Addison Wesley Publishing Co. U. S. A. 1991 * Richard E. Crandall, Mathematica for the Sciences. Addison Wesley Publishing Co. U. S. A. 1991. * Eugene Don. Theory and problems of Mathematica. Schaum s outline series. MacGraw Hill. U. S. A. 2001.