Story Transcript
Curso Básico de Mathematica
1 Presentación de Mathematica 2 Comandos que sólo requieren el uso del teclado 3 Comandos que requieren el uso de "paletas" 4 Estructura básica 5 Comandos para el cálculo simbólico 6 Gráficas bidimensionales 7 Gráficas de funciones de dos variables 8 Otros tipos de gráficas 9 Animaciones 10 Paquetes incluídos en Mathematica 11 Navegación en el "Help" de Mathematica 12 Introducción a la programación en Mathematica 13 Mathematica trabaja con números complejos
1 Presentación de Mathematica ¿Qué es Mathematica? Mathematica es un paquete computacional de cálculo simbólico. Es soportado por diversos sistemas de hardware: PC's, Macintosh, Sistemas Unix. Su desarrollo parte de los setentas, conocido como SMP y desarrollado por Stephen Wolfram y lanzado comercialmente en 1988 como Mathematica.
Advertencia sobre Mathematica Mathematica es un paquete extraordinariamente poderoso para realizar matemáticas por computadora. Sin embargo al principio su uso puede ser realmente frustrante, ya que si uno escribe Cos(x) en lugar de Cos[x], por ejemplo, Mathematica no realizará los cálculos que deseamos. Además Mathematica trabaja con números imaginarios y
complejos, lo cuál nos da resultados a veces inesperados, como que la raíz cúbica de -8 no es -2 (esto se estudia con más detalle en la sección "Mathematica trabaja con números complejos"). Sin embargo, al ganar experiencia en su uso Mathematica se convierte en una poderosa herramienta para el aprendizaje y aplicación de las matemáticas. El mundo de Mathematica es muy vasto, hay varios libros, revistas internacionales y páginas de internet dedicadas a su uso en Matemáticas, Física, las diferentes ramas de la Ingeniería, Economía y otras ciencias. Muchos de los problemas a los que quieres encontrar solución ya han sido enfrentados por otros usuarios y programadores, así que una importante recomendación cuando estés ante un problema nuevo al que quieras aplicar Mathematica es averiguar si ya existe algún paquete o comando que realice lo que tu necesitas. Muchas veces el paquete o comando ya está instalado en tu propia computadora junto con Mathematica, así que un buen lugar para comenzar es navegando a través de la ayuda del Mathematica, en el menú "Help", en su "Master Index". Por ejemplo, no es necesario usar complicadas fórmulas paramétricas para dibujar un sólido de revolución, ya que Mathematica ya cuenta con un sencillo paquete que te permite dibujar ese tipo de sólidos (a menos, por supuesto, que tu objetivo sea estudiar esas complicadas fórmulas paramétricas).
El Front-End y el Kernel Mathematica consta de dos partes, el Front-End y el Kernel. El Front-End es el editor en donde uno escribe los comandos y también se ven los resultados, mientras que el Kernel es el cerebro matemático. Cuando uno comienza una sesión con Mathematica, únicamente el Front-End es cargado en la memoría de la computadora. El Front-End despliega las pantallas del menú, el notebook (el área donde escribimos los comandos) y las paletas (barras de herramientas). Hasta que el usuario solicite el primer cálculo es cuando el Kernel se carga en memoria, por eso el primer cálculo suele ser tardado, aún cuando sólo sea 2+2. Los demás cálculos son rápidos, porque el Kernel ya se encuentra en memoria, listo para ejecutar los cálculos que le sean solicitados a través del FrontEnd.
Las celdas El FRONT-END tiene una característica importante a su derecha: las barras limitadoras de celda. Estas barras limitan las acciones al interactuar con el KERNEL. La única forma en que el FRONT-END interactúa con el KERNEL, es mediante las teclas. En Mathematicase tienen las siguientes convenciones con respecto a los comandos que el usuario escribe: 1) Se distingue entre minúsculas y mayúsculas.Toda función predefinida inicia con mayúsculas. 2) Mathematica considera los espacios. Un espacio entre variables algebráicas representa un signo de multiplicación. 3) Los corchetes[ ] se reservan para limitar el argumento de funciones. Las llaves {} para limitar listas y los paréntesis ( ), para indicar prioridad en las operaciones.Todo aquello limitado por (* y *), será omitido por el KERNEL. Una corrida típica de Mathematica se ve así:
La barra limitadora del ejemplo de arriba se divide en tres partes: La primera indica la entrada (etiquetada por un número). La parte central puede ser una lista de errores o notas, y/o una salida (en realidad pueden ser varias partes). La parte final aparecerá sólo como una confirmación de salida. Éstas dos ultimas no son editables. Uno puede recurrir a una solución anterior refiriéndose a ella por su número como: % para la salida 1, %% para la dos, etc. O bien:%n para la salida n. Una barra limitadora doble indica que Mathematica está realizando un proceso.
Los Notebooks El Notebook es el conjunto de todas las celdas que tienen los cálculos de una sesión. Los Notebooks pueden ser salvados como archivos con extensión "nb". Pueden tenerse abiertos al mismo tiempo varios Notebooks, y se les puede cambiar el tipo de letra, asi como copiar y pegar con otros programas como Word. Si se copia un comando o gráfica de Mathematica a un documento de Word, es recomendable hacer un "pegado especial" como "imagen de mapa de bits", de lo contrario es posible que el comando no pueda verse bien en otra computadora.
Menú y Paletas Cuando comenzamos una sesión con Mathematica, el Front-End nos muestra tres ventanas. Una de ellas es el Notebook, las otras dos corresponden al menú principal (en la parte superior) y una paleta de herramientas (a la derecha). El menú principal funciona en forma muy similar al menú de otros programas, como Word, con opciones para salvar y cargas Notebooks, copiar y pegar, cambiar el tipo de letra, etc. La paleta es el equivalente a una barra de herramientas, y su principal uso es el de escribir comandos usando una notación bidimensional muy parecida a la notación matemática tradicional, como por ejemplo al escribir una integral:
2 Comandos que sólo requieren el uso del teclado Cálculo numérico usando sólo el teclado Mathematica es muy sensible al uso de mayúsculas, espacios, etcétera. Debes copiar los ejemplos exactamente, o Mathematica quizás no entienda lo que quieres calcular. Mathematica puede utilizarse como una calculadora numérica muy poderosa.Por ejemplo,para obtener el valor de Pi con 50 decimales escribe en Mathematica el siguiente comando (exactamente,con todo y mayúsculas y minúsculas) y después oprime al mismo tiempo las teclas Shift y Enter:
Mathematica manipula algunas expresiones sin volverlas numéricas para evitar la pérdida de información. Por ello hay que indicarle a Mathematica cuando deseamos un resultado numérico.Por ejemplo introduce:
Si deseamos el resultado numérico podemos utilizar el comando N[ ] de la siguiente manera:
Otra forma de obtener resultados numéricos es manejar los números con punto decimal. Así podemos introducir:
Constantes matemáticas desde el teclado
Mathematica conoce el valor de varias constantes importantes en matemáticas, por ejemplo los valore de π, e, y el número imaginario i. Escribe el siguiente comando para obtener el valor numérico de π. La "P" debe ser mayúscula y la "i" debe ser minúscula
Mathematica trabaja en radianes. El siguiente comando calcula el seno de π/4 radianes:
Se pueden especificar los ángulos en grados utilizando "Degree". El siguiente comando calcula el seno de 45 grados:
Aquí tenemos el valor de la constante "ⅇ", la cual es la base del logaritmo natural y de la importante función exponencial. La "E" debe ser mayúscula:
Aquí tenemos el valor de la constante "ⅈ", la cual es la raiz cuadrada de menos uno. La "i" que tu escribes debe ser mayúscula:
Esta es la raíz cuadrada de un número negativo, que da como resultado un número imaginario:
3 Comandos que requieren el uso de "paletas" Cálculo numérico usando la paleta basicinput Nota que además de la pantalla blanca donde introduces los comandos, hay otra ventana rectangular con diversos símbolos matemáticos (si no tienes esa ventana, puedes abrirla seleccionando en Mathematica el menú File, luego Palettes y por último BASICINPUT). Esta ventana es la paleta de entradas básicas. Vamos a utilizarla para crear comandos que usen símbolos que no están en el teclado. Vamos a calcular 2 elevado a la 100. Primero con el ratón presiona en la paleta el símbolo:
Lo que escribas aparecerá en el cuadro que esté obscuro (seleccionado). Escribe un dos:
Ahora con el ratón selecciona el cuadrado pequeño para que se vuelva obscuro:
Escribe el número 100:
ahora oprime shift-enter, mathematica debe producir el resultado de multiplicar 2 por si mismo cien veces:
Ahora utiliza la paleta para calcular la raíz décima de 1024 (es decir, averiguar que número multiplicado por si mismo diez veces da 1024)
Constantes matemáticas desde la paleta "Basic Input" Ahora vamos a introducir las constantes usando la paleta: Usa la paleta para obtener el valor numérico de π.
Usa la paleta para obtener el seno de π/4 radianes:
Usa la paleta para escribir el cerito de grados ° y calcular el seno de 45 grados:
Usa la paleta para obtener el valor de la constante "ⅇ", No es la "e" del teclado, es la "ⅇ" de la paleta:
Usa la paleta para obtener el valor de la constante "ⅈ", No es la "i" del teclado, es la "ⅈ" de la paleta:
Usa la paleta para obtener el valor de la raíz cuadrada de un número negativo, que da como resultado un número imaginario:
Practicando con la paleta "Basic Input" Primero nos aseguramos que no haya información previa ni valor alguno metido en los nombres "x" y "m" que utilizaremos a continuación.
Usando la misma paleta del inciso anterior, introduce la siguiente integral indefinida:
Ahora prueba introduciendo la siguiente integral:
Ahora prueba introduciendo la siguiente sumatoria:
4 Estructura básica Asignando valores que no se actualizan y valores que sí se actualizan. Cuando hacemos matemáticas con lápiz y pápel, el signo de igual "=" es utilizado indistintamente para asignar valores a constantes (g=9.8 m/ ), para asignar valores a variables cuyo valor puede cambiar después (x=3.4), para definir funciones (f(x)=x+6) y para preguntar para que valores se cumple una ecuación ( +x-12=0). Sin embargo, en Mathematica cada uno de estos casos es manejado con una notación distinta. En esta práctica revisaremos brevemente esas diferencias en notación. Primero nos aseguramos que no haya información previa ni valor alguno metido en los nombres "n", "p", "s", "z", "g","u","a", "b" y "c" que utilizaremos en esta práctica.
Si en Mathematica utilizamos un signo de igual "=", estamos asignando un valor fijo, es decir, que no va a cambiar. En cambio, si utilizamos dos puntos y un igual ":=", estamos asignando un valor que se va a estar actualizando cada vez que cambien las variables de las cuales depende. Por ejemplo, escribe los siguiente comandos, nota que para "b" estamos utilizando sólo un igual "=" mientras que para "c" estamos utilizando dos puntos ":=". Escribe:
Mathematica produce el reultado que corresponde al último renglón del comando. En memoria quedaron guardados los valores de "a" , de "b" y de "c". Podemos pedirle a Mathematica que muestre una lista cuyos elementos sean "a" ,"b" y "c".
El 3 corresponde al valor de "a", el primer 8 corresponde al valor de "b" y el segundo 8 corresponde al valor de "c". Hasta este momento, la asignación con "=" y la asignación con ":=" se comportan igual. La diferencia surge cuando cambiamos el valor de "a". Escribe el siguiente comando:
Se ha cambiado el valor de "a", ¿Cómo afecta eso a los valores de "b" y de "c"? Para averiguarlo escribe el siguiente comando:
El 10 corresponde al valor de "a", el 8 al valor de "b" y el 15 al valor de "c". Como puedes notar, cuando asignamos un valor con "=" este valor no se actualiza, por ello "b" sigue valiendo 8, mientras que al asignar un valor con ":=" este valor cambia cuando cambian las variables de las cuales depende. Así, como "c:=a+5", cuando "a" valía 3 entonces "c" valía 8 y cuando "a" cambió a "10" entonces "c" cambió automáticamente a 15.
Comparando si dos expresiones son iguales. Para comparar dos expresiones se utilizan dos signos de igual juntos "==". Por ejemplo, preguntémosle a Mathematica si dos cuartos es igual a un medio. Escribe:
Mathematica respondió "True", es decir, "Verdadero". Probemos ahora con una comparación que no sea verdadera. Por ejemplo, escribe:
Mathematica respondió "False", es decir, "Falso".
Declarando Funciones Como vimos en el primer inciso, si utilizo ":=" entonces tengo un valor que se va a estar actualizando. Por ejemplo, si "c:=a+5", entonces cada vez que Mathematica necesite el valor de "c" lo va a recalcular con el valor que tenga "a" en ese momento. Podríamos cometer el error de utilizar la variable "a" para otros cálculos y afectar el valor de "c" en una parte del cálculo donde no debió ser afectada. ¿Cómo tener al mismo tiempo una cantidad que se recalcule cada vez que la utilice y que además no dependa arriesgadamente de otras variables externas? La respuesta es una función. Al declarar una función en Mathematica, además del ":=" tenemos que utilizar un guión "_" junto al nombre de la variable de la cual depende la función. Esto le indica a Mathematica que ese nombre no representa una variable externa, por el contrario, es una variable interna de la función. Esto es mucho más claro en un ejemplo. Construyamos una sencilla función. Escribe el siguiente comando. ES MUY IMPORTANTE QUE COPIES EXACTAMENTE, INCLUYENDO LOS GUIONES LARGOS _ SOLO EN EL LADO IZQUIERDO DEL IGUAL, ASI COMO LOS DOS PUNTOS:
Ahora podemos hacer cálculos usando la función g[ ]. Por ejemplo, vamos a pedirle a Mathematica que escriba una lista con varios elementos que dependen de g[ ]. Escribe:
como se puede ver en el ejemplo anterior podemos evaluar g[ ] para diferente valores o incluso expresiones algebráicas. Observa que al crear la función "g[ ]" utilizamos la letra "u" para representar el argumento. Al escribir "u_" con guión del lado izquierdo del ":=", le indicamos a Mathematica que "u" es solamente un nombre interno de la función. De esa manera, si existe una variable externa llamada "u", el valor de esta "u" externa no afecta a la función. Por ejemplo, escribe:
Ahora hay una variable "u" que vale 13, sin embargo esta "u" no afecta al funcionamiento de la función g[x]. Si vuelves a escribir: {g[2], g[1/3], g[mivar], g[2+mivar]} y oprimes shitf-enter, vuelves a obtener el mismo resultado que antes:
Resolviendo ecuaciones. Cuando resolvemos una ecuación, como -x-6=0, estamos preguntando para que valores de "x" es cierta la igualdad. Por eso las ecuaciones en Mathematica se representan con el doble signo igual "==" que vimos en el segundo inciso. Por ejemplo escribe: Solve[ ]. Esta instrucción significa para Mathematica "obtén que valores de z hacen verdadero que -z-6 sea igual a cero".
Mathematica también puede resolver sistemas de ecuaciones. Por ejemplo escribe:
La instrucción anterior significa para Mathematica "obtén que valores de n y de p hacen veradero que n sea igual a 1+2*s*p y también que p sea igual a 9+2*n". Como ves, "s" fue tratada como constante, así que se hizo la solución simbólica de un sistema de dos ecuaciones con dos incógnitas, "n" y "p".
Ejercicio
5 Comandos para el cálculo simbólico Derivando e integrando en Mathematica En esta sección se muestran brevemente los comandos para derivar e integrar en Mathematica. Estos comandos también serán usados en las siguiente secciones. Primero nos aseguramos que los nombres "x" y "u" no contiene ningún valor
Para derivar una función se utiliza el comando D[ ]:
A continuación se deriva usando el símbolo de derivada de la paleta
El comando D[ ] asume que todas las letras que no correspondan a la variable de derivación representan constantes, como en una derivada parcial
En cambio, el comando Dt asume que todas las letras son funciones de la variable de derivación, como en una derivada total
Usando la paleta podemos calcular integrales indefinidas (antiderivadas)
También se pueden calcular integrales definidas (áreas bajo curvas)
El número resultado del cálculo anterior es el área bajo la curva desde 1.5 hasta 3.5
Resolviendo Ecuaciones Diferenciales En esta sección se muestra el uso básico de los comandos para resolver ecuaciones diferenciales Primero nos aseguramos que los nombres de variables que vamos a usar en esta práctica estén limpios:
Soluciones generales
Aquí se resuelve la ecuación diferencial especificando que la constantes de integración deben ser "K" en lugar de "C"
Aquí se resuelve una ecuación diferencial de segundo orden usando C[1] y C[2] como las constantes de integración:
Ejercicio
Obtén la solución general de la ecuación diferencial:
Problemas de valor inicial
Para resolver la ecuación diferencial escribe el siguiente comando:
Podemos dibujar la solución:
Podemos estudiar el comportamiento a largo plazo de la solución:
La función se aproxima a 108.889 para valores grandes del tiempo "t"
Soluciones numéricas de problemas de valor inicial Algunas ecuaciones diferenciales no pueden ser resueltas en forma exacta. Se recurre entonces a soluciones numéricas, las cuales no dan una fórmula pero si pueden dar gráficas y valores numéricos aproximados. El comando para la solución numérica de ecuaciones diferenciales en Mathematica es NDSolve[ ]
La solución numérica es un tipo de objeto de Mathematica llamado InterpolatingFunction. Para poder graficar la solución, la ponemos dentro del nombre funcion[ ]:
Ahora ya podemos evaluar y graficar la solución numérica:
Las soluciones numéricas dependen de muchos parámetros, y pueden ser muy inexactas si estos parámetros no son los asecuados. Por ello es recomendable estudiar el comando NDSolve en la ayuda de Mathematica y también estudiar libros de métodos numéricos para estar seguro de que la solución numérica nos está dando información realmente útil.
6 Gráficas bidimensionales Funciones explícitas La fórmula explícita de una función permite calcular la variable dependiente (usualmente "y") cuando se conoce el valor de la variable independiente (usualmente x). Por ejemplo la fórmula y= . Primero nos aseguramos que no haya información previa ni valor alguno metido en los nombres "x" y "y" que utilizaremos en esta práctica.
Dibujando ambas funciones con distintos estilos podemos distinguirlas
También podemos dibujarlas con distintos grosores
También podemos dibujarlas con distintos colores
Ecuaciones En las funciones explícitas, la variable dependiente "y" está despejada, de tal manera sólo se obtiene un valor de la variable dependiente "y" para cada valor de la independiente "x". En cambio las ecuaciones son relaciones entre las dos variables en las cuales para cada valor de "x" puede haber muchos valores de "y". Es necesario ejecutar el siguiente comando para cargar en la memoria de la computadora los comandos para graficar ecuaciones. Ten cuidado de usar las comillas correctas
Exponenciales Problema: Una población de bacterias se tripica cada 4 horas. Si se comenzón con 100 bacterias, grafique la población como función del tiempo y aveigüe cuanto hay que esperar para tener 5000 bacterias. Solución: La fórmula que obedece las condiciones del enunciado es: p=(100)( ) A continuación se grafica la población como función del tiempo para las primeras ocho horas:
A continuación averiguamos cuando habrá 5000 bacterias (recuerda que debes usar dos signos igual):
Recuerda que en Mathematica "Log" significa logaritmo natural. El valor numérico es:
Es decir, hay que esperar 14.2435 horas para tener 5000 bacterias
La Exponencial base ⅇ Aquí está la gráfica de la función exponencial base ⅇ. Recuerda que debes utilizar la "ⅇ" de la paleta, no la "e" del teclado.
En lugar de la ⅇ de la paleta puede usarse la "E" MAYÚSCULA del teclado:
También puede usarse la notación "Exp[x]"
Funciones logarítmicas En Mathematica, Log[ ] representa el logaritmo natural, es decir, la función inversa del exponencial base ⅇ
Para especificar un logaritmo con otra base, se escribe Log[base,numero] Por ejemplo, para averiguar a que número se tiene que elevar 3 para obtener 81 escribe
Es decir, para obtener 81 es necesario multiplicar 3 por si mismo cuatro veces: 3*3*3*3=81 Aquí se grafica el logaritmo base 10 de "x"
Funciones trigonométricas Aquí se grafica la función seno:
Podemos hacer que Mathematica marque las divisiones en el eje "x" como múltiplos de π/2 y en el eje "y" sólo en -1 y en 1
A continuación están las otras funciones trigonométricas básicas: La función coseno
La función tangente
Usando los puntos críticos de una función para graficarla En el siguiente ejemplo aprenderás algunos comandos relacionados con la definición, graficación y derivación de funciones, así como la solución de ecuaciones, y el uso de toda esta información para encontrar los rangos de valores en los ejes coordenados que permiten realizar la mejor gráfica de una función.
Definiendo y graficando una función. Primero nos aseguramos que no haya información previa ni valor alguno metido en el nombre "f", que es el que vamos a utilizar para nuestra función. También vamos a limpiar los nombres "x", "dibujo1", "dibujo2" y "derivada" que utilizaremos en esta práctica.
ES MUY IMPORTANTE QUE COPIES EXACTAMENTE, INCLUYENDO EL GUION LARGO _ SOLO EN EL LADO IZQUIERDO DEL PRIMER COMANDO ASI COMO LOS DOS PUNTOS Y EL PUNTO Y COMA EN SU LUGAR:
lo que hicimos en el primer renglón fue definir la función "f", mientras que en el segundo renglón el comando plot sirve para graficarla. Nota que se especificó que se graficara en el dominio de 0 a 10 dentro del comando plot.
Averiguando si hay un mejor dominio para graficar la función En la gráfica que se obtuvo, la función parece continuar creciendo y creciendo conforme los valores de "x" aumentan. ¿Será esta una descripción adecuada de esta función?. Para averiguarlo, podemos calcular los valores críticos de la función, que son los valores de "x" en los cuales la derivada de la función vale cero. Los valores críticos son máximos, mínimos o puntos de inflexión de la función. Primero obtenemos la derivada de la función mediante el comando D[ ], escribe:
este resultado a quedado guardado en la memoria de la computadora bajo el nombre "derivada". Nota que la definición de la función está en memoria bajo el nombre "f" y por eso pudimos utilizarla en el comando D[ ]. Ahora vamos a averiguar los valores de "x" para los cuales la derivada es cero mediante el comando Solve[ ]. ES IMPORTANTE USAR EN ESTE COMANDO DOS SIGNOS DE IGUAL "==".
Para graficar de -1 a 61 escribe:
Podemos notar que la función tiene más estructura de la que se veia en el inciso anterior. Sin embargo, esta gráfica aún se puede mejorar, como se muestra en el siguiente inciso.
Mejorando visualmente el dominio y el rango de la función. La gráfica del inciso anterior ya incluye los valores críticos en los cuales la derivada es cero. Pero también es necesario saber como se comporta la gráfica antes y después de esos valores, así que grafiquemos desde un número anterior al -1 hasta otro posterior al 61. Si escogemos graficar del -2 al 62 es poco probable que obtengamos más información, así que grafiquemos desde el -51 (restándole 50 al primer valor crítico) hasta el 111 (sumándole 50 al segundo valor crítico):
En esta gráfica ya se alcanza a observar que el valor crítico -1 corresponde a un mínimo local de la función, mientras que el valor crítico 61 corresponde a un máximo local.
También observa que Mathematica graficó una línea casi vertical en x=30. Esta línea es incorrecta, ya que no forma parte de la función, porque la función tiene una asíntota vertical en x=30 (revisa la definición de la función en el primer inciso). Observa que Mathematica decidió que el eje "Y" debe ir de -400 a 400. Quizás se obtenga una gráfica que resalte más la forma de la función si graficamos en un rango más pequeño, por ejemplo, le podemos indicar a Mathematica que grafique con un rango en "Y" desde -250 a 100 mediante la opción PlotRange adentro del comando Plot:
Eliminando la línea casi vertical de la gráfica Al dibujar una gráfica, Mathematica va uniendo con líneas a los puntos (x,f[x]). Por ello, al unir un punto a la izquierda del x=30 con otro punto a la derecha del x=30, Mathematica produce la línea casi vertical que cruza en x=30. De hecho, la función tiene una asíntota en x=30 (ve la definición de la función en el primer inciso). Podríamos quedarnos con la gráfica del inciso anterior, recordando que la línea casi vertical no es parte de la función, más bien es aproximadamente la asíntota. Por otro lado, si deseamos eliminar esta línea del dibujo para quedarnos unicamente con el dibujo correcto de la función, podemos realizar dos dibujos, uno de -51 hasta 30, al cual llamaremos dibujo1, y otro de 30 hasta 111, al cual llamaremos dibujo2, y luego le indicamos a Mathematica que los muestre juntos:
Como observaste obtuvimos tres gráficas, las cuales son dibujo1, dibujo2 y por último las dos juntas.
Ejercicio
¿Para que valores de x tiene asíntotas verticales la función? (Es decir, para que valores de x se vuelve cero el denominador de la fracción) Encuentra la derivada de la función con respecto a x. ¿Para qué valores de x se vuelve cero la derivada? Realiza una gráfica de la función. Escoge el dominio (valores en x) y el rango (valores en y) para que la gráfica muestre claramente todas las características de la función (asíntotas, máximos, mínimos, curvatura, etc.) Realiza una gráfica como la anterior pero que las asíntotas no sean dibujadas.
7 Gráficas de funciones de dos variables Graficando funciones que dependen de dos variables Una función "z" que depende de dos variables "x","y", es una fórmula que permite calcular "z" si se conocen "x" y "y". Es decir, "z" está despejada. Primero nos aseguramos que los nombres "x", "y", "z" no tengan nada
Otra forma de visualizar la función es obtener el diagrama de contorno, que es como un mapa topográfico, lo más obscuro está más abajo:
8 Otros tipos de gráficas Graficando ecuaciones de tres variables Una ecuación de tres variables, "x", "y", "z", es una relación en la cual la variable "z" no está necesariamente despejada,y a diferencia de la función, pueden haber diferentes valores de "z" para el mismo (x,y) Es necesario ejecutar el siguiente comando para cargar en la memoria de la computadora los comandos para graficar ecuaciones con tres variables. Ten cuidado de usar las comillas correctas
Hay varias opciones que permiten cambiar el aspecto del dibujo:
Aquí está el dibujo de otra cuádrica:
Sólidos de revolución Primero nos aseguramos que los nombres "x" y "u" no contiene ningún valor
Esta es una función que usaremos como ejemplo:
Primero cargamos la librería de Mathematica con los comandos para dibujar superficies de revolución:
Esta es la superficie generada cuando hacemos girar la función alrededor del eje y:
Esta es la superficie generada cuando hacemos girar la función alrededor del eje x:
Ejemplo de un sólido de revolución: Fabricando una pieza de ajedrez Supón que estamos fabricando una pieza de ajedrez. Una de las piezas se puede generar al hacer girar la siguiente función alrededor del eje x:
Primero define la función seccionada usando el comando "which"
Aquí puedes ver el dibujo de la función seccionada que creamos
Esta es la pieza de ajedrez generada cuando la función gira alrededor del eje "x":
Supón que necesitamos conocer la cantidad de material necesaria para construir la pieza de ajedrez. Esa cantidad de material es el volumen, que se puede calcular con las siguientes integrales (revisa "sólidos de revolución" en tu libro de cálculo):
Si todas las unidades de la pieza de ajedrez están en centímetros, entonces el volumen calculado está en centímetros cúbicos.
Ejercicio: La botella de refresco Ejercicio: a) Crea la fórmula de una función seccionada tal que cuando sea girada alrededor del eje x se genere la figura de una botella de refresco, como se muestra la figura más abajo. Tu botella de refresco debe ser de 24 centímetros de largo b) Dibuja la botella usando el comando SurfaceOfRevolution c) Calcula el volumen de la botella en centímetros cúbicos d) Convierte el volumen de la botella a litros
9 Animaciones En esta práctica se muestra el ejemplo de una animación de un objeto tridimensional (un elipsoide) que después es exportada a un archivo GIF animado, el cual a su vez puede utilizarse en páginas de internet Los siguientes comandos dibujan un elipsoide y lo guardan con el nombre "figura"
Los siguientes comandos crean una lista de imágenes rotadas. La lista se guarda con el nombre "listarotacion"
Una vez que Mathematica haya terminado de dibujar todos los cuadros, oprime dos veces con el ratón sobre uno de los cuadros. Mathematica mostrará la película. Si la película es demasiado rápida, observa que abajo a la izquierda en la ventana de Mathematica aparecen unos botones con los cuales puedes disminuir o aumentar la velocidad.
10 Paquetes incluídos en Mathematica Graficando un potencial eléctrico debido a dos líneas de carga Utilizaremos el potencial eléctrico provocado por dos líneas de carga de distinto signo en un espacio bidimensional para mostrar diferentes formas de graficar una función f(x,y) que depende de dos variables.
Definiendo un potencial eléctrico que depende de dos variables producido por una línea de carga En un espacio limitado a dos dimensiones, el potencial eléctrico que cumple la ley de Gauss, que es medido en un punto (xa,ya) y que es provocado por una línea de carga situada en (xc,yc) tiene la siguiente fórmula: p=-ln[ ] (en unidades arbitrarias). A continuación se ve un esquema de la situación, (x,y) representan la posición desde donde se observa el campo debdio a la línea de carga.
Para definir enMathematicauna nueva función que calcule el potencial,que en esta ocasión llamaremos pot2d,escribe el siguiente comando (ES MUY IMPORTANTE QUE COPIES EXACTAMENTE, INCLUYENDO GUIONES, MINUSCULAS Y MAYUSCULAS):
Mathematica no produce ningún resultado, pero ya tiene en su memoria la definición de la función pot2d. Así, para obtener la expresión del potencial en el punto (x,y) debido a una carga situada en el punto (3,5) escribe el siguiente comando:
Este resultado es el potencial producido por una línea de carga que cruza el plano en el punto (3,5).
Definiendo un potencial producido por dos líneas de carga Vamos a definir otra función que calcule el potencial que se "siente" en un punto (xb,yb) de un plano debido a dos líneas de carga DE SIGNO DISTINTO, una situada en el punto (-1,0) y otra situada en el punto (1,0), como se ve en la figura:
Para construir el potencial utilizamos la función pot2d que definimos en el inciso anterior. Escribe el siguiente comando:
Mathematica no produce ningún resultado, pero ya tiene en su memoria la definición de la función pot2cargas2d.
Este es el potencial producido por las cargas puntuales DE SIGNO DISTINTO localizadas en (-1,0) y (1,0).
Graficando el potencial producido por dos líneas de carga Nuestra función "pot2cargas2d" depende de dos variables, (x,y), las cuales dan la posición en la cuál se está "midiendo" o "sintiendo" el potencial. Una gráfica de esta función nos puede indicar en que puntos el potencial produce una fuerza eléctrica mayor (que es en donde el potencial cambia bruscamente) y donde una fuerza menor (que es en donde el potencial cambia muy poco). Mathematica ofrece varias opciones para graficar. Exploremos primero la "gráfica de densidad". Escribe:
En la gráfica de densidad, los cuadros más claros tienen valores mayores de potencial y los cuadros más obscuros tienen valores menores. Este tipo de gráfica suele ser util para hacer comparaciones con imágenes producidas por equipo de laboratorio (un ejemplo que no es de potencial eléctrico, es el de las imágenes de los bebés antes de nacer producidas por los equipos de ultrasonido).
Otro tipo de gráfica es la gráfica de contornos. Escribe:
En electricidad, a las líneas de contorno de un potencial se les llama "equipotenciales", ya que a lo largo de toda una línea el potencial es constante. La fuerza eléctrica que sentiria una tercera carga debido a las dos cargas iniciales sería perpendicular a las lineas equipotenciales. Si en lugar de un potencial fuera un mapa topográfico, las líneas de contorno serían las lineas de igual altura. Un tercer tipo de gráfica es la gráfica de tres dimensiones. Escribe:
En este dibujo, la altura de la superficie corresponde al valor del potencial en ese punto. La altura o la profundidad deberían ser infinitas exactamente en los puntos en donde están situadas las cargas que producen el potencial. En lugar de eso, el muestreo que Mathematica hizo para producir la gráfica produce una pequeña montaña y un pequeño valle en donde están localizadas las cargas.
Graficando el gradiente de una función El gradiente de una función "f " que depende de dos variables esta dado por el vector: ∇f= Este vector apunta en la dirección que "f " cambia más rapidamente. Para un potencial, esta es también la dirección en que apunta la fuerza producida por el potencial. Así, una gráfica del gradiente del potencial eléctrico es de hecho una gráfica del campo de fuerza eléctrico correspondiente a ese potencial. Primero cargamos los comandos necesarios para graficar el gradiente
A continuación se dibuja el gradiente. Los parámetros ScaleFactor y MaxArrowLength sirven para evitar que algunas flechas sean demasiado grandes o demasiado pequeñas.
Ejercicio Define la función pot3 la cual de el potencial debido a tres líneas de carga, una positiva en el punto (-1,0), otra negativa en (0,1) y otra positiva en (2,2). Haz los dibujos de densidad, de contorno y de tres dimensiones del potencial pot3 que acabas de definir Haz el dibujo del campo de fuerza de éste potencial. Ajusta los parámetros ScaleFactor y MaxArrowLength tal manera que las flechas se vean mejor.
Graficando un potencial eléctrico debido a dos cargas puntuales Utilizaremos el potencial eléctrico provocado por dos cargas de distinto signo para mostrar como se puede graficar un campo de fuerza presente en un espacio de tres dimensiones. Usaremos también animación para visualizar mejor la forma del campo.
Definiendo un potencial producido por una carga
En el espacio tridimensional, el potencial eléctrico que cumple la ley de Gauss, que es medido en un punto (xa,ya,za) y que es provocado por una carga puntual situada en (xc,yc,zc) tiene la siguiente fórmula: p=
(en unidades arbitrarias).
Para definir en Mathematica una nueva función, a la cual llamaremos pot3d, que calcule este potencial, escribe en Mathematica el siguiente comando (ES MUY IMPORTANTE QUE COPIES EXACTAMENTE, INCLUYENDO GUIONES, MINUSCULAS Y MAYUSCULAS):
Mathematica no produce ningún resultado, pero ya tiene en su memoria la definición de la función pot3d. Así, para obtener la expresión del potencial en el punto (x,y,z) debido a una carga situada en el punto (3,5,1) escribe el siguiente comando:
el cual es el potencial producido por una carga puntual localizada en (3,5,1).
Definiendo un potencial producido por dos cargas puntuales Vamos a definir otra función que calcule el potencial que se "siente" en un punto (xb,yb,zb) debido a dos cargas DE SIGNO DISTINTO, una situada en el punto (-1,0,0) y otra situada en el punto (1,0,0). Para ello utilizamos la función pot3d que definimos en el inciso anterior.
Escribe el siguiente comando:
Mathematica no produce ningún resultado, pero ya tiene en su memoria la definición de la función pot2cargas3d. Así, para obtener la expresión del potencial en el punto (x,y,z) debido a las dos cargas, escribe el siguiente comando:
el cual es el potencial producido por las cargas puntuales DE SIGNO DISTINTO localizadas en (-1,0,0) y (1,0,0).
Graficando el gradiente de una función de tres variables
Para cargar en la memoria de la computadora el paquete que permite graficar un gradiente en tres, escribe el siguiente comando:
Mathematica no produce ningún resultado, pero ya tiene en memoria los comandos que necesitamos. Escribe ahora:
Con el comando ContourPlot3D podemos graficar las superficies equipotenciales (superficies de nivel) del potencial:
Aquí se han modificado algunas opciones para resaltar las superficies:
11 Navegación en el "Help" de Mathematica Utiliza la ayuda para averiguar como se calcula la Transformada de Laplace en Mathematica. Calcula la transformada de Laplace de f(t)=t+t^2+Cos[t] Utiliza la ayuda para averiguar como se calcula la Transformada de Fourier en Mathematica. Averigua (en la ayuda) y comenta sobre las diferencias que hay entre las diferentes convenciones para la definición de la Transformada de Fourier usadas en Matemáticas Puras, Física Clásica, Física Moderna, Procesamiento de señales e ingeniería de sistemas. Averigua cual de todas esas convenciones es la que usa Mathematica. Calcula la transformada de Fourier de f(t)=Cos[t]+Sin[6t]
12 Introducción a la programación en Mathematica Enseñando nuevos comandos a Mathematica Es posible enseñarle a Mathematica nuevas funciones. En esta práctica supondremos que Mathematica no sabe integrar, entonces crearemos una nueva función, "integral", a la cuál le daremos poco a poco las propiedades de la integración
La nueva función "integral" Mathematica puede hacer integrales mediante su poderoso comando "Integrate". Sin embargo, supongamos que Mathematica no supiera integrar, y que se lo vamos a enseñar creando una nueva función a la cual llamaremos "integral". Nota que el nombre de esta nueva función comienza con minúscula. Es una buena idea que las nuevas funciones y variables que creamos en Mathematica comiencen con minúsculas, para distinguirlas facilmente de las funciones y variables originales de Mathematica, las cuales comienzan con mayúscula. Primero nos aseguramos que no haya información previa ni valor alguno metido en el nombre "integral", que es el que vamos a utilizar para nuestra función. También vamos a limpiar los nombres de variables que utilizaremos en esta práctica.
Para comprobar que no hay nada con el nombre "integral", le solicitamos a Mathematica información sobre la función "integral". Escribe el siguiente comando:
Mathematica nos indicó que el nombre "integral" no contiene ningún valor. Para ver que hace Mathematica con una función desconocida, escribe el comando:
es decir, Mathematica da como resultado el mismo comando como introducimos, ya que no tiene ninguna información acerca de las propiedades de la función "integral". Como ves, hemos elegido que nuestra función integral tenga dos argumentos, el primero será la expresión a integrar y el segundo la variable de integración.
Introduciendo la linealidad en la función "integral" Ahora vamos a enseñarle a Mathematica que la integral de una suma es igual a la suma de las integrales. Es decir, vamos a enseñarle a Mathematica que . ESCRIBE EL SIGUIENTE COMANDO, RECUERDA QUE ES MUY IMPORTANTE QUE COPIES EXACTAMENTE, INCLUYENDO LOS GUIONES LARGOS _ SOLO EN EL LADO IZQUIERDO DEL IGUAL, ASI COMO LOS DOS PUNTOS.
En este caso Mathematica no produce ningun resultado, pero ahora Mathematica sabe esta nueva regla. Para comprobarlo, escribe el comando:
Mathematica convirtió a la integral de la suma en la suma de las integrales. Ahora vamos a enseñarle a Mathematica que una constante multiplicando sale de la integral, es decir
=c
.
Escribe el siguiente comando:
Este comando intruye a Mathematica a sacar multiplicando a las constantes que no dependen de x. Mathematica no produce ningun resultado, pero ahora Mathematica sabe esta nueva regla. Para comprobarlo, escribe el comando:
Mathematica convirtió a la integral de la suma en la suma de las integrales y luego sacó las constantes. Juntas, ambas reglas constituyen la propiedad de linealidad: ,con a y b constantes.
Integración de una constante Ahora le enseñaremos a Mathematica que
.
Escribe el siguiente comando:
Mathematica no produce ningún resultado, pero ya sabe como integrar una constante.
Integración de
con n diferente de -1
Ahora le enseñaremos a Mathematica que
para "n" diferente de "-1".
Escribe el siguiente comando (ES IMPORTANTE EL PUNTO PEGADO AL GUION EN LA ENE: "n_.", PARA QUE SE INCLUYA EL CASO EN QUE ENE VALE UNO):
Mathematica no produce ningún resultado, pero ya sabe como integrar
.
Para comprobarlo escribe el comando:
Integración de 1/(a * x + b) Ahora le enseñaremos a Mathematica que constantes
para "a" y "b"
Escribe el siguiente comando (ES IMPORTANTE EL PUNTO PEGADO AL GUION EN LA A: "a_." Y EN LA B: "b_." , PARA QUE SE INCLUYAN LOS CASOS EN QUE A VALE UNO Y/O B VALE CERO):
Mathematica no produce ningún resultado, pero ya sabe como integrar 1/x. Para comprobarlo escribe el comando:
Nota: En caso de que no obtengas el resultado correcto, quizás hayas introducido alguna regla equivocada. La forma más sencilla de corregir es repetir todo desde el Clear[integral], que borra toda la información en el nombre integral, y escribiendo y evaluando otra vez todas las reglas.
Probando la nueva función "integral" Con las reglas que se han incluido en la función "integral" es ahora posible integrar expresiones como
.
Escribe el siguiente comando
Vamos a solicitar información acerca de la función integral Oprime Shift-Enter, ¿Qué resultado da Mathematica?
Ejercicio
Enseñale a Mathematica que Y "b" NO DEPENDAN DE "x".
; SIEMPRE Y CUANDO "a"
Integra algunas funciones ejemplo para mostrar que le enseñaste bien a Mathematica.
Diseñando un comando para calcular impedancias Exploraremos el uso de los comandos "Map" y "Apply". Los usaremos para definir una función que calcule impedancias de circuitos electricos en serie, en paralelo y en combinaciones.
El comando Apply El comando "Apply" permite aplicar una función a una lista. Como ejemplo, para aplicar "mifuncion" a la lista "{a,b,c}" Primero nos aseguramos que no haya información previa ni valor alguno metido en los nombres "a","b" y "c" que utilizaremos en esta práctica.
un caso particular importante es cuando aplicamos la función "Plus", que indica una suma. Escribe:
¿Es diferente de cuando se uso "mifuncion"? De hecho es lo mismo, solo que Plus[a,b,c] es la manera en que Mathematica representa internamente a+b+c. Cuando Mathematica muestra al usuario los resultados, los transforma de su notación simbólica (Plus[a,b,c]) en notación matemática (a+b+c).
El comando Map El comando Map es similar al comando Apply, pero aplica la función a cada miembro de la lista. Como ejemplo escribe:
Compara este resultado con el resultado que se habia obtenido con "Apply" en el inciso anterior. Escribe el siguiente comando
Para crear una lista en la que cada elemento sea del tipo "mifuncion[mivar,a]" en lugar de "mifuncion[mivar][a]" hay que introducir un comando como el siguiente:
Propiedades de la impedancia eléctrica Vamos a crear una función que pueda calcular la impedancia de un circuito formado por resistencias, capacitores e inductancias. La impedancia de elementos en serie es la suma de sus impedancias: z= La impedancia de elementos conectados en paralelo está dada por z= La impedancia de un resistor es z=R; la de un capacitor es z= y la de una inductancia es z=iωL.
Definición de los símbolos que utilizaremos Vamos a representar una resitencia de "r" Ohms por el símbolo "resistor[r]". Así una resistencia de 8 Ohms sería "resistor[8]". De forma similar tendremos los símbolos "capacitor[c]" y también "inductor[L]". Elementos conectados en serie serán representados por "serie[{e1,e2,e3...}]" y los elementos conectados en paralelo serán representados por "paralelo[{e1,e2,e3...}]". Con lo anterior, un circuito que tenga dos resistencias "r1" y "r2" en paralelo y estas a su vez en serie con un capacitor "c" será representado por el siguiente símbolo: serie[{capacitor[c], paralelo[{resistor[r1], resistor[r2]}]}]. ¿Cómo es el dibujo de este circuito? La función para calcular impedancias la llamaremos "impedancia[e,w]", en donde el primer parametro "e" será de hecho una combinación de elementos en serie y paralelo, y el segundo parámetro "w" es la frecuencia de corriente alterna a la cual está funcionando el circuito. Así, la impedancia del circuito anterior a una frecucencia "w" sería: impedancia[serie[{capacitor[c], paralelo[{resistor[r1],resistor[r2]}]}], w]
Creando la función impedancia Ahora hay que decirle a Mathematica como debe funcionar la función impedancia. Asegurémonos que el nombre "impedancia" no contiene nada:
Primero indiquemosle como funcionar ante elementos en serie. Escribe (¿Reconoces como trabajan en este caso los comandos Apply y Map?):
Mathematica no produce ningún resultado pero ya sabe como calcular impedancias en serie. Para comprobarlo escribe el siguiente ejemplo:
Para introducir la regla para elementos en paralelo escribe:(¿Reconoces como trabajan en este caso los comandos Apply y Map?).
Mathematica no produce ningún resultado pero ya sabe como calcular impedancias en paralelo Para comprobarlo escribe el siguiente ejemplo:
Ahora introduzcamos el funcionamiento de la función impedancia para los elementos individuales. Escribe (La letra "i" tiene que ser la de la paleta, que es el imaginario "ⅈ"):
Ahora Mathematica ya tiene toda la información para calcular impedancias. Por ejemplo, para calcular la impedancia de un circuito que tenga dos resistencias "r1" y "r2" en paralelo y estas a su vez en serie con un capacitor "c" Escribe:
Ejercicio Usa la función creada en esta práctica para calcular la impedancia de un circuito con una inductancia s=4 en paralelo con una capacitancia c=3, y todo eso en serie con una resistencia r=2, y todo el circuito esta conectado a una fuente de corriente alterna de frecuencia w=60. Crea otros dos circuitos junto con sus dibujos y calcula sus impedancias. Describe como funcionan los comandos Map y Apply en la definición de impedancias en serie y en paralelo.
13 Mathematica trabaja con números complejos ¡Mathematica dice que la raíz cúbica de -8 es compleja! Aquí tenemos el cálculo de una raíz cuadrada
Aquí tenemos el cálculo de una raíz cuadrada de un número negativo
Todo va bien, un número negativo tiene una raíz cuadrada imaginaria. Sin embargo nosotros sabemos que las raíces cúbicas son reales, por ejemplo la raíz cúbica de -8 es 2, ya que (-2)(-2)(-2)=-8 así que esperamos que Mathematica nos diga que la raíz cúbica de -8 es -2 Sin embargo...
¡Mathematica reportó un número complejo! Esto es porque en números complejos todo número tiene tres raíces cúbicas, y en el caso de los números negativos su raíz cúbica principal es un número complejo. Para obtener las tres raíces cúbicas de -8 ejecuta los siguientes comandos. ¡Es muy importante que escribas dos signos de igual juntos!
Supongamos que construyes un programa o comando en Mathematica donde es necesario que al calcular la raíz cúbica de -8 se obtenga -2. Puedes forzar a Mathematica a reportar números reales cargando el paquete RealOnly Escribe el siguiente comando y oprime Shift-Enter. Ten cuidado de usar las comillas correctas.
Mathematica no produce ningún resultado al cargar la librería (a menos que hayas escrito algo incorrecto), pero ahora cambian los resultados de sus cálculos:
ADVERTENCIA: Mathematica necesita trabajr con números complejos, por ello al cargar la librería RealOnly otros comandos pueden funcionar mal. En otras palabras, usa la librería RealOnly sólo si es realmente necesario Converted by Mathematica
January 4, 2004