Guia Profesor 15

download Guia Profesor 15

of 37

Transcript of Guia Profesor 15

Introduccin a MathematicaAutora: Snezhana G.Gocheva Ilieva Plovdiv University 'Paisii Hilendarski' e - mail : [email protected]

Mathematica como calculadoraSe puede usar Mathematica como una calculadora ordinaria. Se teclea una expresin, se presiona SHIFT + ENTER y Mathematica la calcula y devuelve el resultado. A continuacin las indicaciones principales se dan subrayadas.. Ejemplo 1. Elevar el nmero 3 al cuadrado. Puedes cambiar los valores si lo deseas. Al final de la lnea de escritura la celda est marcada con un corchete azul. Cuando el cursor est dentro de la celda presiona simultneamente las teclas SHIFT+ENTER. Puedes volver atrs y ejecutar cualquier celda elegida en cualquier momento.

Mathematica trabaja automticamente con precision infinita. Por ejemplo, 3 elevado a 100 es un nmero con 48 cifras:

Se pueden usar los smbolos matemticos de forma similar a como se hace en Word, utilizando las paletas. Por ejemplo, a partir del menu File \ Palettes \ BasicInput, el ejemplo anterior puede escribirse tambin as:

Ejemplo 2. Se pueden utilizar variables para almacenar nmeros, grficas, listas o cualquier objeto de Mathematica. Pero hay que tener cuidado con el nombre de las variables, porque las letras maysculas son diferentes de las letras minsculas. Por ejemplo las variables A1 y a1 contienen diferentes objetos:

Ejemplo 3. Dos o ms expresiones pueden colocarse en una misma celda y ejecutarse secuencialmente. Aqu calculamos el producto escalar de dos vectores a y b, cuyas componentes estn dadas entre llaves. El resultado se almacena en la variable c. Hay que recordar que el punto entre ellos como smbolo del producto es obligatorio.

Ejemplo 4. Las constantes matemticas habituales y las funciones usuales estn escritas con la primera letra en maysculas y el argumento de la funcin entre corchetes. Hay que hacer constar que Mathematica distingue estos casos. Pueden usarse las paletas.

Ejemplo 5. Cuando queremos que el resultado sea un nmero decimal, basta con que al menos un argumento est escrito en forma decimal, es decir 2.0, -12.456, 100. etc. Puede observarse la diferencia en el resultado:

Ejemplo 6. Es sencillo escribir frmulas. Cuando las variables que aparecen en ellas han recibido una asignacin previa, Mathematica trabaja con esos valores. En otro caso trabaja simblicamente. Vamos a resolver una ecuacin cuadrtica ahora y luego una ecuacin con un parmetro k. Obsrvese que en las ecuaciones se usa el smbolo = = , y no el smbolo matemtico habitual =.

Guardamos las soluciones para usarlas posteriormente. Aqu /. es el smbolo de sustitucin. El % toma el resultado del comando previo.

Ejemplo 8. Vamos a calcular una integral indefinida eligiendo el smbolo correcto de la paleta File \ Palettes \ BasicInput. Para usar la variable a como un parmetro necesitamos borrar la asignacin previa realizada, ya que la letra fue utilizada en el ejemplo 2 como un vector. Ese borrado se lleva a cabo con el smbolo =. (punto):

Ejemplo 9. Vamos a ver cul es la grfica de la funcin integrando f= cuando =5 en el intervalo [0, 1] por ejemplo.

Ejemplo 10. Calculamos ahora la integral definida con la misma funcin integrando en el intervalo [0,1] con a=7. Para mantener oculto en la salida el valor de a, necesitamos aadir el smbolo; (punto y coma).

Ejemplo 11. Vamos a dibujar la grfica de la funcin sin (2.5x) + cot (x) en el intervalo [-3, 2]. Aqu Cot[x] es la funcin cotangente. Luego se representa la misma grfica pero con los valores de la funcin limitados entre -2 y 2. Las asntotas verticales tambin se representan.

Ejemplo 12. Podemos representar varias grficas con una misma instruccin:

Ejemplo 13. Un ejemplo de grfica en 3D en coordenadas cartesianas cuando la funcin viene dada explcitamente. Hemos aadido la opcin que especifica el nmero de puntos que el sistema calcula para dibujar la grfica en ambas direcciones.

Ejemplo 14. Otro ejemplo en las mismas condiciones que el anterior. Cuando hay asntotas, Mathematica trata de representarlas. En este ejemplo la funcin Cot (cotangente) no est definida para y=0, lo que justifica la aparicin del salto en la grfica.

Mathematica es un potente calculadorPrcticamente el sistema trabaja con un nmero ilimitado de smbolos aritmticos y tiene los algoritmos ms eficaces para clculos simblicos y numricos complejos. Intenta calcular exactamente cada vez y puede producir numerosas pginas de

resultados y formulas. En esos casos, es recomendable usar nmeros concretos, un mtodo numrico apropiado o una funcin de truncamiento de error. Ejemplo 1. En este ejemplo se muestra cmo presenta Mathematica el nmero irracional . En un caso devuelve , en el segundo caso lo calcula con 6 dgitos y en el tercero puede usarse cualquier nmero de dgitos (aqu usamos 100). La letra N indica clculo numrico. Finalmente, calculamos e con 50 dgitos decimales.

Ejemplo 2. Mathematica evala sin esfuerzo expresiones complejas. Para obtener al final un valor numrico es necesario escribir al menos un argumento con el punto decimal.

El ltimo resultado es el anterior con doble precisin. Para obtenerlo nos colocamos con el cursor en la lnea de salida y pulsamos la tecla ENTER. Ejemplo 3. Tras la salida de un resultado podemos utilizarlo escribiendo el smbolo %, %% para el anterior, etc.:

Tambin puede hacerse lo anterior utilizando el nmero que el sistema usa para cada salida. Ese nmero se muestra en azul y marca el principio y el final de una celda: In[nmero] Out[nmero].

Ejemplo 4. Mathematica trabaja igualmente rpido con los nmeros complejos. La unidad imaginaria se escribe I o puede escribirse a travs de la paleta Basic Input. Por supuesto pueden usarse los dos smbolos en una expresin compleja.

Ejemplo 5. Mathematica puede realizar complejas operaciones matriciales. La funcin Random[ ] genera un nmero aleatorio en el intervalo [0,1]. Con la funcin Table creamos una matriz 100x100 con nmeros aleatorios. Para evitar imprimir los 10000 resultados utilizamos el punto y coma final.

Ejemplo 6. La siguiente lnea de comandos calcula y dibuja los valores propios de la matriz del ejemplo anterior.

Ejemplo 7. En una fraccin de Segundo, Mathematica calcula el valor de 500 factorial de forma exacta y aproximada.

Ejemplo 8. Aqu se presenta un ejemplo de factorizacin de una expression polinmica sobre los enteros, que nos llevara mucho tiempo calcularla a mano. La function Simplify hace lo opuesto.

Ejemplo 9. Una de las especialidades de Mathematica es el clculo eficaz de nmeros primos. En este ejemplo calculamos los primeros 200, los almacenamos en la variable tp y los representamos grficamente.

Algoritmos en MathematicaEl sistema Mathematica tiene una larga coleccin de algoritmos para clculos exactos y aproximados representados como funciones. Entre ellos hay algoritmos que permiten calcular races de ecuaciones y sistemas de ecuaciones, inversas matriciales, valores propios de una matriz, problemas de teora de nmeros, integracin numrica y simblica, resolver ecuaciones diferenciales, etc. Cuando una funcin no existe por defecto, podemos buscar una apropiada en algunos de los paquetes de Mathematica o programar nosotros el algoritmo utilizando Mathematica como lenguaje de programacin. Ejemplo 1. Existe una funcin para resolver ecuaciones no lineales mediante el mtodo de Newton. En este ejemplo encontramos una solucin real para la ecuacin Cos(x)=x+Log(x), tomando x=1 como valor inicial. Es bueno combinar la solucin con una grfica de la funcin en el intervalo correcto.

Para la grfica debemos representar la funcin en la forma f=0 y dar algn intervalo de representacin. A veces el uso de la funcin FindRoot exige que el valor inicial sea bastante cercano a la raz.

Ejemplo 2. Las soluciones aproximadas de ecuaciones y sistemas de ecuaciones incluyen las soluciones complejas. Las soluciones exactas se calculan con el comando Solve [ ], si es posible. En otro caso, se pueden construir algoritmos para las soluciones numricas utilizando NSolve[ ], FindRoot[ ], Reduce[ ] y otras funciones. Vamos a resolver una ecuacin polinmica con una precisin de 30 dgitos. Obsrvese que la solucin es proporcionada como una lista.

Ejemplo 3. Para escoger una de las races podemos usar las siguientes expresiones (aqu escogemos las races segunda y quinta):

Ejemplo 4. Clculo del valor aproximado de una integral. La letra N mayscula delante de la funcin Integrate nos dice que estamos utilizando clculo numrico ( N de Numerical). Las dos instrucciones dan el mismo resultado. Haciendo click en la lnea de la salida y pulsando ENTER el resultado se muestra con 16 dgitos de precisin.

Ejemplo 5. Factorizacin prima de un nmero. El resultado se muestra en una lista donde el primer nmero es el factor primo y el segundo su exponente correspondiente.

La primera salida muestra que la factorizacin de 18 es 2x32, mientras que la segunda muestra que la factorizacin de n=172872 es 23x32x74.

Ejemplo 6. Dada una matriz cuadrada a, el sistema halla su inversa b. La tercera matriz c muestra que el producto a.b es la matriz identidad.

Ejemplo 7. Mathematica resuelve ecuaciones diferenciales y sistemas (cuando es posible) de forma exacta y aproximada. Aqu se resuelve un PVI de segundo orden con condiciones iniciales en el origen.

x''+x3= sin(t), x(0) = 0, x'(0) = 0, t

[0, 20]

Para resolver aproximadamente la ecuacin diferencial se usa la funcin NDSolve. La salida se muestra como una funcin de interpolacin, que se puede representar grficamente:

Ejemplo 8. Mathematica resuelve desigualdades y representa las grficas de las soluciones. Los algoritmos apropiados estn incluidos en paquetes especiales. En este ejemplo, resolvemos un sistema algebraico de dos desigualdades. Para evitar una posible reutilizacin de alguna de las variables, limpiamos previamente las variables a utilizar con la funcin Clear[ ]. La segunda lnea carga el paquete necesario.

El signo && es el operador lgico AND, mientras que el operador lgico OR se representa por |.

Ejemplo 9. Resolvemos ahora un sistema con dos incgnitas.

Ejemplo 10. Y ahora representamos grficamente las soluciones del ejemplo anterior. Obviamente hay que cargar el paquete apropiado en primer lugar.

Matemticas en MathematicaEl sistema contiene las funciones especiales habituales en Matemticas (tanto puras como aplicadas) y en Ingeniera. Como es sabido, las funciones especiales aparecen de manera natural en muchos problemas tcnicos. Ejemplo 1. Los polinomios de Legendre pueden ser generados para cualquier grado n (en el ejemplo, n=3). Se representa, adems, el polinomio obtenido.

Ejemplo 2. Mathematica puede calcular fcilmente integrales muy complicadas, aplicando todas las posibles reglas y transformaciones.

Ejemplo 3. En este ejemplo trabajamos con integrales impropias. Podemos obtener el valor numrico de la integral utilizando adecuadamente la funcin N y %:

Ejemplo 4. Sumas finitas y series, as como productos infinitos pueden ser calculados con el sistema.

Pueden verse ms ejemplos en la demo de Mathematica. Ejemplo 5. Si es posible, muchos tipos de ecuaciones diferenciales ordinarias y en derivadas parciales pueden abordarse con Mathematica. Vamos a resolver la ecuacin diferencial y'' + y' + x y =0 respecto de x y obtener su solucin general que depender de dos constantes arbitrarias C[1] y C[2]. Entonces, por medio de la funcin Evaluate[ ] calcularemos el valor de la solucin y[x] en x=1 y constantes C[1]=0, C[2]=1.

Ejemplo 6. Seguimos poniendo ejemplos del uso de transformaciones y funciones especiales. En este caso se prueba la veracidad (True) o falsedad (False) de desigualdades numricas.

En el siguiente ejemplo se utiliza la funcin TrigReduce[ ] para abordar expresiones trigonomtricas.

Ejemplo 7. Se chequea si dos nmeros son primos o no con la funcin PrimeQ[ ]:

ClculosMathematica permite resolver muchos problemas mediante la combinacin y activacin de diferentes funciones y paquetes especiales. El sistema contiene numerosas reglas matemticas implementadas internamente. Obviamente, el sistema contiene las reglas de derivacin, integracin y otras operaciones simblicas, as como muchas tablas de valores de las funciones especiales. Al mismo tiempo, podemos definir nuestras propias reglas de operaciones, lo cual dota de una gran potencia y flexibilidad al sistema. Ejemplo 1. Es importante sealar que Mathematica siempre intenta calcular con la mayor precisin posible aplicando las reglas matemticas permitidas en cada caso. De forma general podemos decir que el tipo de resultado se corresponde con el tipo de dato. Las constantes y las variables pueden ser enteras, racionales, reales, complejas, etc. Con datos exactos se obtienen clculos exactos.

Ahora si los datos son decimales vemos que trabaja con decimales (con 6 dgitos decimales por defecto):

Ahora trabajamos con nmeros complejos. Las funciones Re[x1 ] e Im[ x1] devuelven la parte real y la parte imaginaria, respectivamente, del nmero complejo x1:

Ejemplo 2. Las matrices son el tpico ejemplo de listas bidimensionales. En Mathematica las listas se representan fcilmente entre llaves y pueden anidarse. En la primera lista interna se escriben los elementos de la primera fila, en la segunda lista

interna los elementos de la segunda, etc. La funcin MatrixForm[ ] muestra la forma habitual de representar matrices en matemticas. Se pueden extraer elementos de las listas utilizando los dobles corchetes, como se muestra a continuacin.

Ejemplo 3. La funcin Eigenvalues[ ] calcula los valores propios de una matriz (en el ejemplo calculamos los de la matriz del ejemplo anterior). El resultado es una lista, pero una lista de reglas, porque aunque los datos son enteros el resultado no lo es y no puede expresarse de forma explcita. Puede resolverse este problema acudiendo a obtener los correspondientes valores numricos.

Ejemplo 4. Una manera de generar matrices es a travs del comando Table[ ]. En el ejemplo se muestra cmo obtener la matriz de Vandermonde y su determinante. Al final simplificamos el resultado.

Ejemplo 5. De forma similar al ejemplo anterior generamos una matriz cuyos elementos son integrales indefinidas y calculamos su determinante:

Ejemplo 6. Se almacena en la variable f la derivada del resultado anterior, se simplifica y se representan las grficas en el intervalo [-, ]:

Ejemplo 7. Calculamos ahora los mximos y mnimos locales de la funcin f definida anteriormente cercanos al punto t= 2.5

Ejemplo 8. Calculamos el desarrollo de Taylor de f en el origen de orden 10.

Ejemplo 9. Calculamos ahora una integral no trivial. Para hacerlo introducimos un valor decimal en el denominador (3.). De esta manera trabajamos con valores numricos. Para seguir el comportamiento de la funcin es buena idea en general obtener su grfica.

VisualizacinMathematica tiene muchas instrucciones involucradas en las representaciones grficas de todo tipo de funciones (expresadas de forma explcita, implcita o en forma de tablas de valores). Adems las grficas pueden ser estticas o animadas, y hay tambin representaciones sonoras. Las grficas pueden verse desde diferentes puntos de vista, se pueden cambiar su aspecto mediante el uso apropiado de las opciones grficas y de funciones como Show, RealTime etc. Ejemplo 1. Una grfica en el plano demanda una expresin explcita y un intervalo. Hay una amplia gama de opciones para cambiar el aspecto de una grfica. Mostramos a continuacin dos grficas de la funcin Sin[x] en el intervalo [-2, 2]. La primera tiene las opciones por defecto, mientras que la segunda tiene cuatro cambios en sus opciones: tamao, estilo (color y grosor de la grfica) y relacin de escala entre los ejes coordenados.

Ejemplo 2. Mostramos simultneamente varias grficas con el comando Show[ ]

Ejemplo 3. Podemos representar una lista de puntos en el plano.

Ejemplo 4. Las curvas paramtricas pueden representarse a travs de las ecuaciones correspondientes dando el intervalo de variacin del parmetro. En este caso se toma como relacin entre los ejes el nmero de oro (GoldenRatio).

Ejemplo 5. Se pueden representar superficies en coordenadas cartesianas dando la correspondiente expresin explcita y los intervalos de variacin de las coordenadas. Puede modificarse el punto de vista de la grfica.

Ejemplo 6. Mathematica tiene la capacidad de realizar visualizaciones en tiempo real utilizando los ms rpidos mtodos de clculo y compilacin. El paquete RGBColor[0, 1, 1], CellTags->"T.8"]

Paletas y botonesLas paletas y botones nos permiten interactuar con el sistema Mathematica. Existe una amplia gama de paletas accesibles a travs del men File\Palettes. A continuacin se muestra una parte de la paleta Basic Calculations.

Otra muestra de la paleta International Characters .

Las paletas se usan como extensin del teclado. Haciendo click en un determinado smbolo de una paleta, ste se inserta en la celda activa en aquel momento en la posicin en la que estaba el cursor.

En una paleta como la que figura a continuacin si se elige el smbolo marcado, otro smbolo puede colocarse dentro de l en el espacio habilitado.

Otra forma de hacer lo mismo consiste en seleccionar el texto en el notebook antes de hacer click en el botn (en nuestro caso el de la raz cuadrada).

Es posible crear nuestra propia paleta. Para ello se crea una paleta vaca y se rellena de acuerdo con el proceso que aparece en el men Input/Create Table/Matrix/Palette

Lo mismo sucede con los botones:

Smbolos matemticosMathematica contiene una amplia gama de smbolos matemticos para introducir datos y para presentar los resultados de los clculos internos. Mathematica combina la precision de los smbolos matemticos con la precision de un lenguaje de programacin. Ejemplo 1. Para calcular una integral podemos usar el modo tradicional:

Tambin podemos usar la expresin matemtica ms conocida por los alumnos utilizando la paleta correspondiente.

Tambin se pueden introducir frmulas a travs del teclado mediante la lnea de comandos:

Ejemplo 2. Una posibilidad muy til es que se pueden editar las frmulas ( cambiar, copiar, borrar, etc.) en cualquier celda del notebook.

Ejemplo 3. Mathematica puede mostrar el resultado en la forma tradicional, como puede verse a continuacin.

En Formula Gallery hay otros ejemplos de frmulas matemticas. Ejemplo4. Se pueden utilizar fcilmente todo tipo de marcas en las notaciones:

Mathematica contiene ms de 700 smbolos especiales para la pantalla o para la impresin. Estn contenidos en la paleta Complete Characters. Hay smbolos de TeX y de SGML.

ProgramacinMathematica contiene una serie de instrucciones que permiten escribir programas fcilmente. Ejemplo 1. Procedimientos de programacin. Los distintos operadores son similares a C++, Pascal, etc.

Los bucles pueden realizarse con distintas instrucciones: For, Do, While, Throw, NestWhile.

Ejemplo 2. Programacin de listas. Muchas operaciones son manipuladas fcilmente a travs de listas. Pueden crearse fcilmente con el comando Table y se pueden aadir elementos, quitar elementos, etc.

Bucle para una tabla:

1 2 3 4 4 9 16 27 64 256

La siguiente funcin produce la tabla anterior en una nica lista:

Y esta la combina en pares

Ejemplo 3. Programacin funcional.

Ejemplo 4. Programacin basada en reglas. El smbolo ':=' se utiliza para definir funciones con parmetros formales que pueden ser sustituidos de diferentes formas.

El smbolo _ puede ser sustituido por una expresin simple, mientras que el smbolo __ permite la sustitucin con un nmero aleatorio de expresiones.

Ejemplo 5. Programacin orientada a objetos. Se muestran tres definiciones de funciones asociadas con el objeto h

Se muestra cmo se pueden aislar las definiciones.

Ejemplo 6. Programacin con cadenas.

Ejemplo 7. Programacin mixta.

Ejemplo 8. Los programas pueden escribirse en diferentes estilos. Se ilustra un ejemplo de pequeos programas (funciones) que sirven para calcular el factorial de un nmero.