View
237
Download
0
Category
Preview:
Citation preview
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 Front-
End.
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<Shift><Enter>. 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.
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
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
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:
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 para "a" y "b"
constantes
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 ; SIEMPRE Y CUANDO "a"
Y "b" NO DEPENDAN DE "x".
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
Recommended