Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 1 de 45 Breve Introducción Mathematica fue el primer programa de cálculo simbólico 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 Técnica y también ha tenido una buena acogida entre los estudiantes de carreras en las que las Matemáticas son básicas para su formación. Antes de empezar a trabajar con Mathematica, conviene conocer todas sus posibilidades. Algunas de ellas las estudiarás con más detalle en los temas siguientes, para el resto, podrás consultar la bibliografía que te facilitamos. No es fácil definir Mathematica, aunque de forma muy simplificada se puede decir que es un programa para la computación y visualización numérica, simbólica y gráfica y que ofrece una herramienta interactiva de cálculo y un lenguaje de programación potente ¿Que es Mathematica? • Una calculadora de tipo numérico. La diferencia con una calculadora es que tiene implementadas aproximadamente unas 800 funciones y además trabaja con la precisión que se desee (incluyendo precisión infinita). • Un paquete de subrutinas para cálculo matemático. Se pueden hacer operaciones que requieran el uso de funciones o de procedimientos especiales como la integración numérica, la optimización de funciones, programación lineal, etc, que se pueden utilizar directamente. • Una calculadora simbólica. Con la posibilidad de trabajar con expresiones simbólicas. Podrás definir una función que quedará almacenada tal como es, y no en forma de algoritmo que pueda dar aproximaciones a la función. Se pueden sustituir valores de la variable como expresiones, parámetros, etc. y el sistema entiende y opera en forma simbólica (exacta). • Una potente herramienta de cálculo simbólico. Podrás derivar e integrar funciones, resolver ecuaciones diferenciales, calcular límites, manipular series de potencias, graficar en 2D y 3D, realizar todo tipo de animación. • Un paquete gráfico. Permite dibujar en dos o tres dimensiones, elegir perspectivas, sistemas de representación, sistemas de coordenadas, animar las gráficas. • Un lenguaje de programación, se puede realizar programación a tres niveles: Programación de tipo procedural (uso de bloques, iteraciones y ciclos, recursiones). Programación funcional (definición funciones, operadores funcionales, etc.). Programación basada en reglas (suministrando reglas que indican como operar o transformar expresiones simbólicas, funciones, etc.). • Un sistema para crear documentos interactivos, con posibilidad de incluir texto, gráficos, sonidos, animaciones, etc. • Un sistema de apoyo a otros programas. Podrás comunicar con Mathematica desde otros programas y pedirles tareas que realizará y después enviará los resultados. Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 2 de 45 ¿Que tan dinámico es Mathematica? Mathematica es un programa de Cálculo Simbólico de gran potencia. El enorme número de comandos y funciones internas que posee lo hacen aplicable en multitud de tareas que requieren un soporte matemático o gráfico. En un nivel básico puede ser utilizado para realizar cálculos numéricos y simbólicos, así como representaciones gráficas de funciones. Pero en niveles más avanzados puede usarse como lenguaje de programación, de gran utilidad por poseer incorporadas funciones e instrucciones que son comunes en lenguajes tradicionales de programación. Mathematica tiene los límites que vos le pongas. Podés personalizar el programa añadiendo tus propias funciones, tus macros o creando tu propias aplicaciones y guardarlas en paquetes de manera que puedas usarlas siempre que quieras como si formaran parte del programa. Existen ya numerosos paquetes desarrollados que incrementan la potencia de Mathematica. El Front-End y el Kernel El programa se estructura internamente en dos partes bien diferenciadas: El Kernel -Núcleo- es la parte "pensante" de Mathematica, donde se realizan los cálculos. El Front-End -Fachada, Interfase, Entorno- es lo que vemos al arrancar Mathematica y no es más que un editor de texto donde escribimos los comandos que deseamos ejecutar. Entonces, ante una determinada operación a realizar, lo que tendremos que hacer será escribirla apropiadamente en una hoja, un "cuaderno" o Notebook-, desde el "Front-End". Cuando acabemos de escribir la orden o la operación requerida, le diremos al Núcleo que la evalúe y nos devuelva el resultado. Ejemplo, para sumar 2 y 3, escribiremos 2+3 y pulsaremos la tecla Insert -que es la forma de "enviar" una expresión al Núcleo para que la evalue (también las teclas Shift-Enter y el icono con el símbolo de Mathematica sirven para esto). Es frecuente equivocarse al principio e intentar evaluar una expresión con la tecla Enter o Return; ésta sirve en Mathemática para pasar a la siguiente línea, permitiendo visualizar completamente expresiones largas. Esta operación es la primera que ejecutamos, veremos como tarda bastante en devolver un resultado ya que el Núcleo aún no se ha cargado en memoria, y espera a la primera operación para hacerlo. Podemos comprobar esto que decimos por el mensaje "Loading Kernel..." que aparece en la parte inferior izquierda de la pantalla. Se pueden modificar las opciones del programa para que el Núcleo se cargue nada más al comenzar el programa. Una vez que el Núcleo se ha instalado en memoria lo que se puede comprobar en la parte inferior derecha de la pantalla por la considerable reducción de Bytes libresoperaciones tan sencillas como la anterior dan su resultado instantáneamente. Definitivamente, usar Mathematica consiste en mantener una "conversación" entre el usuario y el Núcleo por medio del Front-End. Para que tal diálogo sea fructífero debemos esforzarnos en usar un "código" común, esto es, conocer qué comando hemos de ejecutar para que el ordenador realice la operación deseada. Es importante, para que el programa nos entienda, que prestemos atención a la ortografía y a la sintaxis de los comandos. En Mathematica esos tres elementos tienen una función específica, y no son intercambiables entre sí. Paréntesis: ( ) Sirven para “agrupar” términos, para modificar el orden estándar de evaluación, y NO SIRVEN para dar argumentos a las funciones. Es decir, no tiene sentido Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 3 de 45 para Mathematica hablar de f ( x ) o del Cos ( x ), por ejemplo. Para esta tarea se emplean los corchetes. Corchetes: [ ] Sirven para "argumentar", es decir, dar argumentos a las funciones y a los comandos. Será habitual ver cosas como f [ x ] ó Cos [ x ]. LLaves: { } Sirven para "listar", para declarar listas. Las listas son un recurso muy útil en Mathemática, pues sirven, entre otras cosas, para implementar vectores y matrices. Dobles corchetes: [[ ]] Se utilizan para referirnos a los elementos de una lista; así, si vector1 representa una lista vector1[[1]] es el primer elemento de la lista. Ojo con las Mayúsculas Efectivamente, hemos de tener en cuenta una pequeña cuestión "ortográfica". Cuando escribimos una determinada función o comando interno (una palabra con la que le pedimos a Mathematica un cierto resultado) hemos de fijarnos en que ese comando comienza con Mayúscula. En tal caso nosotros hemos de escribirlo con Mayúscula, ya que de otro modo el programa no nos entendería. También hay nombres de funciones de Mathematica que tienen Mayúscula(s) en medio, por estar compuestos de dos palabras, por ejemplo FindRoot, Plot, Plot3D, etc. Empezamos, Un poco de Aritmética Operaciones básicas Los operadores matemáticos básicos son: + - * / ^. La multiplicación puede ser indicada por un espacio en blanco, si no hay peligro de ambigüedad. En los demás casos los espacios en blanco no son tenidos en cuenta por el programa, resultando incluso de utilidad para dar mayor claridad a las expresiones. El orden de preeminencia de las operaciones es el estándar matemático, debiendo usar los paréntesis si deseamos agruparlas en orden diferente. 3+9*2 21 64 24 (9 - 5) 4 16 Soluciones exactas y soluciones aproximadas 2^1000 Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 4 de 45 107150860718626732094842504906000181056140481170553360744 „ 37503883703510511249361224931983788156958581275946729175 „ 53146825187145285692314043598457757469857480393456777482 „ 42309854210746050623711418779541821530464749835819412673 „ 98767559165543946077062914571196477686542167660429831652 „ 624386837205668069376 Cuando el resultado de una expresión no cabe en una sola línea, Mathematica lo presenta en varias, separando las líneas por medio del \ símbolo existen funciones y opciones para controlar la salida, pero en este caso podemos obtener el resultado de una manera "más racional" con una pequeña modificación: 2.^1000 1.07151 ´ 10301 ¿Cuál es la diferencia?. El punto: 2 es un número entero, "exacto" , mientras que 2., siendo el mismo valor, es un número "aproximado".Mathematica dará la solución "exacta" cuando todos los números que intervienen son "exactos", de otra manera dará un resultado "aproximado". La función "raíz cuadrada de x" se expresa como Sqrt [x], luego no es casualidad que empiece con Mayúscula, y que el número al que queramos aplicarle la función esté entre corchetes. Como Sqrt [ x ], es una función interna de Mathematica, cumple estas condiciones que ya hemos mencionado. Sqrt[9] 3 Sqrt[5] Sqrt[5] ¿Qué ocurre aquí? Nada malo, desde luego. Simplemente que Mathematica, por defecto, trabaja con las expresiones de forma exacta, y puesto que la raíz de 5 es irracional, lo deja expresado como tal. Volviendo a lo comentado anteriormente, podemos obtener un valor "aproximado" convirtiendo el argumento en un número aproximado. Sqrt[5.] 2.23607 Constantes y funciones En el trabajo matemático suele ser habitual referirse a determinadas constantes. constantes incorporadas en Mathematica son: La unidad imaginaria i ó j. Infinito. 3.14156. Factor de conversión de grados a radianes, de valor Pi/180. Constante e i (unidad imaginaria) Notacion en el Mathematica Pi Infinity E I Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 5 de 45 Más adelante aprenderemos a definir nuestras propias constantes, que podremos usar en cualquier otra expresión. Por otro lado el carácter % tiene un significado muy particular, ya que equivale al último resultado obtenido por Mathemática. %% llama a la penúltima, %%% a la antepenúltima órdenes de entrada y la salida de resultados están etiquetadas según el orden de introducción. %n equivale a la salida n (también la función Out[n]), mientras que In[n] llama a la entrada n. Sqrt[Pi] p N[%,50] 1.7724538509055160272981674833411451827975494561224 %^2 3.1415926535897932384626433832795028841971693993751 %%%^2 p Otras funciones matemáticas que implementa el software Factorial de n -natural- se expresa como n!. Valor absoluto de x -real-, como Abs [x]. Exp [x], exponencial de x. Log [x], logaritmo neperiano de x. Log[b,x], logaritmo en base b de x. Sin [x], Cos [x] , Tan [x], Csc [x], Sec [x], Cot[x], son las funciones y toman sus ARGUMENTOS EN RADIANES. ArcSin [x], ArcCos[x], funciones trigonométricas inversas, que dan el resultado en radianes. Sinh [x], Cosh[x], Tanh[x], Csch[x], Sech[x], Coth[x], son las funciones hiperbólicas. ArcSinh [x], ArcCosh [x], funciones hiperbólicas inversas. Ejemplo: Sin[Pi/2] 1 Sin[90 Degree] 1 N[%] 1. trigonométricas, Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 6 de 45 @ D Cos[Pi/4] 1 2 ArcSin 1 p 2 Mathematica y las constantes Se pueden definir todas las que quieras, si asignamos un resultado a un nombre , o bien damos un valor a una variable, en lo sucesivo podremos referirnos a ese resultado con el nombre que le hace referencia y operar con él. Para asignar un valor a un nombre se debe escribir el nombre seguido del signo igual ( = ) y del valor asignado. No sólo se pueden asignar valores numéricos, sino también expresiones enteras. Los comandos de Mathematica comienzan todos en mayúscula, es conveniente que todos aquellos símbolos que definamos nosotros empiecen en minúscula, y así evitar confusiones. Para borrar tales asignaciones usamos la función Clear [nombre]. Paco = % Pepe = 3 Juan = 3 + 2 x^2 paco + pepe + Juan Para borrar las asignaciones de las variables anteriores realizamos lo siguiente usando la función Clear que mencionamos anteriormente. Clear[Paco] Clear[Pepe] Clear[Juan] Mathematica entiende la expresión, evaluándola simbólicamente, pero no la evalúa numéricamente porque ni paco ni pepe ni Juan tienen valores asignados por los que ser sustituidos. Paquetes de funciones El programa Mathematica trae unas ochocientas funciones internas que podemos utilizar directamente, una vez cargado el núcleo del programa. Sin embargo, existen muchas aplicaciones específicas de las matematicas que se salen de la generalidad y se guardan aparte, para no ocupar la memoria de trabajo con funciones que no vamos a usar esto se almacenan en archivos. Estos archivos especiales se llaman paquetes. Están programados desde el mismo Mathematica y son simples definiciones de funciones que usamos una vez cargadas, como cualquier otra función interna. La sintaxis que utiliza Mathematica para cargar paquetes de funciones es la siguiente. <<Graphics`NombredelPaquete` Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 7 de 45 Otra forma de realizar la carga de un paquete es con la instrucción Needs. Needs[“Graphics`NombredelPaquete`”] La ventaja de esta instrucción es que si el paquete ya esta cargado no lo volverá a cargar. Trabajando con funciones en Mathematica Mathematica realiza gráficos de curvas planas y superficies, además como puede agruparlos y superponerlos de manera fácil y sencilla. Mathematica permite la construcción de complicadas graficas que a veces son imposibles de realizar a mano esta característica hace que este software sea muy utilizado a nivel universitario y científico. Representando Gráficos Bidimensionales el comando Plot Mathematica utiliza este comando para representar gráficos de funciones de una variable. Su sintaxis: Plot[Función, {x, xmin, xmax}] Dibuja la Función de variable x en un intervalo que nosotros le indicamos con xmax, xmin. Ejemplo: Plot[x, {x,-5,5}] 4 2 -4 -2 2 -2 -4 Plot[ -x,{x,-5,5}] 4 Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 8 de 45 4 2 -4 -2 2 4 -2 -4 Plot[xx,{x,-5,5}] 25 20 15 10 5 -4 -2 2 4 Plot[x3,{x,-5,5}] 2 1 -4 -2 2 4 -1 -2 Plot[1/x,{x,-4,4}] 20 10 -4 -2 2 -10 -20 Plot[Log[x],{x,0,5}] 4 Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 9 de 45 1 2 3 4 5 -2 -4 -6 -8 Plot[Sqrt[a],{a,0,6}] 2.5 2 1.5 1 0.5 1 2 3 4 5 @ @ D8 < D Plot Exp x , x, - 2, 2 7 6 5 4 3 2 1 -2 -1 @ @ D 8< D 1 2 Plot Sin x , x, 0, Pi 1 0.8 0.6 0.4 0.2 0.5 1 1.5 2 2.5 3 6 @ @ D 8 < D Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 10 de 45 Plot Sin x , x, 0, 2 Pi 1 0.5 1 2 3 4 5 6 -0.5 -1 @ @ D 8 < D Plot Sin x , x, 0, 4 Pi 1 0.5 2 4 6 8 10 12 -0.5 @ @ D 8 < D -1 Plot Sin x , x, - Pi, Pi 1 0.5 -3 -2 -1 1 2 3 -0.5 -1 @ @ D8 < D Plot Sin x , x, - 2 Pi, 2 Pi 1 0.5 -6 -4 -2 2 4 6 -0.5 @ @ D @ D 8 < D -1 Plot Sin x ^2 + 2 x Cos x , x, - 4 Pi, 4 Pi Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 11 de 45 20 10 -10 -5 5 10 -10 @ HL HL8 < D -20 Plot x^3 x^2 - 1 , x, - 4, 4 10 5 -4 -2 2 4 -5 -10 @ 8 < D Plot 1, x, - 10, 10 2 1.5 1 0.5 -10 -5 5 10 Características del comando Plot Mathematica cuando realiza una grafica toma valores por defecto para representar dicha graficas. Estos valores no son mas que variables que podemos modificar de una forma muy sencilla, estas variables representan por ejemplo el color con el cual queremos dibujar estas graficas, el tipo de fondo que utilizaremos, etc. Colocando fondo a nuestras graficas. (Background). Cuadro que esquematiza la variedad de colores que interpreta Mathematica. Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 12 de 45 GrayLevel[N] Especifica el nivel de gris. N debe se un numero entre 0 a 1 RGBColor[r,v,a] Especifica el color mediante los focos rojo, verde, azul varia 0 a 1 Hue[N] Matiza el color según el valor de N, N varia entre 0 a 1 Hue[N, s, b] Matiza el color, saturación y brillo según indiquen los parámetros. Ejemplo: @ @ D 8 < @ D D Plot Sin x , x, - Pi, Pi , Background ® GrayLevel 0.5 1 0.5 -3 -2 -1 1 2 3 -0.5 -1 @ @ D8 < @ D D Plot Sin x , x, - Pi, Pi , Background ® GrayLevel 0.9 1 0.5 -3 -2 -1 1 2 3 -0.5 @ @ D 8 < @ D D -1 Plot Abs x , x, - 10, 10 , Background ® Hue 0.1 10 8 6 4 2 -10 -5 5 10 @ 8 < @D D Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 13 de 45 Plot 1 x, x, - 1, 1 , Background ® RGBColor 1, 1, 0.1 75 50 25 -1 -0.5 0.5 1 -25 -50 -75 -100 Colocando los ejes coordenados. (Axes). Esta función tiene la particularidad de colocar o extraer los ejes coordenados de una manera muy sencilla, esta opcion es de suma utilidad cuando se quiere visualizar una función en su forma natural. Esta opcion nos da la abstraccion de cómo seria la función en su totalidad y cuales son sus caracteristicas principales, como era de esperarse esto de extraer los ejes es un poco medio contraproducente, porque cuando realizamos la grafica lo primero que tomamos en cuenta es la interseccion con los ejes(serian los ceros de la funcion), lo cual nos ayuda a entender su comportamiento. Agregando los ejes Axes-> True @ @ D8 < D Quitando los ejes Ejemplo: Plot Cos x , Axes-> False x, - 2 Pi, 2 Pi , Axes ® False @ @ D8 < D Plot Cos x , x, - 2 Pi, 2 Pi , Axes ® True 1 0.5 -6 -4 -2 2 -0.5 -1 4 6 Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 14 de 45 Colocando etiquetas a los ejes coordenados. (AxesLabel). AxesLabel->{ nombre1, nombre2 } Ejemplo: @ @ D 8 < 8 < D Plot Sin x x, x, - 3 Pi, 3 Pi , AxesLabel ® EJE X, EJE Y EJE Y 1 0.8 0.6 0.4 0.2 EJE X -7.5 -5 -2.5 2.5 5 7.5 -0.2 Colocando marcos a las figuras. (Frame). Ejemplo: Agrega marco Frame->True Elimina marco Frame->False @ @D8 < D Plot Sqrt x^2 + 1 , x, 0, 10 , Frame ® True 10 8 6 4 2 0 0 2 4 6 8 10 Etiquetando los marcos. (FrameLabel). Este función etiqueta el marco según el sentido horario. FrameLavel->{Abajo, Izquierdo, Arriba, Derecho} Ejemplo: @8 8 < Plot x^3 - x^ 2 + x - 2, x, - 4, 4 , Frame ® True, < D FrameLabel ® - XNegativo, - YNegativo, XPositivo, YPositivo Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 15 de 45 XPositivo 40 YPositivo - YNegativo 20 0 -20 -40 -4 -2 0 2 - XNegativo 4 Colocando cuadricula a la grafica.(GridLines). Este parametro agrega lineas parealelas a ambos ejes coordenados, generando asi un grafico bien definido por sus puntos. Automatic Coloca las grillas en todo en grafico. GridLines None No coloca nada. {{Valores x},{Valores y}} Coloca las grillas según los valors que la definamos. Ejemplo: @8 < Plot x^3, D x, - 5, 5 , GridLines ® Automatic 2 1 -4 -2 2 4 -1 -2 @8 < 88<8< < D Plot x^3, x, - 5, 5 , GridLines ® - 2, 2 , - 2, 2 2 1 -4 -2 2 -1 -2 4 Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 16 de 45 @8 < 88 < < D Plot x^3, x, - 5, 5 , GridLines ® - 1, - 2, 1, 2 , Automatic 2 1 -4 -2 2 4 -1 -2 Manipulando opciones generales de los gráficos.(PlotStyle). Esta función implementa una serie de primitivas que Mathematica utiliza para realizar gráficos con esta opción podemos elegir el color de la figura, como también el tamaño y el grosor de la misma, etc. Tonalidades Hue[0 a 1]} PlotStyle {GrayLevel[0 a 1]} RGBColor[0a 1,0 a 1,0 a 1]} Ejemplo: @ @ D8 < Plot Sqrt x , @ D D x, 0, 10 , PlotStyle ® Hue 0 3 2.5 2 1.5 1 0.5 @ @ D8 < 2 Plot Sqrt x , 4 6 8 10 @D D x, 0, 10 , PlotStyle ® RGBColor 1, .3, .9 3 2.5 2 1.5 1 0.5 2 4 6 8 10 Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 17 de 45 @ @ D8 < Plot Sqrt x , @D D x, 0, 10 , PlotStyle ® RGBColor .9, 0.8, .1 3 2.5 2 1.5 1 0.5 @ @ D8 < 2 Plot Sqrt x , 4 6 8 10 @ D D x, 0, 10 , PlotStyle ® Hue .6 3 2.5 2 1.5 1 0.5 @ @ D8 < 2 Plot Sqrt x , 4 6 8 10 @ D D x, 0, 10 , PlotStyle ® Hue .4 3 2.5 2 1.5 1 0.5 2 4 6 8 10 Modificando el grosor de los gráficos.(Thickness). Esta función da a todas las líneas un grosor definido en relación al ancho de todo el dibujo. PlotStyle->{Thickness[Grosor]} Ejemplo: @8 < 8 @ D < D Plot ã ^x, x, - 2, 2 , PlotStyle -> Thickness .01 7 6 5 4 3 2 1 -2 -1 1 2 Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 18 de 45 @8 < 8 @ D < D Plot ã ^x, x, - 2, 2 , PlotStyle -> Thickness .03 7 6 5 4 3 2 1 -2 -1 1 Graficando en forma discontinua.(Dashing). 2 Esta opción permite dibujar graficas en forma de pequeños segmentos, esta variable toma como parámetros los radios mínimos con lo cual se quiere graficar. Los parámetros que le pasamos están en proporción con la función que Mathematica interpreta para esbozarla. PlotStyle->{Dashing[{x1,x2,x3,xn}]} Ejemplo: @ @D 8 < 8@ 8 < D < D Plot Sin 2 Pi x , x, 0, Pi 2 , PlotStyle ® Dashing 0.05, 0.05 1 0.5 0.25 0.5 0.75 1 1.25 1.5 -0.5 -1 @ @D 8 < 8 @ D@ 8 < D < D Plot Sin 2 Pi x , x, 0, Pi 2 , PlotStyle ® Thickness 0.01 , Dashing 1 0.5 0.25 -0.5 -1 0.5 0.75 1 1.25 1.5 0.05, 0.05 Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 19 de 45 Superponiendo varias graficas Mathematica permite representar varias funciones a la vez, siempre y cuando que en todas ellas se considere el mismo dominio para la variable. En este caso el comando Plot, recibirá como parámetro una lista (agrupación de funciones), donde interpretara cada una de ellas y las dibujara sin ningún problema. Plot[{Lista},{ x, xmin, xmax }] @ 8 <8 < D Ejemplo: Plot x, x^2, x^3 , x, - 10, 10 30 20 10 -10 -5 5 10 -10 -20 @ 8@ D@ D@ D <8 < D Plot Sin x , Sin 2 x , Sin 3 x , x, 0, 2 p ; 1 0.5 1 2 3 4 5 6 -0.5 -1 Definiendo el rango de coordenadas.(PlotRange). Los valores que pueden tomar este variable son: Rango Automatic :Muestra la parte que Mathematica considera de importancia PlotRange All: Todos los puntos son incluidos {{Xmin, Xmax}, {Ymin, Ymax}} Toma un rango de valores que el usuario los define. Ejemplo: A 8 < E Plot x5 - 4.5 x4 + 2.1 x2 - 7, x, - 10, 14 , PlotRange ® Automatic ; Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 20 de 45 100 -10 -5 5 10 -100 -200 -300 A 8 < E Plot x5 - 4.5 x4 + 2.1 x2 - 7, x, - 10, 14 , PlotRange ® All ; 300000 200000 100000 -10 -5 5 10 -100000 A 8 < 88<8 < < E Plot x5 - 4.5 x4 + 2.1 x2 - 7, x, - 10, 14 , PlotRange ® - 6, 6 , - 200, 200 ; 200 150 100 50 -6 -4 -2 2 4 6 -50 -100 -150 -200 Etiquetando un grafico.(PlotLabel). Permite etiquetar un grafico con una expresión. PlotLabel->”Etiqueta” @@ D 8< D Ejemplo: Plot ChebyshevT 7, x , x, - 1, 1 , PlotLabel ® "A Chebyshev polynomial" ; A Chebyshev 1 polynomial 0.5 -1 -0.5 0.5 1 -0.5 D A@ @ D8 < -1 Plot Sin q 2 2 + Cos q 2 , q , 0, p , PlotLabel ® " @ D @ DE Sin q 2 2 + Cos q 2 " ; H H LL Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 21 de 45 sin 2 q €€€€€€€€€€€€€€€€ €€€€€€€€ €€ €€ cos 2 q + 2 0.5 0.4 0.3 0.2 0.1 0.5 1 1.5 2 2.5 3 @ @ D8 <HL H LD Plot Sin x , x, - Pi, Pi , PlotLabel -> "Y = sin X " Y = sin X 1 0.5 -3 -2 -1 1 2 3 -0.5 -1 Resumen de opciones del comando Plot Este cuadro resume los parametros basicos con los que mathematica realiza un grafico. Esta opciones pueden ser modificadas de manera arbitraria. Opcion Background Axes AxesLabel Frame FrameLabel GridLines Valor GrayLevel[] RGBColor[] Hue[] True False {eje x, eje y} True False “abajo, izquierda arriba, derecha.” Automatic All Función Permite dar color al fondo del grafico. Coloca los ejes coordenados en el grafico. Etiqueta los ejes coordenados. Permite incorporar un marco al grafico. Etiqueta a lo largo del marco. Permite la incorporacion de una cuadricula al grafico. Muestra un lista de parametros para los graficos . PlotStyle Definido por el usuario Thickness [valor numerico] Dashing {[interbalos de corte]} Crea una linea a trozos. PlotRange {Xminimo, Xmaximo} Define el rango de coordenadas en el cual se realiza la grafica. PlotLabel “Etiqueta” Permite etiquetar el grafico con una leyenda. Representa el grosor de la linea en el grafico. Con este resumen de parametros, ya estamos en condiciones de graficar nuestras propias funciones. Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 22 de 45 En breve se representaran varios tipos de funciones con los cuales aplicaremos lo que sea necesario para representar dichas funciones, por lo tanto haremos uso de lo que ya aprendimos. Una vez graficadas procederemos a modificarlas, alterando por ejemplo el color de fondo, con la opcion BackGround, quitaremos los ejes coordenados, etiquetaremos los ejes, agregaremos leyendas, siempre con un carácter critico y por sobre todas las cosas de tratar de mejorar lo que se esta haciendo. Con estos ejemplos se pretende que el alumno conozca el funcionamiento esencial del software y que ademas de ello aplique sus conocimientos sobre las mathematicas en general. @ 8 88@ D < 8 < 8 < @ D @ D @ 8 < D < 8 @ D @ 8 < D < @ D 8 @D @ 8 <D << D Ejemplo: Plot - 1, 1, Sin x PlotStyle ® , x, - 3, 3 , PlotRange ® - 1.5, 1.5 , Hue .9 , Thickness 0.002 , Dashing Hue 0.6 , Dashing 0.09, 0.09 Thickness 0.001 , Dashing 0.05, 0.05 , , Hue .1 , 0.09, 0.09 , Frame ® True 1.5 1 0.5 0 -0.5 -1 @ 8@ D @ D < 8 < 8 @ D @ D < D -3 Plot -2 -1 Abs x + 2 , - Abs x - 2 0 1 2 3 , x, - 6, 6 , PlotStyle ® Hue .7 , Hue .9 , Axes ® False . @ 8@ D@ D < 8 < 8 @ D @ D < 8 < D Plot Abs x + 2 , - Abs x - 2 Axes ® True, AxesLabel ® , x, - 6, 6 , PlotStyle ® Hue .7 , Hue .9 EJE X, EJE Y , Frame ® True EJE Y 7.5 5 2.5 0 EJE X -2.5 -5 -7.5 -6 -4 -2 0 2 4 6 , @ 8@ D@ D <8 < 8@ D@ D < D Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 23 de 45 Plot Cos x , Sqrt x , x, 0, 10 , PlotStyle -> Hue .6 , Hue .1 3 2 1 2 4 6 8 10 -1 @ 8@ D < 8 < 8 8 @ D @ D < 8 @ D @ D < 8@ D8 @D < < <D Plot Sin x , x^2, x , PlotStyle ® x, - Pi, Pi , Hue .1 , Thickness 0.01 Hue .5 , Thickness 0.01 , Hue .3 , Thickness 0.01 , , GridLines ® Automatic, Frame ® True, FrameLabel ® - Y, - X, Y, X Y 4 3 2 X -X 1 0 -1 -2 -3 A@ D99A@ D E8 = < =E -3 -2 -1 Plot Log x + Sin x + GridLines ® Pi 2 0 1 - Y 2 Sin x , Pi, 3 Pi 2 2 3 , x, 0, 8 , , 2 Pi, 5 Pi 2 , Automatic ; 3 2 1 2 4 6 8 -1 -2 @ 8@ D @ D < 8 < 8 < 8 @ D < 88 <8 <<D Plot Tanh x , - Tanh x PlotStyle ® GridLines ® Hue .7 , x, - Pi, Pi , PlotRange ® - Pi, Pi , , - Pi, - Pi 2, Pi, Pi 2 , - Pi, - Pi 2, Pi, Pi 2 Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 24 de 45 3 2 1 -3 -2 -1 1 2 3 -1 -2 A 9 = 8 < 8<E -3 Plot 3 x, 4 x, 5 x, 6 x, 7 x, 8 x, 9 x , x, 0, 10 , PlotRange ® 0, 2 2 1.75 1.5 1.25 1 0.75 0.5 0.25 @ H@ D@ @ D L 8 < 8 < D D 2 Plot Sin x * - Sin x 4 6 8 10 ^3, x, - 2 Pi, 2 Pi , PlotRange ® - 2, 2 , PlotStyle ® Hue .6 , PlotLabel -> "GRAFICANDO FUNCIONES" GRAFICANDO 2 FUNCIONES 1.5 1 0.5 -6 -4 -2 2 4 6 -0.5 -1 @@ H@ L D 8 < D D -1.5 -2 Plot Sqrt x x - 2 , x, - 6, 6 , Frame ® True, GridLines ® Automatic, PlotStyle ® Hue .9 7 6 5 4 3 2 1 0 -6 -4 -2 0 2 4 6 Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 25 de 45 @@D8@<D 8 8 D Plot Sqrt x^2 - 9 , x, - 6, 6 , GridLines ® << - 6, - 5, - 4, - 3, 3, 4, 5, 6 , None , PlotStyle ® RGBColor .5, .5, 1 5 4 3 2 1 -6 -4 -2 2 4 6 @8@8D<@D < 88 <8 <<D Plot 3 x^5 - 4 x^ 3 - 9 x, x, - 4, 4 , PlotLabel ® "FUNCION IMPAR", PlotStyle ® Hue .4, 1, .6 , Thickness 0.01 GridLines ® - 1.2, 1.2 , , - 10, 10 FUNCION IMPAR 40 20 -4 -2 2 4 -20 @ 8@ D@ D <8 < 8 < 8@ 8 < D < D -40 Plot Abs x + 3 - Abs x - 3 , x, - 10, 10 , PlotRange ® - 7, 7 , Frame ® True, Axes ® False, PlotStyle ® Dashing 0.04, 0.03 6 4 2 0 -2 -4 -6 -10 -5 0 5 10 @@D8 <@ D D Plot Sqrt 9 - x ^2 , x, - 3, 3 , PlotLabel ® "DIBUJANDO UN SEMICIRCULO", Frame ® True, PlotStyle ® Hue .6 , Axes ® False Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 26 de 45 DIBUJANDO UN SEMICIRCULO 3 2.5 2 1.5 1 0.5 0 -3 -2 -1 0 1 2 3 @ 8 <8 @ 8< D @ D < D Plot 3 x^ 2, x, - 3, 3 , PlotRange ® 0, 10 , GridLines ® Automatic, Axes ® False, PlotStyle ® RGBColor 1, 0, 0 , Thickness 0.02 , PlotLabel ® "UNA FUNCION TENDIENDO HACIA EL INFINITO" UNA FUNCION TENDIENDO HACIA EL INFINITO @ HL HL8 < 8 <D @ D Plot 2x x- 1 , x, 0, 3 , PlotRange ® - 20, 20 , PlotStyle ® Hue .1 , PlotLabel ® "ESTA FUNCION POSEE ASINTOTA EN X= 1" ESTA FUNCION POSEE ASINTOTA EN X = 1 20 15 10 5 0.5 1 1.5 2 2.5 3 -5 -10 -15 @ 8 8H @ D L < 8 < @ D @ D @ D < 88 D <8 << -20 Plot 0.2, - 0.2, x Sin 1 x PlotStyle ® PlotRange ® , x, - Pi 3, Pi 3 , Hue .7 , Hue .7 , Hue .9 - 0.4, 0.4 , - 0.5, 0.5 , , Axes ® False, Frame ® True, GridLines ® Automatic 0.4 0.2 0 -0.2 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4 @ 8 8 H @ D L < 8 < 8 < @ D@ D8@ D @D << D Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 27 de 45 Plot - 1, 1, x PlotStyle ® Sqrt x^ 2 + 1 , x, - 4, 4 , PlotRange ® - 2, 2 , Hue .1 , Hue .1 , Hue .7 , Thickness 0.011 , PlotLabel ® "ESTA FUNCION POSEE ASINTOTAS HORIZONTALES Y= 1, Y=- 1", Frame ® True ESTA 2 FUNCION POSEE ASINTOTAS HORIZONTALES Y = 1, Y = - 1 1.5 1 0.5 0 -0.5 -1 -1.5 @ 8@ D @ D @ D @ D < 8 < 8@ D@ D@ D@ D < D -4 Plot -2 0 2 4 Sin x , - Sin x , Cos x , - Cos x PlotStyle ® , x, - Pi, Pi , Hue .3 , Hue .4 , Hue .6 , Hue .6 1 0.5 -3 -2 -1 1 2 3 -0.5 -1 @ 8 <8 < 8@ D@ D <D Plot - x ^2 + 4 x, x^ 2 , x, 0, 3 , PlotLabel ® "INTERSECCION ENTRE DOS FUNCIONES", Frame ® True, Axes ® False, PlotStyle ® Hue .1 , Hue .3 INTERSECCION ENTRE DOS FUNCIONES 8 6 4 2 0 0 0.5 1 1.5 2 2.5 3 @ 8@ D @ D <8 < 8@ D@ D < D Plot Sin x x, Cos x , x, - Pi, Pi , PlotStyle ® Hue .1 , Hue .9 Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 28 de 45 1 0.5 -3 -2 -1 1 2 3 -0.5 -1 A 9@ D = 8 < 8 8 @ D @ D < 8@ D @D << E Plot Sin x , x - PlotStyle -> x3 6 + x5 120 x7 - 5040 , x, - 6, 6 , Hue .3 , Thickness 0.01 Hue .9 , Thickness 0.01 , , Frame -> True 4 2 0 -2 -4 -6 A 9 Plot -4 -2 0 2 4 6 =8 < 8< E x2, x2 + 4, x2 + 8, x2 + 12, x2 + 16 , x, - 6, 6 , PlotRange ® 0, 30 30 25 20 15 10 5 -6 -2 2 4 6 A 8@ D @ D @ D < 8 < 8 < 89 @ D@D@ D <= E ! - Sqrt x , Sqrt x , Exp x , x, 0, 5 , PlotRange ® - 5, 5 , PlotStyle ® Hue .7 , RGBColor 1, .9, 0 , Hue .1 ƒ , ã X, ƒ , Representando varias graficas , Frame ® True ƒ 4 2 ãX FrameLabel ® - , GridLines ® Automatic, 0 -2 -4 0 1 2 ! 3 - ƒ 4 5 g r a f i c a s R e p r e s e n t a n do v a ri a s Plot -4 Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 29 de 45 Manipulación de graficas con el comando. (Show). Cuando Mathematica realiza un grafico guarda información sobre el pudiendo de esta manera combinar rápidamente diferentes tipos de dibujos. Como ya conocemos la creación y asignación de variables, en el apartado sobre constante, utilizamos esa herramienta para definir nuestras propias funciones y así podremos trabajar con ellas sin la necesidad de decirle al comando Plot, que la vuelva a graficar. Asiendo un breve repaso veremos como se definen variables en Mathematica. Ejemplo: A8 < E variable = Plot x2, x, - 6, 6 La información relativa del grafico variable puede obtenerse mediante la instrucción ImputForm[grafico]. Esta función devuelve los datos con los que Mathematica a dibujado la grafica anterior. De esta forma y gracias a la información anterior, cada vez que se haga referencia al grafico variable, no será necesario evaluar nuevamente la función, lo cual acelera el trabajo. Por ultimo el trabajo que realiza el comando Show es agrupar todas estas variables y dibujarlas tal como se definieron @ @ D 8 < D @ @ D 8 < D @ @ D8 < D @ 8< D Definiendo alguna funciones con sus respectivas variable. a = Plot Sin x + 3, x, - 2 Pi, 2 Pi b = Plot Sin 2 x + 6, x, - 2 Pi, 2 Pi c = Plot Sin 3 x + 9, x, - 2 Pi, 2 Pi Show a, b, c 10 8 6 4 -6 @ 8< D -4 Show -2 2 4 a, b, c , Axes ® False 6 Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 30 de 45 Show @ 8< D a, b, c , Frame ® True, GridLines ® Automatic 10 8 6 4 2 -6 -4 -2 0 2 4 6 Combinado las figuras anteriores en un solo gráfico horizantal, usaremos una opcion del comando Show. Esta opcion que es GraphicsArray, permite colocar los gráficos uno a continuación del otro, como si fuera una fila india. Su sintaxis: Show[GraphicsArray[{funciones}] @ @ 8< D D Ejemplo: Show GraphicsArray a, b, c 4 7 10 3.5 6.5 9.5 3 6 9 2.5 5.5 8.5 -6 -4 -2 2 4 6 -6 -4 -2 2 4 6 -6 -4 -2 2 4 6 Otra forma de colocar los gráficos y esta vez en forma vertical es con el mismo comando que nombre anteriormente, la diferencia se encuentra en la forma de volver a escribir al función. Su sintaxis Show[GraphicsArray[{funcion},{funcion},{funcio}]] @ @ 88<8<8< < D D Show GraphicsArray a , b , c 4 3.5 3 2.5 -6 -4 -2 2 4 6 2 4 6 2 4 6 7 6.5 6 5.5 -6 -4 -2 10 9.5 9 8.5 -6 -4 -2 Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 31 de 45 Teniendo en cuenta lo anterior, veremos como podemos colocar aquellos gráficos en una matriz, si una matriz de gráficos. @ @ 88<8< < D D Su sintaxis: Show[GraphicsArray[{{funcion1, funcion2},{funcion3, funcion4}}]] Show GraphicsArray a, b , c, d 4 7 3.5 6.5 3 6 2.5 5.5 -6 -4 -2 2 4 6 -6 -4 -2 10 13 9.5 12.5 9 12 8.5 11.5 -6 -4 -2 2 4 6 -6 -4 -2 2 4 6 2 4 6 Resumen de parametros del comando Show. Opcion Función Show[GraphicsArray[{Fig1, Fig2, FigN}]] Dibuja una matriz de graficos de lado a lado. Show[GraphicsArray[{Fig1}, {Fig2}]] Dibuja una columna de graficos. Show[GraphicsArray[{fig1, Fig2},{Fig3, Fg4}]] Dibuja una matriz rectangular de graficos. Representando Gráficos Tridimensionales con el comando Plot3D Mathematica utiliza este comando para realizar la gráficos de funciones de dos variables. Su sintaxis: Plot3D[Función, {x, xmin, xmax},{y, ymin, ymax}] @ H L8 <8D< Dibuja la Función de variable x e y, en un intervalo [xmin, xmax] e [ymin, ymax] Ejemplo: Plot3D x x+ y y , x, - 10, 10 , y, - 10, 10 , PlotLabel ® "Paraboloide Eliptico" Paraboloide Eliptico 200 150 10 100 50 0 -10 5 0 -5 -5 0 5 10 -10 @ H L8 <8D < Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 32 de 45 Plot3D x^4 x x+ y y , x, - 10, 10 , y, - 10, 10 , PlotLabel ® "Paraboloide Hiperbolico" Paraboloide Hiperbolico 100 75 10 50 25 0 -10 5 0 -5 -5 0 5 10 -10 @ @ D@ D8 <8 < D Plot3D Sin x + Sin y , x, - Pi, Pi , y, - Pi, Pi 2 1 0 2 -1 -2 0 -2 0 -2 2 @ H LH L8 <8 < D Plot3D x ^2 + y^ 2 E ^ 1 - x^ 2 - y ^ 2 , x, - 2, 2 , y, - 2, 2 1 0.75 2 0.5 1 0.25 0 -2 0 -1 -1 0 1 2 -2 Renderiza un grafico. (Mesh). False Renderiza el dibujo. Mesh True Ejemplo: No renderiza el dibujo @ @ D 8 <8 < D Plot3D Sin x y , x, 0, Pi , y, 0, Pi ; Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 33 de 45 1 0.5 3 0 -0.5 2 -1 0 1 1 @ @ D 8 <8 < D 2 0 3 Plot3D Sin x y , x, 0, 4 , y, 0, 4 , Mesh ® False 1 0.5 4 0 -0.5 3 -1 0 2 1 1 2 @ H LH L8 <8 < 3 4 Plot3D x ^ 2 + y ^ 2 E ^ 1 - x ^ 2 - y ^ 2 , PlotPoints ® 50, Axes ® False 0 x, - 2, 2 , y, - 2, 2 , Mesh ® False, Incorpora una cuadricula al grafico. (FaceGrids). Al igual que GridLines en Plot, FaceGrids agrega unas cuadriculas a la grafica. All: Agrega dicha cuadricula. FaceGrids False: No coloca la cuadricula. @ @ D@ D8 <8 < Ejemplo: Plot3D Cos x + Cos y , D x, - 2 Pi, 2 Pi , y, - 2 Pi, 2 Pi , FaceGrids ® All 2 1 5 0 -1 0 -5 0 -5 5 Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 34 de 45 Dando la sensacion de profundidad.(Shading). Tiene la propiedad de darle al grafico de tres dimensiones la sensación de profuncdad. False No le da profundidad al grafico. True Da la sensacion de profundidad. Shading Ejemplo: @ @ HL D8 <8 < Plot3D Log x^2 + y^ 2 , D x, - 4, 4 , y, - 4, 4 , Shading ® False 3 4 2 1 0 2 -4 0 -2 -2 0 2 4 Etiquetando los ejes.(AxesLabel). -4 AxesLabel->{ejes, ejey, ejez} Ejemplo: @ @ D8 <8 < 8 Plot3D Abs x * y , < D x, - 4, 4 , y, - 4, 4 , AxesLabel ® ejeX, ejeY, ejeZ 15 4 ejeZ 10 5 2 0 -4 0 ejeY -2 -2 0 ejeX 2 4 -4 Modificando el color de nuestros gráficos en el espacio. (ColorFunction). Esta función nos permite colocar la tonalidad de colores que nosotros definimos, según las necesidades que necesitemos Acepta las tonalidades en Hue[] ColorFunction Acepta la tonalidades de grises GrayLevel[] . Ejemplo: @ @ D8 <8 < Plot3D Abs x + y , D x, - 4, 4 , y, - 4, 4 , ColorFunction ® Hue Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 35 de 45 8 6 4 4 2 2 0 -4 0 -2 -2 0 2 4 -4 Restringiendo los valores de la variable z.(PlotRange). Este comando restringue los valores de z en un grafico de tres dimensiones en un valor minimo y en un valor máximo. Este comando funciona tanto en Plot3D como en Plot. @8 <8 < D Ejemplo: Plot3D x * y, x, - Pi, Pi , y, - 2 Pi, 2 Pi 20 10 0 5 -10 -20 0 -2 0 2 -5 @8 <8 < 8 < D Plot3D x * y, x, - Pi, Pi , y, - 2 Pi, 2 Pi , PlotRange ® 10, - 10 10 5 0 5 -5 -10 0 -2 0 2 -5 Definiendo los puntos a graficar. (PlotPoints). Corresponde con el numero mínimo de puntos en cada dirección de los ejes que se considera para evaluar una función, en resumen los puntos con los cuales se graficara la función. PlotPoints->valor numérico. Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 36 de 45 Ejemplo: A 8 <8 < E Plot3D x2 + y2, x, - 5, 5 , y, - 5, 5 , PlotPoints ® 3 40 4 20 2 0 0 -4 -2 -2 0 2 -4 4 A 8 <8 < E Plot3D x2 + y2, x, - 5, 5 , y, - 5, 5 , PlotPoints ® 6 40 4 20 2 0 0 -4 -2 -2 0 2 -4 4 A 8 <8 < E Plot3D x2 + y2, x, - 5, 5 , y, - 5, 5 , PlotPoints ® 15 40 4 20 2 0 0 -4 -2 -2 0 2 -4 4 Manejando el punto de vista de la figura en el espacio. (ViewPoint). Esta función manipula los puntos de vista de nuestras figuras en el espacio, esta función puede recibir las coordenadas que nosotros le indiquemos o bien usar el entorno de ViewPoint Selector que se encuentra en el peldaño Input del Fron-end de Mathematica, luego desplazándonos hacia la aplicación mencionada. Esta aplicación nos muestra un figura en dos tipos de coordenadas, una de ellas seria las coordenadas esféricas y la segunda es la que nos interesa a nosotros que son la coordenados cartesianas, con lo cual podemos visualizar las puntos en valores fácilmente interpretables. Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 37 de 45 Ejemplo: Parámetro ViewPoint Puntos de vistas {1.3, -2.4, 2} Vista por defecto. {0, -2, 0 } Vista de frente. {0, -2, 2} Vista de frente hacia arriba. {0, -2, -2} Vista de frente hacia abajo. {-2, -2, 0} Vista hacia la izquierda al frente. {2, -2, 0} Vista hacia la derecha al frente . AA I M E8 <8 < E Plot3D Exp - x2 + y2 , x, - 2, 2 , y, - 2, 2 1 0.75 0.5 0.25 0 -2 2 1 0 -1 -1 0 @ @ HL D8 <8 < 8 < D 1 2 Plot3D Exp - x ^2 + y^2 1 -2 -2 , x, - 2, 2 , y, - 2, 2 , ViewPoint ® 0, - 2, 0 -1 0.75 0 1 2 0.5 0.25 @ @ HL D8 <8 < 8 < D 0 -2 -1 Plot3D Exp - x ^2 + y^2 2 1 0 , x, - 2, 2 , y, - 2, 2 , ViewPoint ® 0, - 2, 2 2 1 0 -1 -2 1 0.75 -2 -1 0 1 0.5 0.25 0 2 @ @ HL D8 <8 < 8 < D Plot3D Exp - x ^2 + y^2 , x, - 2, 2 , y, - 2, 2 , ViewPoint ® 0, - 2, - 2 Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 38 de 45 -2 -1 0 1 2 1 0.75 0.5 0.25 0 -2 -1 0 1 2 @ @ HL D8 <8 < 8 < D Plot3D Exp - x ^2 + y^2 , x, - 2, 2 , y, - 2, 2 , ViewPoint ® - 2, - 2, 0 1 0.75 0.5 0.25 0 2 1 0 -1 -2 -1 0 1 2 Resumen de parametros del comando Plot3D. En este cuadro se muestran algunos de los parametros del comando Plot3D. Opcion Valor Shading True False All False False AxesLabel {ejex, ejey, ejez} ColorFunction Hue[] GrayLevel[] Mesh FaceGrids PlotRange Función Renderiza una función. Agrega una cuadricula de tres dimensiones. Da la impresión de profundidad. Etiqueta los ejes coordenados. Define el tipo de color a colocar en el grafico. {Rango1, Rango2} Define el rango de dibujo de la variable Z PlotPoint {Valor numerico} Define los puntos que el soft utilizara para realizar el grafico. ViewPoint {Valor1, Valor2, Valor3} Determina la posicion que se ubicara el foco de vista. Gráficos de funciones expresadas en forma Parametricas Esta función es de utilidad para graficar relaciones paramétricas. Este tipo de relaciones se expresan como pares de funciones { F [ t ] , G [ t ] } dependientes de una misma variable "t". El valor de la primera función determina la coordenada de abscisas, mientras que la segunda establece la de ordenadas. Hasta ahora se ha visto como representar curvas en las que las coordenadas y eran función de x , funciones explicitas, y también como dibujar superficies en las que la variable z dependía de dos variables x e y. Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 39 de 45 En esta sección se vera la forma de conseguir graficas en las que la variable x e y dependan a su vez de una tercera variable t. La utilización de curvas y superficies definidas en forma de Parametricas es muy habitual en mathemática. Manejo de funciones parametricas con el comando ParametricPlot. Su sintaxis: ParametricPlot[{función1, función2}, {X, Xmin, Xmax}] Donde función representa la función propiamente dicha expresada en forma parametrica y ademas definimos el rango para dibujar dicha grafica. A tener en cuenta: Como ya estuvimos manejando graficas con Mathematica conocemos el funcionamiento de los distintos parametros que utiliza el soft para graficar las funciones. Estas mismas opciones son validas en la mayoria de los comandos que posee Mathematica, como ser Plot, Plot3D, Show, ParametricPlot, ParametricPlot3D, y un sin numero mas de comandos que posee el entorno de Mathematica. Haciendo esta aclaracion, el resumen de opcion que se realizo para el comando Plot, es tambien valido para el comando ParametricPlot y sucesivas aplicaciones que utiliza Mathematica para representar graficos en dos y tres dimenciones. A 9 =8 < E Ejemplo: ParametricPlot t2 - 2 , t2 + 2 t , t, - 8, 8 40 30 20 10 10 20 30 @ 8@ D@ D <8 < D ParametricPlot Sin t , Sin 2 t , t, 0, 2 Pi 1 0.5 -1 -0.5 0.5 -0.5 -1 1 Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 40 de 45 @ 8@ D@ D <8 < D ParametricPlot Sin t , Cos t , t, 0, 2 Pi 1 0.5 -1 -0.5 0.5 1 -0.5 -1 @ 8@ D @ D < 8 < D ParametricPlot Cos 5 t , Sin 3 t , t, 0, 2 p , AspectRatio ® Automatic ; 1 0.5 -1 -0.5 0.5 1 -0.5 -1 @ 8@ D@ D <8 < D ParametricPlot t Cos t , Sin t , t, 0, 2 Pi 1 0.5 -2 2 4 6 -0.5 A 9H @ D L@ D = 8 < @ D E -1 ParametricPlot 1 x - Sin x 2 , 1 - Cos x , AspectRatio ® Automatic, PlotStyle ® Hue .7 2 1.5 1 0.5 1 2 3 4 5 6 x, 0, 4 Pi , @ 8@ D HL 8@ D H L < 8 < @ DD@D < Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 41 de 45 ParametricPlot Sin x x + 1 + 0.5, Cos x x + 1 + 0.5 , x, 0, 4 Pi , AspectRatio ® Automatic, PlotStyle ® Hue .1 , Thickness 0.02 , Frame ® True, PlotLabel ® "Funcion en Parametricas" Funcion en Parametricas 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.4 0.5 0.6 0.7 0.8 0.9 @ 8@ @ D @ D @ D @ D < 8 < D D @ 8@ @ D @ D @ D @ D < 8 < D D a = ParametricPlot 4 Cos 6 x Cos x , 4 Cos 6 x Sin x , x, 0, 2 Pi , PlotStyle ® RGBColor 1, 0, 0 , AspectRatio ® Automatic b = ParametricPlot 6 Cos 4 x Cos x , 6 Cos 4 x Sin x @ D , x, 0, 2 Pi , PlotStyle ® RGBColor 0, 0, 1 , AspectRatio ® Automatic Show a, b 6 4 2 -6 -4 -2 2 4 -2 -4 @ D -6 Show a, b, Axes ® False 6 @ D Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 42 de 45 Show a, b, Frame ® True, GridLines ® Automatic 6 4 2 0 -2 -4 -6 -6 -4 -2 0 2 4 6 Funciones parametricas en el plano y el espacio Como ya trabajamos con funciones Parametricas en el plano, en esta seccion trabajaremos con funciones parametricas en el espacio, con lo cual podremos representar curvas y superficies perfectamente definidas. Esta funciones pueden llegar a manejar 2 o 3 variables (parametros), con sus respectivos rangos de graficacion. Representado curvas en el espacio tridimensional Su sintaxis: @ 8@ D@ D@ D <8 < D ParametricPlot[{Fx, x}, {X, Xmin, Xmax}] Ejemplo: ParametricPlot3D Cos 5 t , Sin 3 t , Sin t , t, 0, 2 p ; 1 0.5 0 -0.5 -1 1 0.5 0 -0.5 -1 -1 -0.5 @ 8@ D@ D@ D <8 < D 0 0.5 1 ParametricPlot3D 0.2-1 00.1 Cos t , Sin 3 , Sin t , t, 0, 2 p -0.5 0 0.5 1 1 0.5 0 -0.5 -1 ; @ 8@ D@ D@ D <8 < D Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 43 de 45 ParametricPlot3D Cos t , Sin t , Sin t , t, 0, 2 p ; 1 0.5 0 -0.5 -1 1 0.5 0 -0.5 -1 -1 -0.5 @ 8@ D@ D <8 < 0 8< D 0.5 1 ParametricPlot3D Sin t , Cos t , t 3 , t, 0, 15 , ViewVertical ® 1, 0, 0 1 0.5 0 0 -0.5 -1 1 2 0.5 0 4 -0.5 -1 @ 8@ D@ D<8 < ParametricPlot3D 8< D Sin x , Sin x , x , x, - 2 Pi, 2 Pi , ViewVertical ® 2, 0, 0 10.5 0 -0.5 -1 -5 1 0.5 0 -0.5 -1 0 5 Representado superficies en el espacio tridimensional Su sintaxis: ParametricPlot[{Fx, Fy, Fz}, {U, Umin, Umax},{V, Vmin, Vmax}] Ejemplo: @ 8 @ D @ D @ D @ D @ D < 8 < 8 < D ParametricPlot3D Cosh y Cos x , Cosh y Sin x , Sinh y , x, - Pi, Pi , y, - Pi, Pi , Axes ® False, PlotLabel ® "Hiperboloide", PlotPoints ® 40 Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 44 de 45 Hiperboloide @ 8 @ D @ D @ D @ D @ D < 8 < 8 < 8< D ParametricPlot3D Cos y Cos x , Cos y Sin x , 2 Sin y , x, - 2 Pi, 2 Pi , y, - Pi 2, Pi 2 , PlotLabel ® "Esto es un Elipsoide", Axes ® False, Boxed ® False, ViewVertical ® 1, 1, 0 , Shading ® False Esto es un Elipsoide @ 8 @ D @ D < 8 < 8 < 8< D ParametricPlot3D Sin t , Cos t , u , t, 0, 2 Pi , u, 0, 4 , ViewVertical ® 12, 6, 0 , Boxed ® False, Axes ® False, PlotLabel ® "Esto es un Cilindro" Esto es un Cilindro @ 8 @ D @ D < 8 < 8 < 8< D ParametricPlot3D Sin t , Cos t , u , t, 0, 2 Pi , u, 0, 4 , ViewVertical ® 12, 6, 0 , Boxed ® False, Axes ® False, PlotLabel ® "Esto es un Cilindro", Shading ® False Tutorial del Mathematica – Ing. Fernando Sergio Garcia – Ing. Tulio Alberto García Página 45 de 45 Esto es un Cilindro 8@ D H@ D LD @ D H@ D L@ D < 8 <8@ < ParametricPlot3D Cos t 3 + Cos u , Sin t 3 + Cos u , Sin u , t, 0, 2 Pi , u, 0, 2 Pi , Boxed ® False 1 0.5 0 -0.5 -1 -4 4 2 0 -2 -2 0 2 -4 @ 8 @ D @ D @ D @ D @ D < 8 < 8 D < 4 ParametricPlot3D Cos t Cos u , Sin t Cos u , Sin u , t, 0, 2 Pi , u, - Pi 2, Pi 2 , PlotLabel ® "ESFERA", PlotPoints ® 15, Boxed ® False, Axes ® False ESFERA A 9 =8 < 8 < 8 < 8 < E ParametricPlot3D 2 x, y, y 2 4- x 9 , x, - 5, 5 , y, - 2, 2 , AspectRatio ® Automatic, ViewPoint ® 1.5, - 1.2, 1.5 , PlotRange ® - 2, 3 , Axes ® False, Boxed ® False