137
 EL PROGRAMA MATHEMATICA COMO HERRAMIENTA EN LA RESOLUCIÓN DE PROBLEMAS Y EJERCICIOS DE MATEMÁTICAS.  Cristina Carmona Barranco MATHEMATICA EN LAS MATEMÁTICAS 

Ma Thematic A

  • Upload
    tautau

  • View
    229

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 1/137

EL PROGRAMA MATHEMATICACOMO HERRAMIENTA EN LA

RESOLUCIÓN DE PROBLEMAS Y EJERCICIOS DE MATEMÁTICAS.

Cristina Carmona Barranco

MATHEMATICA EN LAS MATEMÁTICAS

Page 2: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 2/137

A mi familia que me apoya a

emprender este reto personal

y profesional.

A mis profesores de la Universidad

de Córdoba que me dieron el saber

necesario para abordarlo.

Page 3: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 3/137

RESUMEN

Este libro da una introducción a Mathematica, concentrándose en usar Mathematica como sistema interactivo para resolver problemas. Cuando lo haya leído, debe tener suficiente conocimiento de Mathematica para abordar muchas clases de problemas prácticos.

Para ello, divido el presente en dos partes. La primera de ellas describe los aspectos fundamentales de Mathematica que deberá considerar para trabajar con él. Se trata de un resumido manual con los aspectos fundamentales y más utilizados de este software.

La segunda parte, se trata de aplicaciones de las operaciones y conceptos matemáticos más usuales y su resolución con el programa mathematica. Además, se plantean ejercicios para resolver con Mathematica muy similares a los incluidos en esta segunda parte.

Page 4: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 4/137

Índice Parte 1

Introducción5

Descripción general del programa matemática7

1.1. Sintaxis general de las órdenes . . . . . . . . . . . . . . . . . . . . . . . . . 91.2. Información o ayuda . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.3. La orden print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2. Primeros pasos matemáticos en mathematica 14 1.1. Operaciones aritméticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.2. Funciones matemáticas básicas . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.3. Cálculo simbólico con mathematica. . . . . . . . . . . . . . . . . . . . . . . . . 17

3. Cálculos numéricos 21 3.1. Aritmética . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.2. Resultados exactos y aproximados . . . . . . . . . . . . . . . . . . . . . . . . . .22

3.3. Algunas funciones matemáticas . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.4. Cálculos con precisión algebraica. . . . . . . . . . . . . . . . . . . . . . . . . . . 253.5. Notaciones matemáticas en cuadernos. . . . . . . . . . . . . . . . . . . . . . . . 25

4. Cálculos 26 4.1. Uso de resultados previos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4.2. Definición de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.3. Definición de listas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.4. Secuencia de operaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

5. Uso del sistema Mathematica 31 5.1. Cuadernos como documentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

5.2. Elementos activos en cuadernos . . . . . . . . . . . . . . . . . . . . . . . . . . . 345.3. Paquetes en Mathematica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Page 5: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 5/137

5.4. Interrupción de cálculos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

6. Cálculos algebraicos 38

6.1. Cálculo simbólico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

6.2. Valores para símbolos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396.3. Las limitaciones de Mathematica . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

7. Matemáticas simbólicas 42

7.1. Operaciones básicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

7.2. Diferenciación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427.3. Integración . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

7.4. Sumas y productos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

7.5. Ecuaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Page 6: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 6/137

PARTE 1

MANUAL TEÓRICO SOBRE ASPECTOS MATEMÁTICOS DEL PROGRAMAMATHEMATICA

Page 7: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 7/137

5

CAPÍTULO 0

INTRODUCCIÓN

Mathematica fue el primer programa de cálculo simbólico capaz de ejecutarse en diversos sistemas operativos. Se escribió en C en 1988.y desde entonces, se usa ennumerosos campos de la Ciencia y la Técnica y también ha tenido una buena acogida entrelos estudiantes de carreras en las que las Matemáticas son básicas para su formación.

Antes de empezar a trabajar con Mathematica , conviene conocer todas susposibilidades. A lo largo de este libro te presento algunas de ellas. Para el resto, podrásconsultar la bibliografía que te facilitamos.

No es fácil definir Mathematica , aunque de forma muy simplificada se puede decir que esun programa para la computación y visualización numérica, simbólica y gráfica y que ofreceuna herramienta interactiva de cálculo y un lenguaje de programación potente

• Una calculadora de tipo numérico . La diferencia con una calculadora es que tiene implementadas aproximadamente unas 750 funciones y además trabaja con la precisión quese desee (incluyendo precisión infinita).

• Un paquete de subrutinas para cálculo matemático . Se pueden hacer operaciones querequieran el uso de funciones o de procedimientos especiales como la integración numérica,la optimización de funciones, programación lineal, etc. que se pueden utilizar directamente.

• Una calculadora simbólica . Con la posibilidad de trabajar con expresiones simbólicas.Podrás definir una función que quedará almacenada tal como es, y no en forma de algoritmoque pueda dar aproximaciones a la función. Se pueden sustituir valores de la variable comoexpresiones, parámetros, etc. y el sistema entiende y opera en forma simbólica (exacta).

• Una potente herramienta de cálculo simbólico . Podrás derivar e integrar funciones, resolver ecuaciones diferenciales, calcular límites, manipular series de potencias, utilizartransformadas integrales, ...

• Un paquete gráfico . Permite dibujar en dos o tres dimensiones, elegir perspectivas, sistemas de representación, sistemas de coordenadas, animar las gráficas, ...

• Un lenguaje de programación , se puede realizar programación a tres niveles:

Programación de tipo procedural (uso de bloques, iteraciones y ciclos,recursiones, etc.).

Programación funcional (con la posibilidad de definir funciones, operadoresfuncionales, etc.).

Programación basada en reglas (suministrando reglas que indican como operar otransformar expresiones simbólicas, funciones, etc.).

• Un sistema para crear documentos interactivos , con posibilidad de incluir texto, gráficos, sonidos, animaciones, etc.

Page 8: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 8/137

Introducción 6

• Un sistema de apoyo a otros programas . Podrás comunicar con Mathematica desde otros programas y pedirles tareas que realizará y después enviará los resultados.

El programa Mathematica constituye una herramienta muy potente para la realización detodo tipo de cálculos matemáticos: operaciones aritméticas, cálculo simbólico, gráficos,…Las últimas versiones del programa incorporan un editor de texto (bastante aceptable) ypermiten el manejo de “paletas” de símbolos que facilitan el uso de los comandos einstrucciones del programa y la utilización de la simbología habitual en las fórmulas yoperaciones matemáticas.

El programa Mathematica está estructurado en 2 partes:

1.- El Front End: es la interface que permite la comunicación con el usuario. Presenta las

entradas y salidas y permite crear y editar ficheros que contienen texto, cálculos, gráficas,etc. Estos ficheros tienen la extensión .nb y se denominan Notebooks (Cuadernos de notas).La información que contienen estos ficheros se estructura mediante un sistema de celdas dediferentes tipos (título, subtítulo, sección, texto, input, output, ….) .

2.- El Kernel (núcleo): constituye la estructura interna del programa y es el que se encarga dela realización de los cálculos y operaciones matemáticas que solicita el usuario.

Aspecto que presenta el programa Mathematica

Page 9: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 9/137

1.Descripción general del programa Mathematica 7

CAPÍTULO 1

DESCRIPCIÓN GENERAL DEL PROGRAMA MATHEMATICA.

Mathematica consiste de dos partes: el Kernel (nucleo) y el Front End (fachada). El Kernelprocesa y calcula los resultados. El Front End es la interficie entre el usuario y el Kernel deMathematica.

Con Mathematica se pueden crear distintos tipos de documentos:

1.- Los Notebooks o Cuadernos de Notas , documentos que permiten anidar texto, gráficos, sonidos y animaciones, ofreciendo la posibilidad de ejecutar el documento deforma interactiva. Al salvar un notebook solo se le tendrá que dar un nombre y no esnecesario especificar la extensión, ya que Mathematica le asigna por defecto la extensión nb.

2.- Los Packages o Programas ejecutables en entorno Mathematica Aplicaciones: Ingenieria, Física, Química, Matemáticas, Ciencias de la Computación, Negocios y Finanzas,Ciencias de la Salud, ....

Los Notebooks están compuestos de unidades denominadas celdas y que se distinguenfácilmente unas de otras porque vienen delimitadas en la derecha por un corchete que

abarca toda la celda.Existen diferentes tipos de celdas en Mathematica que responden a cometidos distintos

(la forma del corchete nos indica el tipo de celda), entre las que vamos a destacar:

• las de entrada (Input), donde se indican los datos introducidos por el usuario.

• las de salida (Output), que reflejan los resultados de la evaluación y cálculos hechospor el núcleo del programa a partir de los datos introducidos en la correspondiente celda deentrada.

Mathematica asocia una celda de salida a cada celda de entrada que introduce el usuario, y que va numerando de forma consecutiva a medida que se van evaluando dentro de unamisma sesión. La numeración se sigue efectuando aunque se cambie de fichero o notebook.El kernel o núcleo guarda todas las definiciones y evaluaciones efectuadas desde que seempezó a correr el programa y hasta que se sale de este .

Algunas veces esto es útil, ya que se puede usar cualquier función o variable definidapreviamente; pero también puede ser un inconveniente, porque sin darnos cuenta podemosestar empleando una función o variable que creemos que es nueva, y que ya tiene un valor odefinición no compatible con el nuevo uso que se quiere dar.

Para limpiar cualquier definición anterior de una función o asignación de variablespodemos usar las sentencias:

Clear [nombrefunción,…, nombre variable,… ]

Page 10: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 10/137

O

Clear [”Global” ]

con la primera se limpian las variables especificadas entre corchetes mientras que con lasegunda se limpiaran todas las funciones, variables y demás objetos utilizados hasta ese1.Descripción general del programa Mathematica 8

momento. Sin embargo, hay que tener en cuenta que Mathematica conserva el nombre que seha utilizado.

Nota: Observa bien la comilla que se tiene que utilizar para borrar: ` . Con cualquier otracomilla que uses no se borra y pueden aparecer errores.

Ejemplo1:

In[1]:= x = 2

Out[1] = 2

Durante toda la sesión con Mathematica, la variable x valdrá 2 hasta que no le demos otrovalor, limpiemos la variable, o cerremos Mathematica y volvamos a entrar.

Así en otro programa distinto, pero de la misma sesión, quiero escribir el vector decomponentes (x, y, z)

In[2]:= vector = {x, y, z}

Out[2] = {2, y, z}

Pero si limpiamos el valor de x

In[3]:= Clear [x]v ={x, y, z}

Out[4]= {x, y, z}

Para crear una celda nueva dentro de un Notebook de Mathematica hay que situar elpuntero del ratón al final del Notebook o entre dos celdas que ya existan hasta que el cursoraparezca de forma horizontal. Entonces se pulsa el botón del ratón para hacer aparecer una

barra de inserción horizontal a todo lo largo de la ventana, que es donde aparecerá el nuevocorchete cuando empecemos a escribir.

Una vez que se ha escrito la expresión en una celda de entrada, para que la reconozca elnúcleo y se pueda evaluar, es necesario que el usuario se lo indique expresamente: mientrasque el cursor permanece junto a la expresión o si hemos señalado con el ratón el corchetecorrespondiente, pulsaremos las teclas Mayúscula + Intro. También se evaluará una celda sien el menú vamos a Kernel y Evaluate donde encontramos diversas opciones de evaluación:celda, notebook, ...

La primera vez que se evalúa una expresión tardará un poco más de lo habitual, debidoa que se estará inicializando el programa y es necesario cargar información.

Además de estas celdas, Mathematica dispone de otros tipos que permiten mejorar lapresentación y estructura de los Notebooks en forma de secciones y subsecciones, con suscorrespondientes títulos.

Se cargará un Notebook concreto mediante la opción Abrir (Open) del menú Fichero

Page 11: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 11/137

(File).

Para imprimir un Notebook, en el menú File, dar a Print, marcar Print To y decir laimpresora a la que va dirigido.

Hay otros menús de gran utilidad que aparecen en la parte superior de la pantalla:

9

• Edit , donde están los comandos habituales que nos permiten acciones como Cortar (Cut), Copiar (Copy) o Pegar (Paste) ....

Aquí encontramos las Palettes , útiles para escribir expresiones matemáticas y realizarcálculos simbólicos.

Abre estas paletas y observa las posibilidades que nos ofrecen para escribir y realizar

operaciones matemáticas.

• Find para los comandos de búsqueda y sustitución habituales de muchos editores de texto: Find (Buscar), Replace (Reemplazar) o Replace All (efectúa el cambio indicado en todoel documento).

• Kernel. Hay varios comandos interesantes para evaluar celdas seleccionadas (EvaluateSelection) o todas las celdas del Notebook (Evaluate Notebook).

Para interrumpir algún cálculo o anular alguna evaluación (por error o porque el programatarde demasiado en dar la respuesta) se pueden usar las opciones Interrumpir (Interrupt) oAbortar (Abort) de este menú.

1.1. SINTAXIS GENERAL DE LAS ÓRDENES.

Para que podamos estar seguros que la salida obtenida es correcta es necesario escribir deforma adecuada las expresiones (respetando siempre el formato y la sintaxis de cadasentencia) y, en algunas ocasiones, habrá que indicar el orden en que se evaluará la expresión.

Las normas siguientes afectan a todas las órdenes y expresiones de Mathematica :

• El programa distingue los caracteres escritos en mayúscula de los escritos en minúscula(Case Sensitive), por ello es necesario escribir con mayúscula la primera letra de todas las

funciones, órdenes, opciones y constantes propias de Mathematica.

• Es conveniente usar sólo minúsculas para definir nuestras propias variables y funciones (así se podrán diferenciar con facilidad de las anteriores).

• Mathematica interpreta un espacio en blanco como la operación de multiplicar. Por esto,

no se deben dejar espacios en blanco dentro del nombre de una función o variable. Estecriterio lo sigue Mathematica en sus propias funciones y órdenes, como se observa en losejemplos:

FindRoot(Encontrar Raíz). ParametricPlot(Dibujar en Paramétricas)...

• Para el producto de dos variables se puede usar * ó espacio en blanco; sin embargo xy lointerpretará como el nombre de una nueva variable con dos letras. Existe una excepción a estaregla, cuando multiplicamos un número por una variable. Por ejemplo, 3*x se puede escribir

Page 12: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 12/137

1.1. Sintaxis general de las órdenes 10

como 3x. Sin embargo, no obtendremos la misma interpretación al escribir x3. Por esta razón, no podremos dar un nombre a una variable o constante que empiece por un número, sinoque siempre debe de empezar con una letra, aunque después contenga números . Los

nombres a, aa, a1, a2, a11, etc son válidos para variables; no lo son 1a, 2a, 11a, 1a1, etc.

Uso de corchetes, paréntesis y llaves.

Los corchetes, [ ], delimitan los argumentos de todas las funciones y órdenes en Mathematica , y también aquellas que defina el usuario.

Cuando hay dos o más argumentos se separan por comas.

Ejemplo 2:

f[x_], para definir funciones. Sin[1.2]

Las llaves, { }, se usan para la definición de listas de elementos, que pueden ser decualquier tipo y se separan por comas. También se pueden interpretar como vectores omatrices (que serán listas de listas).

Las llaves son imprescindibles para construir “iteradores” dentro de estructuras de tiporepetitivo y para especificar los límites de actuación de los operadores matemáticos (enintegrales, dominio en el que hay que dibujar las gráficas, etc.).

También se usan para incluir ciertas opciones dentro de algunas órdenes de Mathematica

.

Ejemplo 3:

{2, 3} indica el vector fila (2, 3).{{1,0}, {2,1}} indica una lista formada a su vez por dos listas (matriz de orden 2)

Los paréntesis, ( ), se utilizan para indicar la prioridad de las operaciones de tipoaritmético.

Ejemplo 4:In[] (* esto es un comentario *)

Out[] 1 + 2*37

In[] 2^(3+4)Out[] 128

In[] 2^3 + 4Out[] 12

In[] (-1)^2/5

Out[] 1/5

Page 13: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 13/137

11

1.2. INFORMACIÓN O AYUDA.

Ante una duda, es conveniente consultar el manual de órdenes de Mathematica o algúnlibro con explicaciones y ejemplos.

La versión que usamos de Mathematica , dispone de una ayuda en la que puedesconsultar todo lo referente a Mathematica . Para acceder a esta ayuda en la barra superior deMathematica con el ratón iremos a la opción Help y al abrirse este menú se buscará la opciónFind In Help Browser, entonces se abre una ventana de ayuda, donde puedes localizar, entreotras cosas:

• Built-in Functions : permite localizar y encontrar ejemplos de cualquier función predefinidaen Mathematica

• Add-ons : proporciona un listado de los paquetes de

Mathematica • The Mathematica Book , que contiene el libro:

Stephen Wolfram. The Mathematica Book, Wolfram Media, Cambridge University Press.

• Getting Started /Demos : se pueden ver demostraciones realizadas con Mathematica. Por ejemplo puedes buscar la que se refiere a números de Pisot o el cálculo del número p deforma aproximada usando diferentes técnicas de aproximación.

• Master Index : facilita un listado alfabético de todas las ordenes de Mathematica y remite al lugar del libro donde puedes encontrarlas.

1.3. LA ORDEN PRINT.

Para escribir mensajes en pantalla durante la salida de un programa, se usa la ordenPrint. Si lo que deseamos escribir es un texto debe ir entre comillas.

Ejemplo 5: Realiza los siguientes ejercicios.

1.- Print [“esto es un ejemplo”]2.- Escribe tu nombre en pantalla3.- Print [5*3+24.- Print [5, 3, 1

5.- Print [5, “ “, 3 ,” “, 16.- Observa , lo que ocurre si se cambiamos comas por punto y coma en 5. 7.- n = 20Print [“Observa”, n , “al cuadrado es” , n^2, “ . ”]

Page 14: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 14/137

1.2. Información o ayuda 12

Page 15: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 15/137

Page 16: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 16/137

2. Primeros pasos matemáticos en mathematica 14

CAPÍTULO 2

PRIMEROS PASOS MATEMÁTICOS EN MATHEMATICA

2.1. OPERACIONES ARITMÉTICAS.

Mathematica puede efectuar operaciones aritméticas, manipular números enteros (Integer ), racionales ( Rational), reales ( Real ) y complejos ( Complex ).

Representa las cantidades tan exactamente como sea posible, e intenta devolver el

resultado en la misma forma que los datos o en una forma similar.Los operadores aritméticos son los usuales:

+ suma

- diferencia

* o espacio producto

/ división

^ potencia

Ejemplo 1:

In[ 00011001 + 10011101

Out[ 10022102

In[ 532*34978

Out[ 18608296

In[ 34^56

Out[ 57918773205287127842044254126179599852840968492056164062843692360166371779746690236416

A pa rtir de ahora solo escribimos la celda de Input, tu deberás realizar los ejercicios yverás los resultados en la pantalla del ordenado r.

In[ 1000!In[] 111111111^2

In[] 9345*456 – 345689^6 + 367/4890 *(2346-89)

Page 17: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 17/137

15

In[ 2/4 + 24/144

In[ 2 + 2/5

Puedes usar muchas constantes usuales en Matemáticas siempre que las escribas enforma correcta:

Pi (razón entre la longitud de la circunferencia y su diámetro);E (número base de los logaritmos Neperianos);

I (representa el número imaginario 1 ) Infinity : infinito, etc. ...

Nota: procura no usar estos nombres p ara variables .

Un número decimal lo interpreta como una aproximación. Si hay un número condecimales trata toda la expresión como una aproximación. No aproximará los númerosirracionales.

Una fracción la trata de forma exacta y sólo la aproxima cuando en la expresión existaotro número decimal.

Ejemplo 2:

In[ 1/2 + 3.50.5 + Pi1/15+1/35+1/63

Si se trabaja con números irracionales representa los resultados de forma exacta.Ejemplo 3:

In[ Sqrt [13E^3 + Sqrt [13

Si queremos una aproximación de un número real lo indicaremos con la orden

N [número, precisión

donde en precisión indicamos el número de cifras significativas que queremos considerar. Siomitimos este argumento, que es opcional, el programa nos dará el resultado con un númerode cifras determinado (habitualmente muestra seis cifras significativas), aunque por defectotrabaja con dieciseis decimales de precisión.

La función Precisión da el número cifras significativas de un resultado concreto.

Ejemplo 4:

In[ N [ (1 5) /2

Page 18: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 18/137

2.1. Operaciones aritméticas. 16

Precisión [%

Nota: El símbolo % hace referencia a la última salida obtenida por M athematica. Siusamos % % se hará referencia a dos salidas anteriores.

Con la función N se puede conseguir más precisión aunque al aumentar la precisióntambién aumenta el tiempo que tarda en hacer cálculos.

Ejemplo 5:

In[ N [ (1 5) /2, 100

N [ 2 2 , 5003

N [ 33

Si en una expresión con números incluimos un punto decimal la salida será un númeroreal, dado mediante su representación decimal aproximada (con un número de dígitosdecimales por defecto salvo que el usuario pida una precisión determinada).

Ejemplo 6:

In[ Sqrt [13.E^3 + Sqrt [13.

Hay que tener cuidado cuando se trabaja con números decimales ya que se harán lasoperaciones con la precisión por defecto, a no ser que se le indique otra cosa, y se llegará a

resultados aparentemente falsos.Observa lo que ocurre en los ejemplos siguientes:

Ejemplo 7:

In[ 5 + 0.00000001Precision [%

N[5 + 0.00000001, 16(5 + 0.00000001)*0.0000000001N[%, 22

Precision [%

Nota: Se obtiene este resultado porque previamente se había fijado la precisión, sitrabajamos con 10 -7 el resultado sería exacto.

Page 19: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 19/137

17

2.2. FUNCIONES MATEMÁTICAS BÁSICAS.

El programa Mathematica tiene definidas las funciones matemáticaselementales y otras muchas que se usan con frecuencia en la resolución deproblemas de todo tipo. La notación responde a la abreviatura del nombre inglés

de las funciones. Las más usuales son:

Existen otras muchas funciones que se utilizan en campos específicos. Porejemplo, dispone de una serie de “paquetes” de funciones muy diversas, que seguardan en subdirectorios del directorio Packages. Más adelante se verá la formade acceder a estos paquetes (en tema 5).

Hay varias funciones incorporadas para trabajar con números complejos:

Re (devuelve la parte real del complejo),

Im (devuelve la parte imaginaria del complejo),Conjugate (devuelve el conjugado del complejo),Abs (devuelve el módulo del complejo).

2.3. CÁLCULO SIMBÓLICO CON MATHEMATICA.

Mathematica maneja perfectamente el cálculo matemático simbólico.

Page 20: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 20/137

2.3. Cálculo simbólico con mathematica 18

Manipula con facilidad y rapidez las fórmulas y expresiones algebraicas yrealiza la mayoría de las operaciones: desarrollar, factorizar y simplificarpolinomios o expresiones racionales; encontrar soluciones de ecuaciones ysistemas de ecuaciones, evaluar derivadas e integrales simbólicamente, encontrarsoluciones de ecuaciones diferenciales, manipular series de potencias, límites y

muchas otras facetas de las Matemáticas Aplicadas.Las funciones más usuales para transformaciones algebraicas las encuentras

en una de las paletas. Para acceder a ellas sigue los siguientes pasos:

En el Menú Principal de Mathematica ve a File y busca Palettes . Entre las quese ofrecen, en la primera que corresponde a AlgebraicManipulation , encontrarás laque corresponden a estas funciones. Úsala para hacer los ejercicios siguientes:

Para obtener la simplificación en fracciones simples tenemos el comandoApart . Para saber algo más sobre este u otros comandos puedes ir a la ayuda o

bien teclear:?Apart

y podrás leer una explicación sobre el comando.

INTERFASE DE CUADERNO

utilice un icono o elmenú de

formas gráficas de inicializarMathematica

Inicio comando para inicializarMathematicamathematica

finalizar texto con entrada para Mathematica<Shift>+<Enter>

salir de Mathematicaelegir el ítem salida del

menú

Funcionamiento de Mathematica con una interfase decuaderno.

En una interfase de “cuaderno”, usted interactúa con Mathematica creandodocumentos interactivos.

Si usa su computadora vía una interfase puramente gráfica haremos como decostumbre doble en el icono de inicio de Mathematica. En cambio, si la usa vía unsistema operativo basado en texto digitaremos el comando mathematica parainiciar Mathematica.

Cuando Mathematica inicializa usualmente presenta un cuaderno en blanco.Usted digita la entrada (input), luego presiona (en simultáneo) <Shift>+<Enter>para que Mathematica procese su entrada. <Shift>+<Enter> indica a Mathematicaque usted ha finalizado su entrada. Si su teclado posee teclado numérico puedeusar la tecla <Enter> del mismo en lugar de <Shift>+<Enter>.

Después de ejecutar una entrada en Mathematica desde un cuaderno,Mathematica etiquetará su entrada con In[n ]:=. También etiqueta lacorrespondiente salida

Page 21: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 21/137

19

Out[n]=.

Usted digita 1 + 1, luego finaliza su entrada con <Shift>+<Enter>. Mathematicaprocesa la entrada, luego agrega la etiqueta a la entrada In[1]:=, y devuelve larespectiva salida.

A lo largo de este libro los “diálogos” con Mathematica se mostrarán de lasiguiente manera:

Con una interfase de cuaderno, usted sólo digita 1+1. Mathematica añade laetiqueta In[1]:=, e imprime el resultado.

1 + 1

2

Recuerde que los cuadernos corresponden a la “parte visible” (“front end”) deMathematica. El núcleo de Mathematica que realiza realmente los cálculos puedefuncionar en la misma computadora que el front end, o en otra computadoraconectada vía alguna clase de red o de línea. En la mayoría de los casos, el núcleoincluso no se inicializa hasta que el usuario hace realmente un cálculo conMathematica.

Para salir de Mathematica, usted elige el ítem salida del respectivo menú en lainterfase de cuaderno.

INTERFASE BASADA EN TEXTO

math

comando del sistema operativo

para inicializar Mathematicafinalizar texto con

<Enter> entrada para MathematicaControl-D, Control-Z ó salir de MathematicaQuit[]

Funcionamiento de Mathematica con una interfase basada en Texto.

Con una interfase basada en texto, usted interactúa con su computadoradigitando texto en el teclado.

Para inicializar Mathematica con una interfase basada en texto, se digita elcomando math en el prompt del sistema operativo. En algunos sistemas, también

Page 22: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 22/137

2.3. Cálculo simbólico con mathematica 20

es posible inicializar Mathematica con una interfase basada en texto haciendodoble clic en el icono del núcleo de Mathematica.

Cuando Mathematica ha inicializado, imprimirá el prompt In[1]:=, estosignifica que esta lista para que usted haga su entrada. Puede entonces digitar suentrada, terminándola con <Enter>.

Mathematica procesa la entrada, y genera un resultado, el mismo queetiquetará con Out[1]=.

A lo largo de este libro los “diálogos” con Mathematica se mostrarán de lasiguiente manera:

La computadora imprime In[1]:=. Usted sólo digita 1+1. La línea que empiezacon Out[1]= es el resultado de Mathematica.

1 + 1

2

Observe que usted no digita explícitamente el prompt In[1]:=; sólo digita eltexto que sigue después de este aviso.

Observe también que la mayor parte de los diálogos dados en el libromuestran salidas en la forma que usted obtendría con una interfase de cuadernode Mathematica; la salida con una interfase basada en texto luce similar, perocarece de características tales como caracteres especiales y cambio de tamaño defuente.

Para salir de Mathematica, digite Control-D, Control-Z ó Quit[ ] en el promptde la entrada.

Page 23: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 23/137

21

CAPÍTULO 3

CÁLCULOS NUMÉRICOS

3.1. ARITMÉTICA

Usted puede hacer aritmética con Mathematica tal y como lo haría con unacalculadora.

Aquí tenemos la suma de dos números.

5.6 + 3.7

9.3

Con * indicamos el producto de dos números.

5.6 * 3.7

20.72

Usted puede digitar operaciones aritméticas haciendo uso de los paréntesis.

(2 + 3) ^ 3 – 4 (6 + 7)

73Los espacios no son necesarios, aunque a menudo hacen su entrada más fácil

de leer.(2+3)^3–4(6+7)

73

Las operaciones aritméticas en Mathematica se agrupan de acuerdo con lasconvenciones estándares de la matemática. Como es usual, 2+3/7, por ejemplo,significa 2+(3/7), y no (2+3)/7. Usted puede controlar siempre la forma de agrupar

explícitamente usando paréntesis.Este resultado se da en notación científica.

3.7 ^ 36

2.85274x1020

Usted puede incorporar números en notación científica de esta forma.

4.6 10^45

4.6x1045

Page 24: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 24/137

3.2. Resultados exactos y aproximados 22

O de esta otra forma.

4.6*^45

4.6x1045

3.2. RESULTADOS EXACTOS Y APROXIMADOS

Una calculadora electrónica hace todos sus cálculos con una precisióndeterminada, digamos de diez dígitos decimales. Con Mathematica, en cambio,usted puede obtener resultados exactos.

Mathematica da un resultado exacto para 2300 , a pesar que éste tiene 91dígitos decimales.

2^300

2037035976334486086268445688409378161051468393665936250636140449354381299763336706183397376

Usted puede pedir a Mathematica que devuelva un resultado aproximado, talcomo lo daría una calculadora, para ello debe finalizar su entrada con //N.

Esto da un resultado numérico aproximado.

2^300//N

2.03704×1090

Mathematica puede dar resultados en términos de números racionales.

1/3 + 2/713

21

//N siempre da un resultado numérico aproximado.

1/3 + 2/7//N

0.619048

exp //N da un valor numérico aproximado para exp

Page 25: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 25/137

23

Obteniendo aproximaciones numéricas.

Cuando usted digita un entero como 7, Mathematica asume que es exacto. Siusted digita un número como 4.5, con un punto decimal explícito, Mathematicaasume que desea efectuar cálculo numéricos aproximados.

Cuando usted digita un número con un punto decimal explícito, Mathematicaproduce un resultado numérico aproximado.

26.7/78

0.342308

Aquí otra vez, la presencia del punto decimal hace que Mathematica dé unresultado numérico aproximado.

26./78

0.333333

Cuando cualquier número en una expresión aritmética es digitado con unpunto decimal explícito, usted obtiene un resultado numérico aproximado paratoda la expresión.

5. + 9 / 78 - 5/8

4.49038

3.3. ALGUNAS FUNCIONES MATEMÁTICAS

Mathematica incluye una gran colección de funciones matemáticas. Acontinuación mencionamos las más comunes.

Page 26: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 26/137

3.4. Algunas funciones matemáticas 24

Los argumentos de todas las funciones en Mathematica se colocan entrecorchetes.

Los nombres de las funciones incorporadas en Mathematica empiezan conletra mayúscula.

Dos puntos importantes acerca de funciones en Mathematica.

Es importante recordar que todos los argumentos de funciones se colocanentre corchetes, no entre paréntesis. Los paréntesis en

Mathematica se usan solamente para indicar agrupación de términos, y jamáspara encerrar argumentos de funciones.

Esto da loge (15.7) . Note la letra mayúscula para Log, y los corchetes para elargumento.

Note que todos los nombres de las constantes incorporadas en Mathematicaempiezan con mayúscula.

Este es el valor numérico de π 2 .

Pi^2//N

9.8696

Esto devuelve un resultado exacto para sen( π /2).Note que los argumentos delas función trigonométricas siempre se dan en radianes.

Sin[Pi/2]

1

Esto devuelve el valor numérico de sen(20°). Multiplicando por la constanteDegree convertimos el argumento a radianes.

Sin[20 Degree]//N

0.34202

Log[x] devuelve el logaritmo de x en base e.

Log[E^15]

15

Usted puede obtener logaritmos en cualquier base b usando Log[x]. Como unanotación estándar de Mathematica la b es opcional.

Log[3,81]

4

Page 27: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 27/137

25

3.4. CÁLCULOS CON PRECISIÓN ARBITRARIA

Cuando usted utiliza //N para obtener un resultado numérico, Mathematicahace que lo que haría una calculadora estándar: devuelve el resultado con unnúmero fijo de cifras significativas. No obstante, usted puede indicarle aMathematica las cifras significativas con las que desea operar. Esto permiteobtener resultados numéricos en Mathematica con cualquier grado de precisión.

exp //N o N[exp] valor numérico aproximado para exp N[exp, n] valornumérico de exp calculado con n dígitos de precisión

Esto devuelve el valor numérico de π con un número fijo de cifrassignificativas. Digitar N[Pi] es equivalente a Pi//N.

N[Pi]

3.14159

Esto devuelve π con 50 dígitos.

N[Pi, 50]

3.1415926535897932384626433832795028841971693993751

Al realizar cualquier tipo de cálculo numérico puede introducir pequeñoserrores de redondeo en sus resultados. Cuando se aumenta la precisión numéricaestos errores se hacen más pequeños. Asegurarse que usted obtiene la mismarespuesta al aumentar la precisión numérica es a menudo una buena forma de

verificar los resultados.La cantidad e π 163 esta bastante próxima a ser entera. Para verificar que el

resultado no es, de hecho, un entero, usted tiene que usar la precisión numéricasuficiente.

N[Exp[Pi Sqrt[163]], 40]

2.625374126407687439999999999992500725972×1017

3.5. NOTACIONES MATEMÁTICAS EN CUADERNOS

Si usa una interfase basado en texto con Mathematica, entonces las entradasque usted vaya a hacer consistirán solamente en caracteres que digitedirectamente con su teclado. Pero si usa una interfase de cuaderno entonces esposible que realice otro tipo de entradas.

Usualmente se incorporan paletas las cuales operan como extensiones de suteclado, y poseen botones sobre los que usted puede hacer clic para ingresaralguna forma en particular. Puede acceder a las paleta estándares usando elsubmenú

Pelettes del menú File.

Page 28: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 28/137

Haciendo clic en el botón π de esta paleta ingresará pi en su cuaderno.

Haciendo clic en el primer botón una estructura en blanco par ingresar unapotencia. Usted puede usar el mouse para rellenar esta estructura o desplazarseen ella con la tecla <Tab>.

Page 29: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 29/137

4. Cálculos 26

CAPÍTULO 4

CÁLCULOS

4.1. USO DE RESULTADOS PREVIOS

Al realizar cálculos, muchas veces usted necesita usar resultados previamenteobtenidos. En Mathematica, % siempre hace referencia al último resultado.

Si utiliza una interfase basada en texto en Mathematica, entonces las líneassucesivas de entradas y salidas aparecerán siempre en orden, como se muestra eneste ítem. Sin embargo, si utiliza una interfase de cuaderno, entonces varias líneassucesivas de entradas y salidas no necesariamente aparecen en orden. Ustedpuede por ejemplo “volver atrás” e insertar el cálculo siguiente dondequiera quedesee en el cuaderno. Tenga en cuenta que % siempre invoca el último resultadoque Mathematica generó. Éste puede o no ser el resultado que apareceinmediatamente encima de su actual posición en el cuaderno. Con una interfase de

cuaderno, la única manera de saber cuándo un resultado particular fue generadoes mirar la etiqueta de Out[n] que tiene. Como usted puede insertar y suprimir entodas partes en un cuaderno, de acuerdo a su necesidad, el ordenamiento de losresultados en el cuaderno, por lo general, no tiene ninguna relación con el ordenen el cual los resultados fueron generados.

4.2. DEFINICIÓN DE VARIABLES

Cuando usted efectúa cálculos extensos, muchas veces es conveniente darnombre a los resultados intermedios. De la misma manera que en las matemáticastradicionales o en otros lenguajes de programación, usted puede hacer estointroduciendo variables nombradas.

Esto inicializa el valor de la variable x con 6.

x = 6

Donde quiera que aparezca x, Mathematica la reemplaza por su valor 6.

x^3 - 25

191

Page 30: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 30/137

27

Esto asigna un nuevo valor para x.

x = 11 + 5

16

pi es inicializada con el valor numérico de π con 20 dígitos de exactitud.

pi = N[Pi, 20]

3.1415926535897932385

Aquí esta el valor de Sqrt[pi].

Sqrt[pi]

1.77245385090551602730

Es muy importante recordar que los valores asignados a las variables sonpermanentes. Una vez que usted ha asignado un valor a una variable en particular,el valor será almacenado hasta que usted lo remueva explícitamente. El valor, claroestá, desaparecerá si usted inicia una nueva sesión con Mathematica.

Olvidarse de las definiciones hechas es la causa más común de errores al usarMathematica. Si usted pusiera x = 5, Mathematica asume que usted siempre quiereque x tenga el valor 5, hasta o a menos que usted e indique explícitamente otracosa. Para evitar los errores, usted debe quitar los valores definidos en cuantohaya terminado de usarlos.

Quite valores que asigne a las variables en cuanto termine de usarlos.

Las variables que usted define pueden tener cualquier nombre. No hay límitepar longitud de sus nombres. Un inconveniente, sin embargo, es que los nombresde las variables nunca pueden empezar con números. Por ejemplo, x3 puede seruna variable, pero 2x significa 2*x.

Mathematica usa letras minúsculas y mayúsculas. Hay una convención paralos objetos incorporados en Mathematica, los nombres de todos ellos empiezancon letra mayúscula. Para evitar alguna confusión, usted siempre debe escogernombres que empiecen con letra minúscula.

4.3. CONSTRUCCIÓN DE LISTAS

Al realizar cálculos, a veces es conveniente agrupar ciertos objetos, y tratarloscomo una sola entidad. Las listas proporcionan una manera de coleccionar objetosen Mathematica. Como veremos después las listas son muy importantes en

Mathematica.

Page 31: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 31/137

4.3. Construcción de listas 28

Una lista como {4,7,6} es una colección de tres objetos. Pero en muchos casosusted puede tratar esta lista como un solo objeto. Usted puede, por ejemplo, haceraritmética con esta lista o asignarla a una variable.

Aquí hay una lista de tres números.

{4, 7, 6}

{4, 7, 6}

Esto eleva al cubo cada número de la lista, y le resta 2.

{4, 7, 6}^3 - 2

{62, 341, 214}

Esto toma la diferencia entre los correspondientes elementos de las dos listas.Las listas deben ser de la misma longitud.

{9.5, 8, 7} - {3, 4, 2.3}

{6.5, 4, 4.7}

El valor de % es el de la lista

%

{6.5, 4, 4.7}

Usted puede aplicar cualquier función matemática a la lista.

%//N

{665.142, 54.5982, 109.947}

Esto asigna una lista en la variable u.

u = {5, 3, 8.2}

{5, 3, 8.2}

4.4. Manipulación de los elementos de una lista

Muchas de las más potentes operaciones de manipulación de listas enMathematica tratan a las listas como un solo objeto. A veces, sin embargo, extraerun conjunto individual de elementos de una lista.

Usted puede referirse a un elemento de una lista en Mathematica mediante su“índice”. Los elementos son numerados en orden, empezando en 1.

Page 32: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 32/137

29

Operaciones con elementos de una lista.

Esto extrae el tercer elemento de la lista.

{4, -1, 8, -6}[[3]]

Esto extrae una lista de elementos.

{4, -1, 8, -6}[[ {2, 3, 1, 2, 3, 4, 1} ]]

{-1, 8, 4, -1, 8, -6, 4}

Esto asigna una lista en la variable u.

u = {7, 2, 4, 6}

{7, 2, 4, 6}

Usted puede extraer elementos de u.

u[[3]]

4

Aquí hay una lista.

u = {2, 1, 5, 7}

{2, 1, 5, 7}

Esto resetea el segundo elemento de la lista.

u[[2]] = 0

0

Ahora la lista asignada a u se ha modificado.

u

{2, 0, 5, 7}

Page 33: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 33/137

4. 5. Secuencia de operaciones 30

4.4. SECUENCIA DE OPERACIONES

Al realizar cálculos con Mathematica, usted usualmente lo hace mediante una

secuencia de pasos. Si usted desea puede realizar cada paso en una línea separada.A veces, sin embargo, es conveniente ingresar varios pasos en una misma línea.Usted puede hacer esto simplemente separando cada una de las partes ingresadascon punto y coma.

Esto realiza tres operaciones en una misma línea. El resultado corresponde ala última operación.

x = 3; y = 7; z = y - 2

5

Page 34: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 34/137

31

CAPÍTULO 5

USO DEL SISTEMA MATHEMATICA

Un aspecto importante de Mathematica es que no solamente puedeinteractuar con usuarios humanos sino que también puede hacerlo con otrosprogramas. Esto se logra principalmente a través del MathLink, el cual es unprotocolo estandarizado para la comunicación bidireccional entre programasexternos y el núcleo de Mathematica.

Un fragmento de código C que se comunica vía MathLink con el kernel deMathematica.

5.1. CUADERNOS COMO DOCUMENTOS

Los cuadernos de Mathematica le permiten crear documentos que puedenverse interactivamente en la pantalla o imprimirse en papel.

Particularmente, en los cuadernos extensos, es común tener los capítulos,secciones etc., representados cada uno en grupos de celdas. La extensión de estosgrupos de celdas es indicada por el corchete que aparece a la derecha.

La agrupación de celdas en un cuaderno se indica con los corchetes anidadosque aparecen en el lado derecho.

Page 35: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 35/137

5. 1. Cuadernos como documentos 32

Un grupo de celdas puede estar abierto o cerrado. Cuando está abierto ustedpuede ver todas sus celdas explícitamente. Pero cuando está cerrado, usted sólopuede ver la celda que encabeza el grupo de celdas.

Los cuadernos extensos son a menudo distribuidos con muchos grupos deceldas cerradas, para que cuando usted vea por primera vez el cuaderno apreciesolamente una lista de su contenido. Usted puede abrir las partes en las que estéinteresado haciendo doble clic sobre el corchete apropiado.

Haciendo doble clic sobre el corchete que abarca un grupo de celdas cerramosel grupo, dejando sólo la primera celda visible.

Cuando el grupo está cerrado, el corchete que le corresponde tiene una flechaen la parte inferior. Haciendo doble clic sobre esta flecha abrimos nuevamente elgrupo.

A cada celda dentro de un cuaderno se le asigna un estilo en particular queindica su rol dentro del cuaderno. Así, por ejemplo, el material entendido comoentrada para ser ejecutado por el núcleo de Mathematica está típicamente el estilode Input (entrada), mientras que el que se entiende para ser leído como puramentede texto está típicamente en estilo Text (texto).

La interfase de Mathematica provee menús y métodos abreviados de teclaspara crear celdas con diferentes estilos, y para cambiar estilos en las celdas

existentes.

Page 36: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 36/137

33

Esto muestra celdas en diferentes estilos. Los estilos no sólo definen elformato del contenido de las celdas, sino que también su ubicación y espaciado.

Poniendo una celda en un estilo en particular, usted especifica una colecciónentera de propiedades para celda, incluyendo por ejemplo el tamaño y la fuentedel texto que se digitará.

La interfase de Mathematica permite modificar tales propiedades, bien seapara las celdas completas o para material específico dentro de las celdas.

Incluso dentro de una celda con un estilo en particular, la interfase deMathematica permite modificar una amplia gama de propiedades en formaseparada.

Vale mencionar que al hacer diversas clases de cosas con los cuadernos deMathematica, usted está utilizando diversas partes del sistema de Mathematica.

Las operaciones tales como apertura y cierre de grupos de celdas, realización deanimaciones y reproducción de sonidos utilizan solamente una parte pequeña delfront end de Mathematica, y estas operaciones tranquilamente se pueden realizarcon un programa fácilmente disponible conocido como MathReader.

Para poder crear y corregir los cuadernos, usted necesita más que el front endde Mathematica. Y finalmente, para poder actualizar los cálculos dentro de uncuaderno de Mathematica, necesita un sistema completo de Mathematica, quecontenga el front end y el núcleo.

Programas requeridos para diversas clases de operaciones en los cuadernos.

Page 37: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 37/137

5. 2. Elementos activos en cuadernos 34

5.2. ELEMENTOS ACTIVOS EN CUADERNOS

Una de las características más potentes de los cuadernos de Mathematica esque sus acciones pueden ser programadas. Así, por ejemplo, usted puedeestablecer un botón en un cuaderno de Mathematica que permita realizar variasoperaciones siempre que usted haga clic sobre él.

He aquí un cuaderno que contiene un botón.

Haciendo clic en el botón conseguimos que se muestre la fecha actual.

Siempre que una celda se indique como activa, al hacer clic en los elementosactivos dentro ella se producirá las acciones que han sido programadas para queestos elementos realicen.

Es común inicializar paletas que consisten en una serie de botones. A vecestales paletas aparecen como celdas dentro de un cuaderno. Aunque a menudo, seusa un cuaderno especial que aparece como ventana, que se puede ponerconvenientemente en algún lado de la pantalla de su computadora y utilizar

conjuntamente con cualquier otro cuaderno.Las paletas que consisten en una serie de botones a menudo son colocadas en

cuadernos separados.

En los casos más simples, los botones en las paletas sirven como teclas

adicionales a su teclado. Así, cuando usted presiona un botón, el carácter o elobjeto mostrado en aquel botón es insertado en su cuaderno tal como si usted lohubiera escrito a máquina.

Aquí está una paleta de letras griegas con botones que actúan como teclasadicionales a su teclado.

Page 38: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 38/137

35

A menudo, sin embargo, un botón puede contener un placeholder indicadopor . Esto significa que cuando usted presiona el botón, lo que se seleccionaactualmente en su cuaderno será insertado en la posición del placeholder.

Estos botones contienen placeholders indicados por .

Este es un cuaderno con una expresión seleccionada.

Al presionar el botón superior izquierdo de la última paleta la expresiónseleccionada queda envuelta en una raíz cuadrada.

A veces los botones que contienen placeholders serán programadossimplemente para insertar una cierta expresión en su cuaderno. Pero más amenudo, serán programados para evaluar el resultado, enviándolo como unaentrada al núcleo de Mathematica.

Estos botones se inicializan para realizar operaciones.

He aquí un cuaderno con una expresión seleccionada.

Al presionar el botón superior en la última paleta la expresión seleccionada essimplificada.

Hay algunas situaciones en las cuales es conveniente tener varios placeholdersen un solo botón. Su actual selección se inserta en la posición del primerplaceholder, indicada por . Los placeholder adicionales se indican por , y ustedpuede trasladarse a través de los placeholders sucesivos usando la tecla <Tab>.

He aquí una paleta que contiene botones con varios placeholders.

Page 39: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 39/137

5. 2. Elementos activos en cuadernos 36

He aquí una expresión en un cuaderno.

Presionando el botón superior izquierdo en la última paleta insertamos laexpresión en el lugar de .

Usted puede trasladarse a los otros placeholders usando la tecla <Tab>, yentonces los corrige para insertar lo que usted desea.

5.3. PAQUETES EN MATHEMATICA

Una de las características más importantes de Mathematica es que es unsistema extensible. Hay una cierta cantidad de funciones incorporadas enMathematica. Pero usando el lenguaje de programación de Mathematica, siemprees posible añadir más funciones.

Para muchos tipos de cálculos, lo incorporado en la versión estándar deMathematica será suficiente. Sin embargo, si usted trabaja en particular en un áreaespecializada, puede encontrarse en la necesidad de utilizar ciertas funciones noincorporadas en Mathematica.

En tales casos, usted podría encontrar un package (paquete) de Mathematicaque contiene las funciones que usted necesita. Los paquetes de Mathematica sonarchivos escritos en el lenguaje de programación de Mathematica . Los mismosconsisten en colecciones de definiciones hechas en Mathematica las cuales seaplican a áreas particulares.

<< paquete lee un paquete de Mathematica

Si usted quiere usar las funciones de un paquete en particular, primero debeleer el paquete en Mathematica. Hay varias convenciones que gobiernan los

nombres que usted usará para referirse a los paquetes.Este comando lee un paquete en particular de Mathematica.

<<LinearAlgebra`Orthogonalization`

La función GramSchmidt está definida en el paquete.

GramSchmidt[{{1, 2}, {-7, 0}}]

Hay varias sutilezas asociadas a estas cosas como los conflictos entre losnombres de las funciones en los diferentes paquetes. Un punto importante que no

Page 40: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 40/137

5. 3. Paquetes en Mathematica 37

debe olvidar es que usted no debe referirse a una función que leerá desde unpaquete antes de leerla realmente en el paquete. Si usted hace esto porequivocación, deberá ejecutar el comando Remove[“name”] para librarse de ladefinición de la función que usted hizo antes de leer el paquete. Si usted no usaRemove, Mathematica usará “su” versión de la función, en lugar de la del paquete.

El hecho de que Mathematica pueda extenderse usando paquetes significa quelas “partes de Mathematica” son ilimitadas. En lo que al uso concierne, no hay enrealidad ninguna diferencia entre las funciones definidas en paquetes y lasfunciones incorporadas en Mathematica.

De hecho, un número determinado de las funciones descritas en este libro seejecutan como paquetes de Mathematica. Sin embargo, en la mayoría de lossistemas de Mathematica, se han cargado los paquetes necesarios, de modo quelas funciones que ellos definen estén siempre presentes.

Usted puede utilizar el Help Browser para obtener información sobre lospaquetes estándares de Mathematica. Para ello seleccione la tarjeta Add-ons & Links del mismo.

5.4. INTERRUPCIÓN DE CÁLCULOS

Probablemente habrá veces en que desee detener Mathematica en medio de uncálculo. Tal vez usted se da cuenta que pidió a Mathematica hacer un cálculoincorrecto. O quizás el cálculo tarda demasiado, y usted quiere saber que es lo quepasa.

La forma en que usted interrumpe un cálculo en Mathematica depende de quéclase de interfase está utilizando.

<Alt>+<,> interfase de cuaderno <Control>+<c> interfase basada en texto

Combinaciones de teclas para interrumpir cálculos en Mathematica.

En algunos sistemas informáticos, puede tomar a Mathematica un ciertotiempo para responder a su interrupción. Cuando Mathematica responde, le daráun menú de cosas posibles para hacer.

Page 41: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 41/137

38

CAPÍTULO 6

CÁLCULOS ALGEBRAICOS

6.1. CÁLCULO SIMBÓLICO

Una de las características importantes de Mathematica es que puede hacercálculos simbólicos y numéricos. Esto significa que puede manejar fórmulasalgebraicas así como números.

He aquí un típico cálculo numérico.

4 + 36 - 1

39

Este es un cálculo simbólico.

7 x – 3 x + 6

6 + 4x

Cálculo numérico 4 + 36 - 1 39Cálculo simbólico 7x - 3x + 6 6 + 4x

Usted puede digitar cualquier expresión algebraica en Mathematica.

-1 + 2 x + x^3

-1 + 2x + x3

Mathematica realiza automáticamente simplificaciones algebraicas básicas.Aquí combina a x 2 y a 4x 2 para dar 3x2 .

x^2 + x - 4x^2 x – 3x2Puede utilizar espacios para denotar la multiplicación. Tenga cuidado de no

olvidarse del espacio en x y . Si usted digita xy sin espacio, Mathematica

interpretará esto como solo símbolo, con el nombre xy, no como un producto dedos símbolos x y y.

Mathematica reordena y combina términos usando las reglas estándares delálgebra.

x y + 2 x^2 y + y^2 x^2 - 2 y x

-xy + 2x2y + x2y2

He aquí otra expresión algebraica.

(x + 2 y + 1)(x - 2)^2

(-2 + x)2(1 + x + 2y)

Page 42: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 42/137

6. Cálculos algebraicos 39

La función Expand amplía productos y potencias.

Expand[%]

4 – 3x2 + x3 + 8y – 8xy + 2x2y

Factor hace lo inverso de Expand.

Factor[%]

4 – 3x2 + x3 + 8y – 8xy + 2x2y

6.2. VALORES PARA SÍMBOLOS

Cuando Mathematica transforma una expresión por ejemplo x + x en 2x, estátratando la variable x en forma puramente simbólica o formal. En tales casos, x esun símbolo que puede representar cualquier expresión.

A menudo, sin embargo, usted necesita sustituir un símbolo como x por un“valor” determinado. Algunas veces este valor será un número; aunquefrecuentemente será una expresión.

Para sustituir el símbolo x, que aparece en la expresión 1 + 2 x, con un valordeterminado; puede crear una regla de la transformación en Mathematica, ydespués aplicar esta regla a la expresión. Para sustituir x por el valor 3, ustedcrearía la regla de transformación x->3. Debe digitar -> como un par de caracteres,

sin espacio entre ellos. Puede interpretar x->3 como una regla en la cual “x serásustituido por 3”.

Para aplicar una regla de transformación a una expresión particular deMathematica, usted digita expr/.regla. El “operador de reemplazo” /. se digitacomo un par de caracteres, sin espacio entre ellos.

Esto utiliza la regla de transformación x->3 en la expresión 1 + 2 x .

1 + 2x /. x -> 3

7

6.3. LAS LIMITACIONES DE MATHEMATICA

En sólo un comando de Mathematica, usted puede especificar fácilmente uncálculo que sea demasiado complicado de hacer para cualquier ordenador. Porejemplo, usted podría pedir Expand[(1+x)^(10^100)]. El resultado de este cálculotendría más términos que el número total de partículas en el universo.

Usted no tendría ningún problema para resolver Expand[(1+x)^100] encualquier ordenador que pueda utilizar Mathematica. Pero cuando usted aumentael exponente de (1+x), los resultados que consigue tarde o temprano se harándemasiado grandes de almacenar para la memoria de su ordenador. Exactamenteen qué punto sucede esto depende no solamente de la cantidad total de memoria

Page 43: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 43/137

40

que su computadora tiene, sino a menudo también de detalles tales como quéotros trabajos esta realizando su computadora cuando usted intenta hacer sucálculo.

Si su ordenador realmente se queda sin memoria en medio de un cálculo, lamayor parte de versiones de Mathematica no tienen ninguna otra opción, más quepararse inmediatamente. Por consiguiente, es importante planificar sus cálculos demodo que ellos nunca necesiten más memoria de la que su ordenador tiene.

Incluso si el resultado de un cálculo algebraico es absolutamente simple, lasexpresiones intermedias que usted genera en el curso del cálculo pueden ser muycomplicadas. Esto significa que incluso si el resultado final es pequeño, las partesintermedias de un cálculo pueden ser demasiado grandes de manejar para suordenador. Si esto sucede, puede particionar su cálculo, y resolver exitosamentecada parte del mismo. Usted debe saber que el esquema interno que Mathematicausa para direccionar la memoria es tal que cuando la parte de un cálculo esterminada, la memoria que se usaba para almacenar las expresiones intermediasque surgen inmediatamente es hecha disponible para nuevas expresiones.

El espacio de memoria es el factor restrictivo más común en los cálculos conMathematica. El tiempo también, sin embargo, puede ser un factor restrictivo.Usted por lo general esta preparado para esperar un segundo, o aún un minuto,para obtener el resultado de un cálculo. Pero no lo esta para esperar una hora o undía, y casi nunca será capaz de esperar un año.

El código interno de Mathematica usa algoritmos sumamente eficientes yoptimizados. Pero hay algunas tareas para las cuales los mejores algoritmosconocidos siempre tarde o temprano toman una gran cantidad de tiempo. Unacuestión típica es que el tiempo requerido por el algoritmo puede aumentar casiexponencialmente con el tamaño de la entrada. Un caso clásico es la factorizaciónde números enteros–donde los mejores algoritmos conocidos requieren tiemposque crecen casi de manera exponencial con el número de dígitos. En la práctica,usted encontrará que FactorInteger[k] dará un resultado casi inmediato cuándo ktiene menos de aproximadamente 40 dígitos. Pero si k tiene 60 dígitos,FactorInteger[k] puede comenzar a tomar un tiempo inmanejablemente largo.

En algunos casos, hay mejora progresiva de los algoritmos que se conocen, demodo que las versiones sucesivas de Mathematica puedan realizar cálculosparticulares cada vez más rápidos. Pero las ideas de la teoría de cómputo sugierenque muchos cómputos siempre requerirán una cantidad irreducible de trabajo

computacional–de modo que ningún algoritmo más rápido sea encontrado algunavez para ellos.

Hacer aritmética con los números que contienen algunos cientos millones dedígitos.

Generar un millón de dígitos de números como π y e .

Expandir un polinomio que da un millón de términos.

Factorizar un polinomio en cuatro variables con unos cien mil términos.Reducir un sistema de desigualdades cuadráticas para unos miles de componentesindependientes.

Encontrar las raíces enteras de un polinomio con grado un millón. Aplicaciónde una regla recurrente un millón de veces.

Page 44: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 44/137

6. Las limitaciones de Mathematica 41

Cálculo de todos los primos hasta diez millones.

Encontrar la inversa numérica de una matriz de 1000x1000.

Solución de un sistema lineal de un millón de variables con cien milcoeficientes no ceros.

Encontrar el determinante de una matriz entera de 250x250. Encontrar eldeterminante de una matriz simbólica de 20x20.

Encontrar las raíces numéricas de un polinomio de grado 200.

Solución de un problema de programación lineal con cien mil variables.Encontrar la trasformada de Fourier de una lista con cien millones de elementos.

Representación de millón de gráficos primitivos. Clasificar una lista de diezmillones de elementos.

Buscar una cadena que tiene diez millones de caracteres. Importación de unosdiez megabytes de datos numéricos.

Formatear unas cien de páginas con salida TraditionalForm.

Algunas operaciones que típicamente toman algunos segundos en una PC2004.

Page 45: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 45/137

42

CAPÍTULO 7

MATEMÁTICAS SIMBÓLICAS

7.1. Operaciones básicas

La capacidad de Mathematica de tratar con expresiones simbólicas, así comonúmeros, le permite usarlo para muchas clases de matemáticas.

El cálculo es un ejemplo. Con Mathematica, usted puede diferenciar unaexpresión simbólicamente, y conseguir una fórmula para el resultado.

Esto encuentra la derivada de xn .

D[ x^n, x ]

He aquí un ejemplo ligeramente más complicado.

D[x^2 Log[x + a], x]

Obtener fórmulas como resultado de cómputos es generalmente deseablecuando es posible. Hay sin embargo muchas circunstancias donde esmatemáticamente imposible conseguir una fórmula explícita como resultado de uncómputo. Esto sucede, por ejemplo, cuando intenta solucionar una ecuación parala cual no hay solución de “forma cerrada”. En tales casos, debe recurrir a métodosy aproximaciones numéricas.

7.2. DIFERENCIACIÓN

He aquí la derivada xn con respecto a x .

D[ x^n, x ]

Mathematica conoce las derivadas de todas las funciones matemáticasestándar.

D[ ArcTan[x], x ]

La tercera derivada con respecto a x .

D[ x^n, {x, 3} ]

La función D[x^n,x] realmente da la derivada parcial, en la cual se asume quen no depende x. Mathematica tiene otra función, llamada Dt, que encuentra

Page 46: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 46/137

7.2. Diferenciación 43

derivadas totales, en la cual todas las derivadas se asumen relacionadas. Ennotación matemática, D[f,x] es como ∂∂ fx , mientras Dt[f,x] es como dfdx . Puedeentenderse Dt como la “derivada total”.

Dt da una derivada total, asumiendo que n puede depender de x.

Dt[ x^n, x ]

Así como trata variables simbólicamente, usted también puede tratarfunciones simbólicamente en Mathematica. Así, por ejemplo, puede encontrarfórmulas para las derivadas de f[x], sin especificar una forma explícita para lafunción f.

Mathematica no sabe como diferenciar f, así que le devuelve un resultadosimbólico en términos de f'.

D[ f[x], x ]

Mathematica utiliza la regla de cadena para simplificar derivadas.

D[ 2 x f[x^2], x ]

7.3. INTEGRACIÓN

He aquí la integral ∫ xn dx en Mathematica.

Integrate[x^n, x]

Mathematica sabe resolver casi cualquier integral que puede ser expresada entérminos de funciones matemáticas estándares. Pero debe comprender que auncuando un integrando pueda contener sólo funciones simples, su integral puedeimplicar funciones mucho más complicadas–o no puede ser expresable enabsoluto en términos de funciones matemáticas estándares.

He aquí una integral simple.

Integrate[Log[1 - x^2], x ]

Esta integral puede ser expresada sólo en términos de una función dedilogarítmica.

Integrate[Log[1 - x^2]/x, x]

Esta integral involucra Erf.

Integrate[Exp[1 - x^2], x]

Page 47: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 47/137

44

Y esta otra involucra una función de Fresnel.

Integrate[Sin[x^2], x]

Esta integral incluso requiere una función hipergeométrica.

Integrate[(1 - x^2)^n, x]

7.4. SUMAS Y PRODUCTOS

Esto construye la suma ∑7 xi .i

Sum[x^i/i, {i, 1, 7}]

Los productos se obtienen en forma similar a las sumas.

Product[x + i, {i, 1, 4}]

Sum[x^i y^j, {i, 1, 3}, {j, 1, i}]

La forma en que se especifica los rangos de las variables en Sum y Product esun ejemplo algo general de la notación de iteradores que Mathematica utiliza.Usted verá esta notación otra vez cuando discutamos la generación de tablas ylistas usando Table y cuando describamos los lazos Do .

Page 48: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 48/137

7.4. Sumas y Productos 45

{imax}iterador imax sin incrementar

variable alguna{i,imax} i varía de 1 a imax en pasos de 1

{i,imin,imax}i varía de imin a imax en pasos de

1

{i,imin,imax,di}i varía de imin a imax en pasos de

di{i,imin,imax}, i varía de imin a imax, y para cada valor, j varía{j,jmin,jmax},... de jmin a jmax, etc.

Notación de iteradores en Mathematica.

7.5. ECUACIONESEsta sección habla de ecuaciones, que prueban una igualdad. La ecuación x ==

y , prueba si x es igual a y.

Esto prueba si 2 + 2 y 4 son iguales. El resultado es el símbolo True.

2 + 2 == 4

True

Es muy importante que usted no confunda x = y con x == y . Mientras que x =

y es una declaración imperativa que en realidad origina una asignación, x == ysimplemente prueba si x y y son iguales, y no causa ninguna acción explícita.

x=y asigna el valor de y a x x==y prueba si x e y son iguales

Esto asigna a x el valor 4.

x = 4

4

Si pregunta por x, obtiene 4.

x

4

Esto prueba si x es igual a 4. En este caso si es.

x == 4

True

x es igual a 4 no a 6.

Page 49: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 49/137

46

x == 6

False

Esto remueve el valor asignado a x.

x = .

7.5. OPERADORES RELACIONALES Y LÓGICOS

Esto prueba si 10 es menor que 7. El resultado es False.

10 < 7

False

No todos estos números son desiguales, por esta razón se obtiene False.

3 != 2 != 3

False

Puede mezclar < y <=.

3 < 5 <= 6

True

Ya que las cantidades involucradas son numéricas, Mathematica puededeterminar que esto es verdadero.

Pi^E < E^Pi

True

Usted debe recordar que las operaciones lógicas ==, && y || tienen todas doble

Page 50: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 50/137

Page 51: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 51/137

PARTE 2

EJERCICIOS Y PROBLEMAS DE MATEMÁTICAS CON MATHEMATICA

Page 52: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 52/137

Índice Parte 2

1. Primeros pasos 4 1.1. Cálculo simbólico con Mathematica . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.1.1. Polinomios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.1.2. Expresiones trigonométricas . . . . . . . . . . . . . . . . . . . . . . . . . 15

2. Cómo “dibujar” con Mathematica 17 2.1. La orden Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.1.1. Opciones de Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.2. Gráficos en coordenadas paramétricas . . . . . . . . . . . . . . . . . . . . . . . .20

2.2.1. Algunas curvas planas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.3. El comando Show . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.4. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3. Vectores y matrices 24

4. Resolución de ecuaciones 30 4.1. Ecuaciones “sencillas” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4.2. Sistemas de ecuaciones lineales . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.3. Resolución de sistemas de ecuaciones . . . . . . . . . . . . . . . . . . . . . . . 34

4.4. Otros métodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.4.1. Breves conceptos de programación . . . . . . . . . . . . . . . . . . . . . 36

4.4.2. Método de Bisección . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4.4.3. Método de Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . . 40

4.5. El comando FindRoot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5. Extremos de funciones de una variable 44 5.1. Continuidad y límites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

5.2. Máximos y mínimos relativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

6. Fórmula de Taylor 47

Page 53: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 53/137

7. Integración 52 7.1. Integrales definidas e indefinidas . . . . . . . . . . . . . . . . . . . . . . .527.2. Longitudes, áreas y volúmenes . . . . . . . . . . . . . . . . . . . . . . . .547.3. Integrales impropias. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

8. Gráficos en 3D 57 8.1. El comando Plot3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

8.1.1. Opciones del comando Plot3D . . . . . . . . . . . . . . . . . . . . . 588.2. Gráficos de contorno. Curvas de nivel. . . . . . . . . . . . . . . . . . . . 598.3. Gráficos paramétricos. Curvas y superficies. . . . . . . . . . . . . . . . . .60

8.3.1. Superficies de revolución . . . . . . . . . . . . . . . . . . . . . . . 61

9. Extremos relativos y condicionados 65 9.1. Derivadas parciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .659.2. Representación gráfica . . . . . . . . . . . . . . . . . . . . . . . . . . . .66

9.2.1. “Campos” de vectores . . . . . . . . . . . . . . . . . . . . . . . . . 699.3. Extremos relativos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

9.4. Extremos condicionados. . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

10.Integrales múltiples 81

Page 54: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 54/137

CAPÍTULO1

Primeros pasos

Comenzaremos a familiarizarnos con el Mathematica haciendo, al principio, cosas muy simplesque nos ayudarán a conocer los principales comandos y cómo se deben usar.

Para efectuar cálculos numéricos, el programa Mathema- tica funciona como una simple calculadora, con la salvedadde que con el Mathematica puedes obtener una precisiónque no tienen las calculadoras normales.

Una vez que hemos empezado el programa nos encon-tramos delante de una pantalla más o menos como la de

la gura. Arriba tienes la barra de Menú, debajo tienes unaventana vacía que es donde trabajaremos, y a la derecha te-nemos una “paleta” con operaciones que ya iremos comen-tando con más detalle.

Una vez iniciada la ejecución del programa, pulsa con el botón izquierdo del ratón en la ventana principal y escribe: 3+2, y luego pulsa ↑ o Enter enel teclado numérico. Observarás que en la pantalla aparece lo siguiente:

In[1]:=

3+2Out[1]=

5

No intentes escribir los símbolos “In[1]:=” y “Out[1]=”, ya que éstos los escribe el programa parallevar un control sobre las operaciones que va efectuando. No importa si dicho dígito de control nocoincide con el que aparezca en este texto.

A continuación, con el ratón puedes pulsar sobre los números que habías escrito, y cambiarlos,o añadir nuevos sumandos, etc... y recuerda que siempre que quieras obtener el resultado, deberás

Page 55: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 55/137

5

pulsar ↑ . También podrás escribir los siguientes comandos debajo del resultado anterior,con lo que quedará constancia escrita de las operaciones que vas haciendo. Observarás que en lassucesivas operaciones el ordenador responde más rápido que en la primera, ya que al efectuar laprimera operación, el programa debió leer del disco las “reglas de cálculo” (esto es, el kernel delprograma), y dichas reglas permanecen en su memoria a partir de ese momento.

Para multiplicar números no es necesario escribir el símbolo de la multiplicación (opcionalmente“*”), y basta con poner un espacio entre los factores.

In[2]:=

3 2Out[2]=

6

Para efectuar potencias, puedes escribir

In[3]:=

3 85Out[3]=

35917545547686059365808220080151141317043

Ya que lo sabemos hacer directamente, comentemos que la paleta se puedeusar, entre otras cosas, para escribir potencias. Si pulsas en el primer botón de lapaleta te aparecerá en la ventana de comandos lo siguiente:

Puedes teclear directamente la base y, cuando termines, el tabulador te lleva alexponente. Una vez escrito pulsa como siempre ↑ y obtendrás el resultado,algo así:

In[4]:=

23

Out[4]=

8

Puedes hacer operaciones con fracciones, y obtener la fracción resultante...

In[5]:=

2+3/13Out[5]=

2913

Page 56: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 56/137

6 Primeros pasos

(¿Por qué el resultado no ha sido 513 ?) Si lo preeres, puedes aproximar el resultado mediante

unos cuantos dígitos de su expresión decimal:

In[6]:=

N[2+3/13]Out[6]=

2.23077

... y si quieres que el Mathematica calcule 40 dígitos (incluyendo la parte entera)...

In[7]:=

N[2+3/13,40]Out[7]=

2.2307692307692307692307692307692307692308

¿por qué el último dígito del comando anterior fue un 7 y no un 6? y ¿por qué ahora el últimodígito ha sido un 8 y no un 7?

Si quieres, puedes poner dos mil decimales. Haz la prueba.Sigamos probando... para obtener la raíz de un número se usa el comando Sqrt o utilizar la

paleta (observa que la “S” es mayúscula, y el número debe ir entre corchetes):

In[8]:=

Sqrt[5]Out[8]=

√5

... pues vale... y encima es hasta verdad... pero si quieres la expresión decimal con quince dígitos,

In[9]:=

N[Sqrt[5],15]Out[9]=

2.23606797749979

También puedes hacer la raíz cuadrada de un número, elevando dicho número al exponente 12

In[10]:=

5 (1/2)Out[10]=

√5

Page 57: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 57/137

Page 58: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 58/137

8 Primeros pasos

In[15]:=a=20;b=4;a/b

Out[15]=

5

Observa que las líneas de comando que terminan en “punto y coma” no producen ninguna res-puesta del Mathematica . Prueba a quitar (por ejemplo) el punto y coma de la primera línea en elejemplo anterior.

Razona la respuesta que da el Mathematica al siguiente comando:

In[16]:=a=5;b=12;N[Sqrt[a+b],b]

Out[16]=

4.12310562562

Con Mathematica podemos usar el resultadode unaoperación anterior sinnecesidad de teclearlo.Esto se consigue con la orden %. Si queremos el resultado de la salida n (Out[n]), podemos obtenerlocon %n. Por ejemplo, si queremos el resultado de la operación número 15,

In[17]:=

%15Out[17]=

5

además podemos usar esa información como cualquier otro dato

In[18]:=

%15 2Out[18]=

25

Para obtener el resultado inmediatamente anterior usamos %sin ningún número,

In[19]:=

%Out[19]=

25

Page 59: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 59/137

9

% %para el penúltimo, etc...Además de las operaciones elementales que hemos visto, Mathematica tiene denidas la mayor

parte de las funciones elementales. Los nombres de estas funciones suelen ser su abreviatura eninglés, que algunas veces diere bastante de su nombre castellano. En general, cualquier comandode Mathematica se escribe con la primera letra en mayúscula. Por ejemplo

In[20]:=

Sqrt[4]Out[20]=

2

Algunos ejemplos de funciones con Mathematica son:

• Función exponencial: Exp[x]

In[21]:=

Exp[2]Out[21]=

E2

(para Mathematica el número e se escribe E) y si queremos su expresión decimal

In[22]:=

N[Exp[2]]Out[22]=

7.38906

Otra forma de calcular la función exponencial aplicada a x es elevando E a x . ¿Podrías calcularasí e5? ¿y su primera cifra decimal? Haz lo mismo usando la función Exp y comprueba que da elmismo resultado.

• Función logaritmo neperiano: Log[x]

In[23]:=

Log[20]Out[23]=

Log[20]

...ya empezamos... Bueno, si lo que nos interesa es su expresión decimal

In[24]:=

N[Log[20]]Out[24]=

2.99573

Page 60: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 60/137

10 Primeros pasos

En Mathematica , si no decimos lo contrario, los logaritmos serán neperianos. Si queremos calcu-lar el logaritmo en base b de x usamos Log[b,x] . Por ejemplo, el logaritmo decimal de 100

In[25]:=

Log[10,100]Out[25]=

2

¿Cuánto valdrá el logaritmo en base 2 de 64? Compruébalo. ¿Cuánto debe valer Log[Exp[7]]? ¿YExp[Log[7]]? Pide aMathematica que los calcule.

• Funciones trigonométricas: Sin[x] , Cos[x] , Tan[x] (seno, coseno, tangente)

In[26]:=

Sin[Pi/4]Out[26]=

1√2

También podemos usar las funciones trigonométricas inversas, esto es, el arcoseno, arcocosenoy arcotangente, que se escriben respectivamente ArcSin[x] , ArcCos[x] y ArcTan[x] . Observa quela cuarta letra de cada comando está en mayúscula; escríbelo así, si no, Mathematica no lo entenderá.

In[27]:=

ArcTan[1]Out[27]=

π 4

Prueba a componer dos o más de todas estas funciones y a hacer cálculos con ellas.

1.1. Cálculo simbólico con Mathematica

Hasta ahora sólo hemos usado el Mathematica como una calculadora muy potente, pero práctica-mente todo lo que hemos aprendido puede hacerse sin dicultad con una calculadora convencional.Entonces, ¿qué puede hacer Mathematica que sea imposible con una calculadora? Bueno, entre otrasmuchas cosas que veremos posteriormente, la principal utilidad de Mathematica es el cálculo sim- bólico, es decir, el trabajar con expresiones algebraicas (expresiones donde intervienen variables,constantes... y no tienen porqué tener un valor numérico concreto) en vez de con números. Porejemplo, el programa sabe que la función Log es inversa de Exp, con lo que si ponemos

Page 61: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 61/137

1.1 Cálculo simbólico con Mathematica 11

In[1]:=

Exp[Log[x]]Out[1]=

x

es decir, sin saber el valor de la variable x el programa es capaz de trabajar simbólicamente conella. Más ejemplos

In[2]:=

Exp[x]Exp[y]Out[2]=

Ex +y

In[3]:=

a+2a+5bOut[3]=

3 a + 5 b

Para Mathematica cualquier letra o combinación de letras puede ser una variable o unaconstante.Hay excepciones como la letra E, que siempre indica el número e y no puede usarse como variable niconstante. Sin embargo, las letras x, y, z... a, b, c, d... pueden usarse sin problemas como nombres deconstantes y variables. ¿Cómo podemos hacer que Mathematica diferencie entre constantes (valor

jo) y variables (valor indeterminado)? Para el programa, si no se le ha asignado un valor a unaletra, ésta será una variable. Si le hemos asignado un valor a una letra, ésta será una constante, esdecir, tendrá siempre un valor concreto. ¿Podemos quitar el valor a una constante? Sí, con la ordenClear[ nombre variable ] . Un ejemplo:

In[4]:=

a=7Out[4]=

7

In[5]:=

a 2

Out[5]=

49

es decir, le damos a la letra a el valor 7 y Mathematica la sustituye siempre por ese valor; en estecaso, a es una constante. Si usamos Clear

Page 62: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 62/137

12 Primeros pasos

In[6]:=

Clear[a]

(observa que esta entrada no produce ninguna salida)

In[7]:=

a 2

Out[7]=

a 2

ahora, a es una variable, esto es, no tiene un valor concreto y Mathematica debe tratarla simbólica-mente. Si queremos que todas las constantes que hayamos denido pierdan su valor concreto (quepasen a ser variables) usaremos Clear["Global *"] (el acento que hay que usar es el que está a laderecha de la p ).

Vamos a practicar con comandos de Mathematica para manejar expresiones algebraicas: polino-mios, funciones racionales, expresiones trigonométricas, ecuaciones...

1.1.1. Polinomios

Si introducimos el siguiente polinomio

In[8]:=

x2 + 2 x + 1Out[8]=

1 + 2 x + x 2

Mathematica no intenta simplicarlo. Si escribimos

In[9]:=

(x+1) 2

Out[9]=

(1+x) 2

Mathematica no desarrolla el cuadrado. Probemos ahora a restar las dos expresiones:

In[10]:=

% % - %Out[10]=

1 + 2 x + x 2 - (1 + x ) 2

Page 63: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 63/137

1.1 Cálculo simbólico con Mathematica 13

Mathematica no se da cuenta de que la expresión vale cero. Esto es porque no factoriza ni desa-rrolla automáticamente, sino que debemos decirle que lo haga. ¿Cómo lo hacemos? Con las órdenesExpand[ expresión ] (desarrollar), Simplify[ expresión ] (simplicar)y Factor[ expresión ] (fac-torizar):

In[11]:=

Expand[(x-2)(x-1)x(x+1)(x+2)]Out[11]=

4 x - 5 x 3 + x5

también con varias variables

In[12]:=

Expand[(2y-x)(-3x+y)(x+y)]Out[12]=

3 x 3 - 4 x 2 y - 5 x y 2 + 2 y 3

In[13]:=

Factor[ %]Out[13]=

( x - 2 y ) ( 3 x - y ) ( x + y )

In[14]:=

Expand[1+2x+x 2 - (1+x) 2]Out[14]=

0

In[15]:=

Factor[1+2x+x 2 - (1+x) 2]Out[15]=

0

La orden Simplify sirve para simplicar una expresión, factorizando o no, según convenga:

Page 64: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 64/137

14 Primeros pasos

In[16]:=

Simplify[1+x 3]Out[16]=

1 + x 3

In[17]:=

Simplify[x 2+2x+1+(1+x) 2]Out[17]=

2(1 + x) 2

Hay veces que la expresión es “demasiado” complicada y Simplify no da ningún resultadopráctico. En este caso se puede intentar usar la orden FullSimplify , pero hay que tener en cuenta

que el tiempo para realizar los cálculos puede aumentar mucho.

In[18]:=

Simplify[ 3 5√13 −18]Out[18]=

(-18 + 5 √13) (1/3)

In[19]:=

FullSimplify[ 3 5√13 −18]Out[19]=

12 (−3 +√13)

El comando Short sirve para ver mejor polinomios muy grandes, mostrando sólo algunos de lostérminos de mayor y menor grado

In[20]:=

Expand[(x+1) 5]Out[20]=

1 + 5 x + 10 x2

+ 1 0 x3

+ 5 x4

+ x5

In[21]:=

Short[ %]Out[21]=

1 + 5 x + «3» + x 5

Page 65: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 65/137

1.1 Cálculo simbólico con Mathematica 15

1.1.2. Expresiones trigonométricas

Mathematica conoce las identidades trigonométricas y puede usarlas para simplicar expresio-nes en las que aparezcan dichas funciones. En lugar de Expand y Factor , utilizaremos las órdenesTrigExpand y TrigFactor . Por ejemplo,

In[22]:=

TrigExpand[Cos[ α +β ]]Out[22]=

Cos[ α ] Cos[ β ]-Sin[ α ] Sin[ β ]

In[23]:=

TrigExpand[Sin[2ArcTan[t]]]Out[23]=

2t1+t 2

In[24]:=TrigExpand[Sin[x+3*y]+Cos[2* z]Sin[x-y]]

Out[24]=

Cos[y] 3 Sin[x] +Cos[y] Cos[z] 2 Sin[x] +3 Cos[x] Cos[y] 2 Sin[y] -Cos[x] Cos[z] 2 Sin[y] -3 Cos[y] Sin[x] Sin[y] 2 -Cos[x] Sin[y] 3 -Cos[y] Sin[x] Sin[z] 2 +Cos[x] Sin[y] Sin[z] 2

In[25]:=

TrigExpand[8 Sin[2*x] 2 Cos[x] 3]Out[25]=

4Cos[x] 3 - 4 Cos[x] 7 +24 Cos[x] 5 Sin[x] 2 -4Cos[x] 3 Sin[x] 4

Page 66: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 66/137

16 Primeros pasos

TrigExpand también trabaja con funciones hiperbólicas:

In[26]:=

TrigExpand[Sinh[2 x] 3]Out[26]=

−32 Cosh[x] Sinh[x] +

32 Cosh[x] 5 Sinh[x] +5 Cosh[x] 3 Sinh[x] 3 +32 Cosh[x] Sinh[x] 5

Page 67: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 67/137

CAPÍTULO2

Cómo “dibujar” con Mathematica

2.1. La orden Plot

Una de las grandes virtudes de Mathematica es lo fácil y completo que es su tratamiento delos grácos para funciones de una y dos variables. Es posible dibujar a la vez varias funciones ypersonalizar el resultado en cuanto a escalas, color, etc. También se pueden representar funcionesen coordenadas paramétricas e incluso se pueden realizar animaciones.

Un primer paso antes de empezar a representar grácamente una función es tener una manera

cómoda de denirla. Siguiendo la costumbre usaremos las letras f , g , . . . para nombrarlas. Paradenir la función sen (x) haremos lo siguiente

In[1]:=

f[x_]=Sin[x]Out[1]=

Sin[x]

Observa que se usan los corchetes para todo y que después de la variable x aparece _. No hayque olvidar este guión después de cada variable cuando estemos deniendo una función .

Una vez denida la función podemos evaluarla en un punto o representarla grácamente.Por ejemplo,

In[2]:=

f[1]Out[2]=

Sin[1]

Page 68: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 68/137

18 Cómo “dibujar” con Mathematica

o si queremos su valor numérico

In[3]:=

N[f[1]]Out[3]=

0.841471

También podemos asignar un valor a la variable x y luego evaluar:

In[4]:=x=0;f[x]

Out[4]=

0

Observa que a la hora de evaluar una función que hayamos denido no se usa el “_”.Pueden surgir problemas al denir una función si la variable que usamos tiene asignado un

valor concreto, con lo que la función sería constante; en este caso, resolvemos el problema con lasentencia Clear que vimos en la practica pasada. Por ejemplo, si queremos denir f(x) = ln(x) ,podemos poner

In[5]:=Clear[x,f];f[x_]=Log[x]

y la función queda bien denida aunque antes hubiésemos asignado un valor a x .Por último, también se pueden denir funciones “a trozos”. Por ejemplo:

f[t_]:= t /; t>0 && t<2f[t_]:= -t+4 /; t<=0 || t>=2

(no produce ninguna salida) dene la función

f(t) =t si 0 < t < 2

−t +4 si t ≤0 ó t ≥2

Como has visto, hace falta escribir := para denir una función a trozos. El símbolo /; hace las vecesde si (condicional); los símbolos || y &&son respectivamente o e y (suma y producto lógicos).

Para representar grácamente una función de una variable, el comando que se utiliza es

Plot[ función ,{ x , x min , x max }, opciones ]

Mathematica decide automáticamente cual es la escala más apropiada para que la gráca se vealo mejor posible. Si la función que pretendemos representar tiene alguna discontinuidad o no estádenida en algún punto, Mathematica intentará dibujarla poniendo de maniesto este hecho. Porejemplo, intenta dibujar la función tangente entre 0 y 4 π :

Page 69: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 69/137

2.1 La orden Plot 19

In[6]:=

Plot[Tan[x],{x,0, 4Pi}]

2 4 6 8 10 12

-30

-20

-10

10

20

30

Out[6]= - Graphics -

Un comentario sobre lo queacabamos de hacer:como se puede ver, podemos escribir directamen-

te la función a representar “dentro” del comando Plot . El inconveniente que tiene hacerlo así es quecada vez que queramos trabajar con esa función tenemos que volver a escribirla, siendo más con-veniente ponerle nombre (p.e. f[x_]=Tan[x] , y usar después el nombre ( Plot[f[x],{x,0,4Pi}] ).

2.1.1. Opciones de Plot

Cuando presentamos el comando Plot dijimos que podíamos poner “opciones”; veamos cuálesson algunas de ellas:

AspectRatio–> número

Determina la proporción entre los ejes de abscisas y ordenadas. Si especicamos el valor 1 los

dos ejes tendrán el mismo tamaño.

In[7]:=

Plot[Tan[x],{x,0,4Pi},AspectRatio->2]

PlotRange–>{ número1,número2 }

Sólo se presentan los valores de f(x) comprendidos entre número1 y número2 . Si no seespeci-ca esta opción aparecen todos los valores posibles de f(x) , en función del rango de variaciónde x .

In[8]:=Plot[Tan[x],{x,0,4Pi},

PlotRange->{2,20}]

PlotStyle

Permite escoger, entre otras cosas, el color de la siguiente forma:RGBColor[ número1 , número2 , número3 ]

Permite escoger un color en función de la cantidad de rojo ( número1 ), verde (número2 ) y azul(número3 ), donde los números pueden tomar cualquier valor entre 0 y 1.

Page 70: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 70/137

20 Cómo “dibujar” con Mathematica

In[9]:=Plot[Tan[x],{x,0,4Pi},

PlotStyle->{RGBColor[1,0,0]}]

Veamos algunos ejemplos de cómo utilizar estas opciones. Prueba las siguientes órdenes, com-para los resultados e intenta variar algunos de los parámetros “a ver que pasa”.

Clear[x,f];f[x_]=Exp[x] ArcTan[x];Plot[f[x],{x,0,5},PlotRange->{-1,30}];

También se pueden dibujar varias grácas de funciones a la vez. Una de las formas de distin-guirlas es dibujando cada una de un color diferente:

Plot[{Sin[x],Cos[x]}, {x,-2 Pi,2 Pi},PlotStyle->{RGBColor[1,0,0],

RGBColor[0,0,1]}];

Nota: si quieres volver a usar los mismos nombres para funciones distintas recuerda “limpiar”los nombres de las variables y las funciones con el comando Clear ; si quieres borrar los valores detodas las variables, usa Clear["Global *"] . Por ejemplo, si quieres volver a usar las letras f y gpara otras dos funciones haz lo siguiente:

Clear[f,g,x];f[x_]=Sin[2 x];g[x_]=Cos[4 x];

Plot[{f[x],g[x]},{x,0,10 Pi},PlotStyle->{RGBColor[1,0,1],RGBColor[0,1,0.5]}];

Prueba lo mismo que hemos hecho con las funciones sen (x) y sen(−x) o con las funcionescos(x) y cos(−x) . ¿Qué función es par y cuál es impar?.

Intenta lo mismo con las siguientes 3 funciones: f(x) = 2−x sen (6x) , g(x) = 2−x y h(x) =−2−x .

2.2. Grácos en coordenadas paramétricas

Como ya recordarás, al menos para rectas, podemos representar una curva del plano en coor-denadas paramétricas, o sea, a partir de las coordenadas (x(t), y(t)) variando t a lo largo de unintervalo.

Para esto tenemos la siguiente orden:

ParametricPlot[{ x(t),y(t) },{ t , min , max }]

junto con las opciones ya conocidas de la orden Plot . Prueba con alguno de los siguientesejemplos:

Page 71: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 71/137

2.2 Grácos en coordenadas paramétricas 21

ParametricPlot[{t,tˆ2},{t,-2,2}]

ParametricPlot[{Cos[t],Sin[t]},{t,0,2 Pi}]

ParametricPlot[{{4 Cos[t],3 Sin[t]},{8 Cos[t],7 Sin[t]}},{t,0,2 Pi}]

ParametricPlot[{Cos[2 t],Sin[2 t]},{t,0,2 Pi}]

¿Hay alguna diferencia entre el segundo y el último de los ejemplos?.

2.2.1. Algunas curvas planas

Astroide el camino recorrido por un punto de un círculo de radio r rodando dentro de otro círculode radio 4 r parametrizado en coordenadas rectangulares es el siguiente:

ParametricPlot[{3*Cos[t]/4+ Cos[3*t]/4, 3*Sin[t]/4 -Sin[3*t]/4},{t, 0, 2 Pi}]

Cardioide

ParametricPlot[{2 Cos[t] + Cos[2 t], 2 Sin[t]+ Sin[2 t]},{t,0,2 Pi}]

Catenaria es la forma de un cable ideal con densidad uniforme colgando de dos puntos

ParametricPlot[{t,Cosh[t]},{t,-2,2}]

Lemniscata de Bernoulli Es una parametrización de (x 2 +y 2) 2 = (x 2 −y 2) , también llamadahipérbola lemniscata.

ParametricPlot[{Cos[t]/(1+Sin[t] 2), Sin[t]Cos[t]/(1+Sin[t] 2)},{t,0,Pi}]

Espiral equiangular es aquella espiral en la que el radio corta a la curva en un ángulo constante α

ParametricPlot[{ E (t*Cot[ α ])*Cos[t],E (t*Cot[ α ])*Sin[t]},{t,0,10 Pi}]

Serpentina Es una parametrización de x 2y +a 2y −b 2x =0

ParametricPlot[{t,(b 2 t)/(a 2 + t 2)},{t,-10,10}]

Hipérbola la representación en coordenadas cartesianas de una hipérbola con vértice (1, 0) y foco(a, 0) (excentricidad a ) es x 2 −y 2/(a 2 −1) =1. Una hipérbola rectangular tiene excentricidad√2 y su ecuación es xy =1.

Page 72: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 72/137

22 Cómo “dibujar” con Mathematica

ParametricPlot[{-Sec[t],Sqrt[a 2-1] Tan[t]},{t,0,2Pi}]

Epicicloide es la curva que describe un punto jo de un círculo que rueda sin deslizamiento por elexterior de otro círculo ( n es el número de vueltas).

ParametricPlot[{(1+1n

) Cos[t]+Cos

(1+1n )t

1n

n,

(1+1n

)Sin[t]+Sin

(1+1n )t

1n

n} ,{t,0,2 Pi}]

2.3. El comando Show

Como recordarás, el símbolo % era utilizado para referirse al resultado anterior. Cuando el re-

sultado es un gráco que queremos volver a visualizar usaremos el comando Show en la formasiguiente

Show[%1]

Si queremos volver a representar los grácos 1 y 2:

Show[%1,%2]

2.4. Ejercicios

Ejercicio 1. Dibuja la función logaritmo neperiano, exponencial y f(x) =x2

con colores diferentes.Compara el crecimiento de estas funciones cerca de cero y lejos de cero. ¿Qué pasa si la base de laexponencial y el logaritmo son menores que uno?Ejercicio 2. Igual que en el ejercicio anterior compara las grácas de las funciones trigonométricascon las respectivas funciones hiperbólicas.Ejercicio 3. ¿Cómo cambia la gráca de una función f(x) cuando la cambiamos por f (a

∗x), a

∗f(x), f(x +a), o f(x) +a ?. Prueba con alguna de las funciones anteriores.Ejercicio 4. A continuación puedes encontrar la representación de varias funciones. Encuentra dequé funciones provienen.

-4 -2 2 4

5

10

15

20

25

Page 73: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 73/137

2.4 Ejercicios 23

-4 -2 2 4

-10

10

20

30

-4 -2 2 4

-20

-10

10

20

2 4 6 8 10 12 14

-1

1

2

Page 74: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 74/137

CAPÍTULO3

Vectores y matrices

Para comenzar vamos a ver como trabajar en Mathematica con vectores y matrices. Una matrizsiempre está delimitada por un par de llaves y, separadas por comas, se escriben las las agrupadastambién con llaves. Por ejemplo,

In[1]:=

{{a11,a12,a13},{a21,a22,a23},{a31,a32,a33}}

Out[1]={{a11,a12,a13},{a21,a22,a23},{a31,a32,a33}}

Mathematica no muestra el resultado en la forma de matriz que estamos acostumbrados a ver.Conseguiremos esto mediante el uso de la orden MatrixForm [ matriz ].

In[2]:=

MatrixForm[ %]Out[2]=

a11 a12 a13

a21 a22 a23a31 a32 a33

Si la matriz es diagonal podemos ahorrarnos algo de trabajo con la orden

DiagonalMatrix[{a11,a22,...}]

Page 75: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 75/137

25

Por ejemplo,

In[3]:=

DiagonalMatrix[{a,b,c,d}]

Out[3]={{a,0,0,0},{0,b,0,0},{0,0,c,0},{0,0,0,d}}

En el caso que la matriz diagonal sea la identidad, podemos usar IdentityMatrix[ n ] . Por ejem-plo:

In[4]:=

IdentityMatrix[3]Out[4]=

{{1,0,0},{0,1,0},{0,0,1}}

In[5]:=

MatrixForm[IdentityMatrix[3]]Out[5]=

1 0 00 1 00 0 1

Para sumar matrices, si los órdenes lo permiten, solo tenemos que emplear el signo + y paramultiplicarlas por un número podemos usar la simple yuxtaposición o el signo *. Sin embargo, elproducto de matrices, cuando los órdenes lo permiten, tiene una denición distinta. Para multiplicardos matrices (las por columnas) o calcular el producto escalar de dos vectores mediante Mathe- matica , debemos usar el punto “.” en lugar del signo de la multiplicación “*”. A modo de ejemplode estas deniciones puedes comprobar los siguientes cálculos

In[6]:=A={{1,2,3},{4,5,6},{1,3,2}}B={{4,3,2},{7,3,1},{1,0,0}}

a={1,5,8}b={1,3,4}

Out[6]={{1,2,3},{4,5,6},{1,3,2}}{{4,3,2},{7,3,1},{1,0,0}}{1,5,8}{1,3,4}

Page 76: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 76/137

26 Vectores y matrices

Suma de A y B

In[7]:=

A+BOut[7]=

{{5,5,5},{11,8,7},{2,3,2}}

Producto de una matriz por un número

In[8]:=

5 A

Out[8]={{5,10,15},{20,25,30},{5,15,10}}

Producto escalar de a y b

In[9]:=

a.bOut[9]=

48

Producto de una matriz por un vector A.a (ojo que a se considera columna)

In[10]:=

A.aOut[10]=

{35,77,32}

Con Mathematica podemos denir matrices de forma automática mediante la orden Table . Lasintaxis es la siguiente

Table[ Función de i,j , {i, límite de i },{j, límite de j }]

Page 77: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 77/137

27

Puedes comprenderla mejor con el siguiente ejemplo:

In[11]:=

Table[ i*x+ j*y, {i, 3},{j,3}]Out[11]=

{{x+y,x+2y,x+3y},{2x+y,2x+2y,2x+3y},{3x+y,3x+2y,3x+3y}}

In[12]:=

MatrixForm[ %]Out[12]=

x+y x+2y x+3y2x+y 2x+2y 2x+3y3x+y 3x+2y 3x+3y

Los siguientes comandos son los que nos permiten extraer elementos, las, columnas y subma-trices de una matriz. Para extraer el elemento (i,j)-ésimo de una matriz A, escribimos

A[[i,j]]

Para extraer la la i-ésima,

A[[i]]

Para obtener una submatriz de A el comando es:

A[[{ índices de filas },{ índices de columnas }]]

Obtener la columna j-ésima de A equivale a extraer la la j-ésima de la traspuesta de A. Mathematicausa el comando Transpose para transponer matrices:

Transpose[ matriz ]

Veamos algún ejemplo. Primero buscamos el elemento (2,3) de la matriz A denida en los ejemplosanteriores

In[13]:=

A[[2,3]]Out[13]=

6

Seguidamente la la segunda de A

In[14]:=

A[[2]]Out[14]=

{4,5,6}

Page 78: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 78/137

Page 79: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 79/137

29

In[18]:=

Eigensystem[{{2,1},{3,-1}}]Out[18]=

{{ 12 (1- √21), 1

2 (1+ √21},

{16 (3- √21,1},{

16 (3- √21,1}}

Ejercicio 1. Consideremos las matrices

A =1 −2 02 5 3

−3 1 −4B =

0 −2 612 2 0

−1 −1 3

C =

1 2 0 −5

−4 −2 1 03 2

−1 3

5 4 −1 −5

D =−1 2 3 012 −5 0 3

−6 0 0 1

(a) Calcular A.B , A +B, D.C .

(b) Extraer la segunda la de A, la tercera columna de C y el elemento (3, 3) de D .

(c) Calcular Det(A) , Det(B) y Det(C) . Para las matrices cuyo determinante sea no nulo, calcularsu inversa. Calcular sus valores propios.

(d) Calcular el rango de las matrices A, B, C , D , D.C y A +B.

(e) Usar la orden Table para generar una matriz del orden 3 ×3, de forma que el elemento (i,j)sea i

j . Calcula el determinante, su inversa si la tiene, y su rango. ¿Cuáles son sus valorespropios?.

Page 80: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 80/137

CAPÍTULO4

Resolución de ecuaciones

4.1. Ecuaciones “sencillas”

Mathematica puede resolver los tipos más comunes de ecuaciones y sistemas de ecuaciones alge- braicas, tanto de forma exacta (si se puede) como aproximada. Resolvamos el sistema de ecuaciones

x 2 +y 2 =1(x

−2) 2

+(y

−1) 2

=4

Para ello usamos la sentencia Solve

In[1]:=Solve[{x 2 + y2==1, (x-2) 2

+ (y-1) 2==4},{x,y}]Out[1]=

{x−> 0 , y−> 1}, {x−>45

, y−> −35 }

Observa que en el comando Solve tenemos que decirle a Mathematica las variables respecto delas cuales queremos resolver el sistema. La sintaxis es

Solve [{ecuación1 , ecuación2 ,...},{variable1 , variable2 ,...}]

Para Mathematica una ecuación está formada por dos expresiones igualadas con el signo “==”.

Page 81: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 81/137

4.1 Ecuaciones “sencillas” 31

A veces, Mathematica no puede resolver de forma exacta una ecuación

In[2]:=

Solve[x 6+x+1==0,x]Out[2]=

{{x →Root[1 + #1 + #1 6&, 1]},{ x →Root[1 + #1 + #1 6&, 2]},{ x →Root[1 + #1 + #1 6&, 3]},{ x →Root[1 + #1 + #1 6&, 4]},{ x →Root[1 + #1 + #1 6&, 5]},{ x →Root[1 + #1 + #1 6&, 6]}}

Este error aparece porque estamos usando un polinomio de grado alto y es posible que la ecuaciónno pueda resolverse con operaciones elementales. En este caso usamos la orden NSolve (tiene lamisma sintaxis que Solve ) para una resolución numérica

In[3]:=

NSolve[x 6+x+1==0,x]

y Mathematica da 6 soluciones aproximadas (en este caso complejas) de la ecuación anterior. Des-pués de la variable podemos añadir el número de cifras signicativas que queremos que tengan lassoluciones

In[4]:=

NSolve[x 6+x+1==0,x,50]

Además de ecuaciones polinómicas, Solve puede resolver ecuaciones en las que aparecen otrotipo de funciones. Por ejemplo,

In[5]:=

Solve[ArcCos[x]-ArcTan[x]==0,x]Out[5]=

x−> −12 +

√52

En estos casos lo más frecuente es que no se pueda resolver el sistema o que no se puedan calculartodas las soluciones. Si ocurre esto Mathematica da un mensaje de advertencia avisando de quepuede haber más soluciones:

In[6]:=Solve[Sin[x] Cos[x]==0,x]

Solve::ifun: Inverse functions are being used bySolve, so some solutions may not be found.

Out[6]=

{{x−> 0}, {x−> −π 2 }, {x−>

π 2 }}

Page 82: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 82/137

32 Resolución de ecuaciones

4.2. Sistemas de ecuaciones lineales

Vamos a aplicar lo que hemos visto a la resolución de sistemas lineales de la forma

A.x =b ,

donde A es una matriz de orden m ×n y x y b son vectores de órdenes n y m respectivamente.El caso más fácil es que la matriz A sea cuadrada e inversible, entonces la solución del sistema

es tan sencilla como multiplicar (matricialmente) la inversa de A por b.Cuando resolvemos sistema de ecuaciones con Mathematica , la soluciones nos aparecen como

listas de valores, es decir como vectores. El problema que nos surge es que no podemos trabajardirectamente con estos resultados. La solución para este problema resulta sencilla, podemos denirun vector cuyas componentes sean las soluciones de nuestra ecuación y podemos utilizar sus com-ponentes como hemos visto anteriormente. Para esto llamamos “S” al vector solución y lo denimoscuando ponemos S igual a la inversa de A por b (cuando es posible). Veamos un ejemplo. Como eneste caso la matriz es cuadrada y tiene determinante distinto de cero, sólo tenemos que calcular suinversa:

In[7]:=A={{1,3,5},{9,7,5},{2,4,5}}b={4,7,3}Det[A]

Out[7]={{1,3,5},{9,7,5},{2,4,5}}{4,7,3}20

In[8]:=

S=Inverse[A].bOut[8]=

{ 74 ,- 11

4 , 2110 }

De este modo tenemos denido el vector de soluciones del sistema como S. Si queremos conocer lasolución de la segunda variable solo tenemos que buscar la segunda componente de S:

In[9]:=

S[[2]]Out[9]=

- 114

Otra posibilidad para resolver el sistema es usar la orden

LinearSolve [matriz A ,vector b ].

¿Qué pasa si la solución no es única?. Puedes comprobar con ejemplos sencillos que la ordenLinearSolve da como resultado un vector aunque el sistema tenga innitas soluciones:

Page 83: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 83/137

4.2 Sistemas de ecuaciones lineales 33

In[10]:=

LinearSolve[{{1,1}},{1}]Out[10]=

{1,0}

en este ejemplo, (1, 0) es solución del sistema x +y =1, pero hay más soluciones, como por ejemplo(0, 1) . La forma de obtener las demás soluciones es calcular el núcleo de la matriz de coecientesmediante la orden NullSpace , que da una base de dicho núcleo. De esta forma, si sabemos unasolución particular del sistema A.x =b , x 0 (obtenida mediante LinearSolve) y una base del núcleode A, x 1 , x 2 , . . . , todas las soluciones del sistema serán de la forma x 0 +λ 1x 1 +λ 2x 2 +· · ·, dondeλ 1 , λ 2, . . . son parámetros. En nuestro ejemplo anterior ( x +y =1) habíamos obtenido

In[11]:=

LinearSolve[{{1,1}},{1}]Out[11]=

{1,0};

el núcleo de la matriz (1 1) tiene base

In[12]:=

NullSpace[{{1,1}}]Out[12]=

{{-1,1}};

con lo que todas las soluciones del sistema serán de la forma (1, 0) +λ( −1, 1) , con λ un parámetroreal.

Otra forma de resolver sistemas es usar la orden Solve que ya conocemos. Un ejemplo nosayudará a entender la mecánica:

In[13]:=A={{1,1,1},{2,2,2},{1,0,1}};v={x,y,z};

b={0,0,1};Solve[A.v==b,{x,y,z}]

Out[13]=

{{y->-1, x->1-z}}

En este caso, como la matriz A tiene rango dos, las soluciones nos vienen dadas de forma implícitamediante dos ecuaciones: {y = −1, x = 1 −z }; por tanto, el espacio afín de soluciones tendrádimensión 1.

Page 84: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 84/137

34 Resolución de ecuaciones

Ejercicio. Usando las matrices

A =1 −2 02 5 3

−3 1

−4

B =0 −2 6

12 2 0

−1

−1 3

C =

1 2 0 −5

−4 −2 1 03 2 −1 35 4 −1 −5

D =−1 2 3 012 −5 0 3

−6 0 0 1

resolver los siguientes sistemas de ecuaciones lineales: A.x = (1, 1, 0) t , B.x = (2, 0, 0) t , C.x =(−1, 2, 0, 0) t y C.x =(1, −1, 0, 0) t .

4.3. Resolución de sistemas de ecuaciones

Veamos todos los comandos con algunos ejemplos:• Comandos Solve y NSolve : Sirven para resolver sistemas de ecuaciones polinómicas. El prime-

ro sólo resuelve sistemas de grado bajo pero con soluciones exactas, expresadas mediante radicales.El segundo da soluciones aproximadas pero sirve para cualquier grado.

• Comando Reduce : simplica sistemas de ecuaciones dependientes de parámetros, haciendouna discusión de casos si es necesario. Su sintaxis es

Reduce[{ ecuación1,ecuación2,… },{ var1,var2,… }]

Al usar este comando hay que tener en cuenta que todo lo que no se le introduce como variable esconsiderado parámetro. Además, el resultado obtenido al usar Reduce diere bastante del obtenidoal usar Solve o NSolve , pues este comando no devuelve valores numéricos, sino ecuaciones mássimples quehabrá que resolver;dichasecuaciones vendrán expresadas usando“operadores lógicos”:&& es la conjunción “y”, || es la disyunción “o”. Un ejemplo:

In[14]:=Reduce[{x +a y == a,b y + b x == 0},{x,y}]

Out[14]=x ==a (1 −y ) && b ==0 ||−1 +a ≠ 0 && x == −a /( −1 +a )&& y ==a /( −1 +a )

Mathematica da dos soluciones: la primera x =a( 1−y) con b =0; la segunda: x = −aa −1 , y =

aa −1

que sólo vale si a ≠ 1 y para cualquier b .

Ejercicio 1. Discutir en función de los parámetros a y b , los siguientes sistemas de ecuaciones:

x +az =0x +2y =b

x −y +az =0

x +az =1x +2y = −1x −y +az =3

ax 2 +by =5x −by =1

Page 85: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 85/137

4.4 Otros métodos 35

x −z =1x +2y =1x +az =b

x +az =0x +2y =b

x −y +az =0

x +2z =07x −2y =06x −2y +az =0

4.4. Otros métodos

Hemos visto como resolver ecuaciones y sistemas de ecuaciones con Mathematica mediante laorden Solve . El problema de usar la orden Solve , es que solo nos permite resolver ecuacionesy sistemas de ecuaciones para los que es posible aplicar un método algebraico sencillo. En otraspalabras, la orden Solve está limitada a ecuaciones y sistemas de ecuaciones que se puedan resolvermediante operaciones elementales.

Recordemos el siguiente ejemplo que ya nos habíamos encontrado:

In[15]:=

Solve[x 6+x+1==0,x]Out[15]=

{{x →Root[1 + #1 + #1 6&, 1]},{ x →Root[1 + #1 + #1 6&, 2]},{ x →Root[1 + #1 + #1 6&, 3]},{ x →Root[1 + #1 + #1 6&, 4]},{ x →Root[1 + #1 + #1 6&, 5]},{ x →Root[1 + #1 + #1 6&, 6]}}

Ahora es un buen momento para plantearle a Mathematica algunas ecuaciones, por ejemplo polino-miales de grado alto, para ver las limitaciones de la orden Solve .

In[16]:=

Solve[x 6+x 3 + 1 = = 0 , x ]

In[17]:=

Solve[x 6+ x5 + 1 == 0 , x ]

Prueba con otras ecuaciones de grado alto la orden Solve .En estas condiciones, nos damos cuenta de la necesidad de encontrar o aproximar soluciones

para ecuaciones del tipo f(x) = 0, donde, en principio, podemos considerar como f cualquierfunción real de una variable. El objetivo de esta práctica es aprender a programar algoritmos con

Mathematica para aproximar la solución de estas ecuaciones.Lo primero que tenemos que tener en cuenta es que no existe ningún método general pararesolver todo este tipo de ecuaciones en un número nito de pasos.

Lo quesí tendremoses condiciones para poder asegurar,bajo ciertas hipótesis sobre la función f ,que un determinado valor es una aproximación de la solución de la ecuación con un error prejado.

El principal resultado para asegurar la existencia de solución para la ecuación f(x) = 0 en unintervalo [a,b] , es el Teorema de Bolzano. Dicho teorema asegura que si f es continua en [a,b] ycambia de signo en el intervalo, entonces existe al menos una solución de la ecuación en el intervalo[a,b] . Los dos métodos que vamos a usar se basan en este resultado.

Page 86: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 86/137

36 Resolución de ecuaciones

Ambos métodos nos proporcionan un algoritmo para calcular una sucesión de aproximaciones,y condiciones sobre la función f para poder asegurar que la sucesión que obtenemos converge a lasolución del problema. Una vez asegurada esta convergencia, bastará tomar alguno de los términosde la sucesión que se aproxime a la sucesión con la exactitud que deseemos.

4.4.1. Breves conceptos de programación

Antes de introducirnos en el método teórico de resolución, vamos a presentar algunas sentenciassencillas de programación que necesitaremos más adelante.

La primera de las órdenes que vamos a ver es el comando For , usada para realizar bucles. Un“bucle” es un proceso repetitivo que se realiza un cierto número de veces. Un ejemplo de buclepuede ser el siguiente: supongamos que queremos obtener los múltiplos de siete comprendidosentre 7 y 70; para ello, multiplicamos 7 por cada uno de los números naturales comprendidos entre1 y 10, es decir, repetimos 10 veces la misma operación: multiplicar por 7.

La sintaxis de la orden es la siguiente,

For[ expresión inicial , condición , incremento , expresión ]

• expresión inicial nos sitúa en las condiciones de comienzo del bucle.

• condición dirá a Mathematica el momento de detener el proceso.

• incremento expresará la forma de aumentar la condición inicial.

• expresión dirá a Mathematica lo que tiene que realizar en cada paso; la expresión puede estarcompuesta de varias sentencias separadas mediante punto y coma.

Para terminar de comprender bien el funcionamiento de esta orden puedes teclear y evaluar lossiguientes ejemplos:

En primer lugar, intentemos escribir los múltiplos de 7 comprendidos entre 7 y 70:

In[18]:=

For[i=1,i<=10,i=i+1,Print[7*i]]7142128

354249566370

El segundo ejemplo consiste en hacer a Mathematica sumar de cinco en cinco, comenzando en5 y terminando en 25.

Page 87: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 87/137

4.4 Otros métodos 37

In[19]:=

For[i=5,i<=25,i=i+5,Print[i]]510152025

El tercero genera el seno de 1, el seno de 11 y el seno de 21.

In[20]:=

For[i=1,i<=30,i=i+10,Print[Sin[i]]]Sin[1]Sin[11]Sin[21]

Ejercicio Usa el comando For en los siguientes ejemplos:

• Sumar los números naturales entre 400 y 450.

• Sumar los cuadrados de los primeros 10 naturales.

La segunda sentencia es la orden condicional If . Esta sentencia comprueba si se verica unacondición, después, si la condición es verdadera Mathematica ejecutará una expresión1 , y si es falsaejecutará otra expresión2 . Su sintaxis es la siguiente,

If[ condición , expresión1 , expresión2 ]

La expresiones 1 y 2 pueden estar formadas por varias órdenes separadas por punto y coma.Para familiarizarnos con esta orden vamos a teclear y ejecutar el siguiente ejemplo,

In[21]:=a=5;If[a<=0, Print["No existe el logaritmoneperiano de ", a] , Print["Ellogaritmo neperiano de ", a,"vale ",N[Log[a]]]]

El logaritmo neperiano de 5 vale 1.60944

Ahora puedes probar a cambiar el valor de a para ver como la sentencia If va cambiando susresultados.

La última sentencia de programación que vamos a ver es la orden Break[ ] cuya única nalidades la de interrumpir un bucle en el momento que se ejecuta y no terminar todos los pasos que faltanhasta la condición nal del bucle. En el siguiente ejemplo se puede comprender rápidamente el usode esta orden.

Page 88: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 88/137

38 Resolución de ecuaciones

In[22]:=For[i=1,i<=30,i=i+1,If[N[Log[i]]<=2,Print[Log[i]],Print["El logaritmo de ", i, "es mayor

que 2"]; Break[] ]]0Log[2]Log[3]Log[4]Log[5]Log[6]Log[7]El logaritmo de 8 es mayor que 2

4.4.2. Método de Bisección

En este método sólo es necesario que la función f sea continua en el intervalo [a,b] y veriquef(a)f(b) < 0.En estas condiciones, el Teorema de Bolzano nos asegura la existencia de unasoluciónde la ecuación en [a,b] . El siguiente paso consiste en tomar como nueva aproximación, c =

a +b2

(el punto medio del segmento [a,b] ). Sif(c) =0, hemos encontrado una solución de la ecuacióny por tanto hemos terminado. Si f(c) ≠ 0, consideramos como nuevo intervalo, o bien [a,c] (sif(a)f(c) < 0, o bien [c,b] si es que f (c)f (b) < 0 y repetimos la estrategia en el nuevo intervalo.

En este método podemos conocer el error que cometemos en cada una de las aproximaciones. Sinos damos cuenta, partimos de un intervalo de longitud (b-a) y lopartimos por la mitad quedándonoscon el subintervalo en el que podemos asegurar la existencia de una raíz si ésta no era el puntomedio de [a,b] . El nuevo subintervalo tiene longitud b−a

2 y contiene a la solución y a la primera

aproximación. En consecuencia, el error cometido es menor o igual que b −a2 . De la misma forma, elerror cometido en el paso n-ésimo es menor o igual que b−a

2n .A partir de aquí, podemos deducir el número de iteraciones necesarias para obtener una aproxi-

mación con un error o exactitud prejados. Si notamos por “ Ex ” a la exactitud prejada, entoncespara conseguir dicha precisión, el número “ n ” de iteraciones necesarias deberá satisfacer

b −a2n < E x

así,

n =E Log 2b −a

Ex +1,

donde E[ ·] denota la “parte entera” de un número (esto es, el mayor de los enteros que son menoresque el número. Para obtener la “parte entera” de un número que está expresado en notación decimal,Mathematica tiene el comando Floor .

Para denir un algoritmo de cálculo de la sucesión de aproximaciones de este método medianteMathematica , vamos a resolver como ejemplo la ecuación x 6 +x −5 =0 en el intervalo [0, 2] .

Deniremos en primer lugar la función, el intervalo y la exactitud. Seguidamente calcularemos elnúmero “ P ” de iteraciones (o pasos) necesarias, para a continuación llevar a cabo el cálculo de dichasaproximaciones, que se irán visualizando a medida que se van haciendo los sucesivos cálculos.

Page 89: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 89/137

4.4 Otros métodos 39

In[23]:=Clear["Global`*"]f[x_]=x 6+x-5;a=0;

b=2;Ex=10 (-6);

P=Floor[N[Log[2,(b-a)/Ex]]]+1;For[i=1,i<=P,i=i+1,

c=(a+b)/2;If[f[c]==0,

Print["Sol. exacta: ",N[c,10],"hallada en ",i,"pasos."

];Break[]

];If[f[c]f[a] < 0,b=c,a=c];Print[i," – aprox: ",N[c,10],

"(error <",N[b-a],")"]

]

Este comando da lugar a la siguiente respuesta por parte del Mathematica :

1 - aprox: 1. (error <1.)2 - aprox: 1.5 (error <0.5)3 - aprox: 1.25 (error <0.25)

4 - aprox: 1.125 (error <0.125)5 - aprox: 1.1875 (error <0.0625)6 - aprox: 1.21875 (error <0.03125)7 - aprox: 1.234375 (error <0.015625)8 - aprox: 1.2421875 (error <0.0078125)9 - aprox: 1.24609375 (error <0.00390625)10 - aprox: 1.248046875 (error <0.00195312)11 - aprox: 1.247070313 (error <0.000976562)12 - aprox: 1.246582031 (error <0.000488281)13 - aprox: 1.246826172 (error <0.000244141)14 - aprox: 1.246704102 (error <0.00012207)15 - aprox: 1.246643066 (error <0.0000610352)16 - aprox: 1.246612549 (error <0.0000305176)17 - aprox: 1.246627808 (error <0.0000152588)18 - aprox: 1.246635437 (error <7.62939 10 −6)19 - aprox: 1.246631622 (error <3.8147 10 −6)20 - aprox: 1.246629715 (error <1.90735 10 −6)21 - aprox: 1.246628761 (error <9.53674 10 −7)

A continuación, prueba a cambiar la función, los extremos del intervalo (en los cuales dichafunción cambia de signo), así como la exactitud exigida. Intenta también buscar un caso simple enel que se encuentre la solución exacta en unos pocos pasos. Por último, intenta usar el algoritmoanterior para calcular 3√5 con una exactitud de 10 −10 .

Page 90: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 90/137

40 Resolución de ecuaciones

Graba ese algoritmo en disco... más tarde compararemos su efectividad con la del siguientemétodo.

4.4.3. Método de Newton-Raphson

El método para la construcción del algoritmo que vamos a estudiar ahora es conocido con elnombre de “método de Newton-Raphson” debido a sus autores. Este método nos proporciona unalgoritmo para obtener una sucesión de aproximaciones. Para asegurar la convergencia de la suce-sión (hacia la solución de la ecuación), bajo ciertas condiciones, usaremos el Teorema de Newton-Raphson, cuyo enunciado daremos más adelante.

La forma de construir los distintos términos de la sucesión

1 2 3 4

-60

-40

-20

20

40

60

de aproximaciones es bastante sencilla y responde a una ideamuy intuitiva. Primero suponemos que f es derivable al menosdos veces, con primera derivada no nula en el intervalo dondetrabajamos. Notaremos por f y f a la derivadas primera y se-

gunda de f respectivamente. Una vez jado un valor inicial x 1,el término x 2 se obtiene como el punto de corte de la recta tan-gente a f en x 1 con el eje OX . De la misma forma, obtenemos

x n +1 como el punto de corte de la recta tangente a f en el punto x n con el eje OX.De lo dicho hasta aquí se deduce:

x n +1 =x n −f (x n )f (x n )

.

Para comprender el algoritmo observa el gráco donde se ve cómo se generan los valores de lasaproximaciones.

El mencionado Teorema de Newton-Raphson, es el siguiente:

Teorema (de Newton-Raphson). Tomemos una función f que admite derivada segunda en el inter-valo [a,b] y verica:

1. f(a)f(b) < 0,

2. f (x) ≠ 0, para todo x∈

[a,b] ,

3. f (x) no cambia de signo en [a,b] .

Entonces, tomando como primera aproximación el extremo del intervalo [a,b] donde f y f tienenel mismo signo, la sucesión de valores x n del método de Newton-Raphson es convergente hacia laúnica solución de la ecuación f(x) =0 en [a,b] .

Una vez que tenemos asegurada la convergencia de la sucesión hacia la solución de la ecuación,deberíamos decidir la precisión. Sin embargo, veremos que el método es tan rápido en su conver-gencia que por defecto haremos siempre 10 iteraciones. Otra posibilidad sería detener el cálculo decuando el valor absoluto de la diferencia entre x n y x n +1 sea menor que la precisión buscada (locual no implica necesariamente que el error cometido sea menor que la precisión).

Utilizaremos ahora Mathematica para generar la sucesión de aproximaciones. Resolvamos denuevo el ejemplo de x 3 −5 =0 en el intervalo [1, 3] .

Podemos comprobar, dibujando las grácas de f(x) = x 3 −5, f (x) y f (x) en el intervalo[1, 3] , que estamos en las condiciones bajo las cuales el Teorema de Newton-Raphson nos asegura

Page 91: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 91/137

4.4 Otros métodos 41

convergencia. Las grácas se pueden obtener de la forma que aparece en la página siguiente (ojo,para escribir la “prima” en f [x] , debemos usar la tecla que está al lado del 0 en el teclado).

In[24]:=Clear["Global`*"]f[x_]=x 3-5;Plot[f[x],{x,1, 3}];Plot[f’[x],{x,1, 3}];Plot[f”[x],{x,1, 3}]

1.5 2 2.5 3

5

10

15

20

Out[24]= - Graphics -

1.5 2 2.5 3

5

10

15

20

25

Out[25]= - Graphics -

1.5 2 2.5 3

8

10

12

14

16

18

Out[26]= - Graphics -

Page 92: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 92/137

42 Resolución de ecuaciones

A continuación, generaremos los términos de la sucesión de aproximaciones mediante el si-guiente algoritmo. Comenzaremos por denir la función f, y el valor de la primera aproximación.Inmediatamente después denimos el algoritmo del método de Newton-Raphson, e iremos visuali-zando las sucesivas aproximaciones. Como dijimos, pondremos un límite de 10 iteraciones, aunqueusando mayor precisión decimal puedes probar con un número mayor de iteraciones.

In[27]:=Clear["Global`*"]f[x_]=x 3-5;y=3;

For[i=1,i<=10,i=i+1,y1=N[y-f[y]/f’[y],20];Print[i, aprox: ",y1];y=y1

]

Observarás al ejecutar este grupo de comandos que ya en la sexta iteración se han “estabilizado”veinte cifras decimales de la solución. Prueba a continuación a cambiar a un mayor número de de-cimales en las aproximaciones. Si es necesario, aumenta también el número de iteraciones. Observaqué rápidamente se “estabilizan” los decimales de las iteraciones. Sí, como puedes ver, el métodode Newton-Raphson es muy rápido .

4.5. El comando FindRoot

El método que hemos visto en la sección anterior se puede usar directamente con la ordenFindRoot .

FindRoot[ función de x ,{x, aproximación inicial }]

La aproximación inicial debería ser un punto que este “más o menos” cerca del cero de la función quequeremos buscar. En cualquier caso hay que tener en cuenta que aún escogiendo puntos inicialescercanos el resultado puede ser completamente distinto.

Por ejemplo,

In[28]:=

FindRoot[x 3-5,{x,3}]

Out[28]=

{x->1.70998}

El comando FindRoot también se puede usar con sistemas de ecuaciones. Sólo hay que escribirlas ecuaciones agrupadas entre llaves y dar un punto inicial para cada variable:

FindRoot[{eq1,eq2,…},{x, x 0},{y, y 0},…]

Page 93: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 93/137

4.5 El comando FindRoot 43

Ejercicios 1.

1. Considérese la ecuacióne (x 2+x +1) −ex 3

−2 =0.

Calcular programando los métodos de bisección y de Newton-Raphson, la solución de dichaecuación en el intervalo [−0,3, 1] con exactitud 10 −10 . Encontrar la solución mediante la ordenFindRoot y comparar los resultados.

2. Dada la ecuacióntan (x) =

1x

buscar la solución que posee en el intervalo [0, π 2 ], usando los métodos estudiados.

Ejercicio 2. Encontrar una solución del siguiente sistema de ecuaciones “cerca” de (0,0) :sen x cos y =

14

xy =1

Page 94: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 94/137

CAPÍTULO5

Extremos de funciones de una variable

5.1. Continuidad y límites

Básicamente todas las funciones que han aparecido hasta ahora eran continuas. En el caso deque no lo fueran Mathematica tampoco parece haber tenido demasiados problemas. Cuando hemosdibujado la gráca de la función tangente, Mathematica ha dibujado una asíntota vertical en lospuntos donde el coseno valía cero.

En el caso de que queramos estudiar la continuidad de una función en un punto a , tenemos quecalcular lım

x →af(x) . Mathematica puede estudiar límites (también laterales). La orden es la siguiente:

Limit[ expresión ,variable->a]Limit[ expresión ,variable->a,Direction->1]Limit[ expresión ,variable->a,Direction->-1]

La primera calcula el límite de la expresión cuando la variable tiende a a . Las siguientes calculan ellímite por la izquierda y la derecha respectivamente. Por ejemplo,

In[1]:=

Limit[n

n +1, n-> +∞]

Out[1]=

1

In[2]:=

Limit[Tan[x],x->Pi/2,Direction->1]Out[2]=

Page 95: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 95/137

5.2 Máximos y mínimos relativos 45

Cuando la función oscila entre dos valores Mathematica intenta dar el intervalo aunque no exista ellímite.

In[3]:=

Limit[Sin[1/x],x->0]Out[3]=

Interval[{-1,1}]

5.2. Máximos y mínimos relativos

Esencialmente, lo que haremos para localizar los extremos relativos de una función f será en-contrar soluciones de la ecuación f (x) =0. Para solucionar dicha ecuación, podemos usar (cuandosea posible por la simplicidad de la ecuación) comandos directos como Solve ó NSolve , o bienusaremos el comando FindRoot cuando las soluciones no se puedan obtener directamente.

Comencemos buscando los extremos relativos de la función polinómica f(x) =x 5 +x 4 −11x 3 −9x 2 +18x +10 en el intervalo [−4, 4] . Para ello, deniremos convenientemente la función f , ydibujaremos su gráca entre −4 y 4.

In[4]:=Clear["Global`*"]f[x_]= x 5+x 4-11x 3-9x 2+18x+10;Plot[f[x],{x,-4,4}]

-4 -2 2 4

-100

-50

50

100

Out[4]= - Graphics -

A simple vista observaremos que hay:

un máximo relativo entre −3 y −2,

un mínimo relativo entre −2 y −1,

un máximo relativo entre 0 y 1,

un mínimo relativo entre 2 y 3.

En cualquier caso, dada la simplicidad de esta función (polinómica de grado bajo), es posible calculardirectamente los ceros de la derivada con el comando

Page 96: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 96/137

46 Extremos de funciones de una variable

In[5]:=

NSolve[f’[x]==0,x]

Como vemos, aparecen cuatro soluciones que se corresponden con los extremos que habíamos

localizado a simple vista.Sin embargo, no todas las funciones permiten calcular de un modo simple las soluciones de laecuación f (x) =0. Por ejemplo, consideremos ahora la función f(x) =sen (x) +ex en el intervalo[−7, 0] . Pintémosla igual queantes, sustituyendo la antigua función por la nueva. De nuevo, a simplevista se observa que hay:

un máximo relativo cerca de −5,

un mínimo relativo cerca de −2

Sin embargo, ahora no funciona satisfactoriamente el comando NSolve (inténtalo). Optaremos poraplicar el método de Newton-Raphson (mediante el comando FindRoot ) para encontrar las raíces

de la derivada de f . Recordemos que en el comando FindRoot es necesario introducir una “primeraaproximación” de la solución, que servirá para iniciar el proceso iterativo. En este caso concreto,dada la situación aproximada de los extremos, probaremos a iniciar el método desde −5 y tambiéndesde −2. Concretamente, escribiremos el comando

In[6]:=FindRoot[f’[x],{x,-5}]FindRoot[f’[x],{x,-2}]

El programa nos da entonces una buena aproximación de los puntos donde la función alcanzalos extremos observados.

A continuación veremos un caso en el que la gráca diseñada por el programa nos puede llevara engaño. Descubriremos el error gracias al “test de la segunda derivada”. Sea f(x) =x 2 −10x −40 +

110x 2 −100x +251 , y pintémosla en el intervalo [−15, 15] .

Aparentemente, hay un mínimo cerca de 5. Si buscamos raíces de la derivada ejecutando elcomando FindRoot con dato inicial 5, obtenemos que precisamente para x = 5 la derivada seanula (se podía haber comprobado antes pidiendo al Mathematica el valor de f (5) ). A la vista de lagráca, en x =5 parece haber un mínimo de la función f . Sin embargo, pidámosle al Mathematicaque calcule el valor de la segunda derivada de f en 5. Obtendremos que f (5) = −18 < 0. Lasegunda derivada es negativa y por tanto en x =5 tiene que haber un máximo.

Sería conveniente ver “más de cerca” lo que ocurre cerca de 5. Prueba a pintar la función en elintervalo [4, 6] . Ahora parece haber un mínimo cerca de 4 ,5 y otro cerca de 5 ,5, y efectivamente, un

máximo en 5... ¿cómo podemos asegurar que cerca de los extremos que ahora vemos no vuelven aocurrir nuevas “oscilaciones ocultas” como la que antes no veíamos?...

Page 97: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 97/137

CAPÍTULO6

Fórmula de Taylor

Seguro que alguna vez te has preguntado cómo pueden una calculadora o un ordenador usar lasfunciones seno, coseno, exponencial, logaritmo... que no tienen una denición fácil, y que se basanen números “esencialmente” irracionales como π o e .

En esta práctica trataremos de entender cómo se pueden construir funciones conociendo única-mente las funciones suma (resta), producto (división) y potenciación. Necesitaremos además com-prender el concepto de límite y la derivación de funciones. Se trata de “sustituir” funciones com-plicadas por otras mas sencillas de calcular (que en este caso serán polinomios), controlando la“pérdida” que se produce.

El primer ejemplo puede ser “sustituir” una función por su recta tangente (si recuerdas, estonos sirvió para encontrar ceros de funciones mediante el método de Newton-Raphson): dada unafunción f derivable en un punto a , la recta y =f(a) +f (a)(x −a) pasa por el punto (a,f(a))y tiene la misma pendiente que la función f . En cierto sentido, lo que hemos hecho es encontraruna función más sencilla (una recta, o sea, un polinomio de grado uno) que se parece a la funciónde partida (coinciden el valor de la función y el de la derivada). ¿Hasta que punto puedo “cambiar”una función por su recta tangente? Si la función oscila demasiado, la aproximación no será buena,como por ejemplo en la función coseno

En el gráco podemos ver que en cuanto nos alejamos un

-3 -2 -1 1 2 3

-1

-0.5

0.5

1

poco del punto de tangencia (en este caso el 0), la función co-

seno y su tangente no se parecen nada. La forma de mejorar laaproximación será aumentar el grado del polinomio que usa-mos, y el problema es, jado un grado, qué polinomio de gradomenor o igual al jado es el que más se parece a la función. Elcriterio con el que elegiremos el polinomio será hacer coincidirlas sucesivas derivadas.Porejemplo, si buscamos un polinomioP de grado dos que aproxime a una función dos veces deriva- ble, f , vamos a exigir que P(a) =f(a) , P (a) =f (a) y P (a) =f (a) . Con estas tres condicionesestamos en disposición de calcular los coecientes de A(x −a) 2 +B(x −a) +C . Si lo hacemos,

Page 98: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 98/137

48 Fórmula de Taylor

veremos que dicho polinomio “aproximante” de grado 2 es el siguiente (deriva el polinomio P yverás como sus derivadas hasta orden 2 coinciden con las de la función f )

P(x) =f(a) +f (a)(x −a) +f (a)

2! (x −a) 2

Veamos qué pasa con una función concreta. Consideremos la función f(x) = cos(x) y vamos acalcular el polinomio “aproximante” en 0. En este caso f ( 0) =1, f (0) =0, f (0) = −1. Por tantoel polinomio “de aproximación” de grado 2 es el siguiente:

P 2(x) =f ( 0) +f (0) x +f (0)

2! x 2

=1 −12 x 2

Si dibujamos ahora las funciones f , P 1 y P 2 podremos comprobar qué es lo que ocurre:

In[1]:=Clear["Global *"]f[x_]=Cos[x];Plot[{f[x],1-(x 2)/2},{x,-4,4},PlotStyle->{RGBColor[1,0,0],RGBColor[0,0,1]}]

-4 -2 2 4

-4

-3

-2

-1

1

Out[1]= - Graphics -

El polinomio de orden 2 se parece un poco más a la función coseno que la recta tangente, perode todas formas, si aumentamos el dominio (prueba por ejemplo x

∈[−10, 10] ) se puede ver que

el “parecido” se pierde al alejarnos del origen. El problema es que estamos calculando polinomiosde grado bajo.

Todo lo que hemos hecho hasta ahora se basa en un resultado teórico ya conocido: si I es unintervalo, a, x

∈I y f : I →R es una función n -veces derivable, se dene el polinomio de Taylor de

orden n en el punto a como

P n (x) =f(a) +f (a) (x −a) +f (a)

2! (x −a) 2 +· · ·

· · ·+f (n) (a)

n ! (x −a) n

Teorema (Fórmula de Taylor). Si f : I →R es una función (n +1) -veces derivable, entonces existec entre a y x tal que

f(x) −P n (x) =f (n +1) (c)(n +1) ! (x −a) n +1.

Page 99: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 99/137

49

El teorema anterior nos permite incluso acotar el error que estamos cometiendo: basta acotar el

llamado resto de Taylor , f (n +1) (c)(n +1) ! , y para ello, acotaremos la derivada de orden n +1 en el intervalo

considerado. Volvamos al ejemplo anterior: Si trabajamos en el intervalo [

−π,π] y queremos usar

P 2 en lugar de la función coseno, sabemos que el punto c que nos da el error también está en eseintervalo. Vamos a calcular el valor máximo que puede alcanzar:

| cos(x) −P 2(x) | = |f (c)

3! x 3|=

sen (c)3! x 3

≤16 π 3

La última acotación se basa en que el valor máximo que alcanza la tercera derivada, sen (x) , es 1, y

que x en valor absoluto vale a lo sumo π .

Mathematica tiene una orden que permite calcular directamente el polinomio de Taylor centradoen un punto a . Se trata del comando Series , cuya sintaxis es

Series[función,{x,a,grado}]

Volviendo al ejemplo anterior, si pruebas

In[2]:=

Series[Cos[x],{x,0,2}]Out[2]=

1 −x2

2 +O[x ] 3

verás como, además del desarrollo del polinomio, aparece al nal el orden de error ( O[x ] 3 ); re-presenta que los términos que faltan son todos de grado mayor o igual que tres. Si quieres usardirectamente el resultado (sin que aparezca el orden del error) puedes utilizar el comando

Normal[ expresión ]

Este comando simplemente elimina el orden de error de la expresión que obtenemos con elcomando Series , quedando sólo el polinomio de Taylor.

En nuestro ejemplo, para comparar la función coseno y el correspondiente polinomio de Taylorde grado 4 en cero haremos lo siguiente:

Page 100: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 100/137

50 Fórmula de Taylor

In[3]:=Clear[“Global *”];f[x_]=Cos[x];g[x_]=Normal[Series[f[x],{x,0,4}]];

Plot[{f[x],g[x]},{x,-Pi,Pi},PlotStyle->{RGBColor[1,0,0],RGBColor[0,0,1]}]

-3 -2 -1 1 2 3

-1

-0.5

0.5

1

Out[3]= - Graphics -

Ya habíamos visto la orden Table . Con ella podemos calcular de una vez el desarrollo de Taylorde varios órdenes y comprobar como se va pareciendo cada vez más a la función. Si escribes

In[4]:=

Table[Series[Cos[x],{x,0,n}],{n,1,10}]

el resultado son todos los desarrollos de la función coseno centrados en 0 y de orden 1,2,…,10. Siqueremos dibujarlos tenemos que quitar los errores y usar la orden Plot de la lista que acabamos

de hacer. En lo que sigue a será el punto donde centramos el desarrollo de Taylor, [b,c] el intervalodonde queremos representarlo, la variable orden será el grado hasta el que queremos llegar y f lafunción que vamos a desarrollar:

In[5]:=Clear[“Global *”];f[x_]=Cos[x];a=0;b=-2Pi;c=2Pi;orden=10;

Plot[Evaluate[Table[Normal[Series[f[x],{x,a,n}]],

{n,0,orden}]],{x,b,c}]Plot[f[x],{x,b,c},PlotStyle->RGBColor[1,0,0]]Show[ %,% %]

La orden Evaluate[Table...] que hemos escrito calcula los desarrollos antes de que hagamos eldibujo. Prueba a cambiar la función, el punto donde desarrollamos, el intervalo donde se represen-ta...

Page 101: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 101/137

51

Hasta aquí hemos visto como comparar la gráca de una función con la de su polinomio deTaylor. La orden Animate permite dibujar la gráca de una función en función de un parámetropara después poder reproducirlo como una secuencia de fotogramas (una “película”). Un ejemplosencillo de como funciona sería el siguiente:

In[6]:=Animate[Plot[Sin[x*t],{x,0,2Pi}],{t,1,10}]

In[7]:=Clear[“Global *”];f[x_]=Cos[x]+Sin[x];a=0;b=-2Pi;c=2Pi;

orden=30;Animate[Plot[Evaluate[

{f[x],Normal[Series[f[x],{x,a,n}]]},{x,b,c},

PlotStyle->{RGBColor[1,0,0],RGBColor[0,0,1]},PlotRange->{-3,3}]],

{n,1,orden,1}]

Cuando se ejecuta la orden anterior, Mathematica dibuja la función y los polinomios de Taylorde orden 1 hasta 30. Prueba a pinchar dos veces en la última gráca que ha aparecido.Ejercicio 1. Aproxima la función exponencial ( f(x)

=ex ) mediante su polinomio de Taylor de grado

4 centrado en 0 en el intervalo [−20, 20] . Prueba a aumentar el grado y a usar intervalos cada vezmás grandes.Ejercicio 2 . Acota el error que estás cometiendo al aproximar √e =e

12 por el valor obtenido usando

el polinomio de Taylor de orden 4 centrado en cero.Ejercicio 3 . Lo mismo que los dos ejercicios anteriores para la función logaritmo neperiano (cen-trando en a =1) y para ln(2) .

Page 102: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 102/137

CAPÍTULO7

Integración

7.1. Integrales denidas e indenidas

En esta práctica aprenderemos a calcular integrales con el programa Mathematica , tanto inte-grales indenidas (es decir, primitivas) como integrales denidas. El objetivo es poder calcular áreasentre curvas, áreas y volúmenes de sólidos de revolución, longitudes de curvas... sin que el cálculode primitivas sea el principal escollo.

Básicamente hay dos comandos para integrar funciones en Mathematica : Integratey NIntegrate . Como siempre también puedes usar la paleta para escribir las integrales.

La primera de las órdenes mencionadas calcula primitivas o integrales denidas en unintervalo [a,b] :

Integrate[ función , variable ]Integrate[ función ,{ variable ,a,b}]

Por ejemplo,

In[1]:=

Integrate[Cos[x],x]Out[1]=

Sin[x]

In[2]:=

Cos[x]dxOut[2]=

Sin[x]

Page 103: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 103/137

7.1 Integrales denidas e indenidas 53

Mathematica puede obtener prácticamente cualquier primitiva calculable por métodos elemen-tales (integración por partes, integración de funciones racionales, trigonométricas, cambio de varia- ble...). Por otro lado, sabemos que toda función continua admite primitiva, pero esta primitiva nosiempre puede calcularse (en el sentido de tener una expresión de la primitiva en términos de funcio-nes “elementales”). Por eso, al integrar algunas funciones en el resultado que obtenemos aparecenfunciones que no conocemos:

In[3]:=

Sin [x ]x

dxOut[3]=

SinIntegral[x]

En este caso, aunque no conozcamos la función que nos aparece, podemos obtener su valor en unpunto:

In[4]:=

N[SinIntegral[2],7]Out[4]=

1.605413

Para obtener un valor numérico del resultado se puede usar el comando N:

N[Integrate[ función ,{x,a,b}]]

Puede pasar que Mathematica no sepa calcular la primitiva de una función:

In[5]:=

Exp [x 3 +x ]dxOut[5]=

Ex3+x dx

En este caso siempre podemos intentar aproximar el valor de la integral. Esto es precisamente loque hace el comando NIntegrate

NIntegrate[ función ,{ variable,a,b }]En el ejemplo anterior,

In[6]:=

NIntegrate[Exp[x 3+x],{x,0,2}]Out[6]=

1846.36

Page 104: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 104/137

54 Integración

Observa enesteejemplo que no es lo mismo usarel comando NIntegrate[...] que N[Integrate[...]] .En el segundo caso Mathematica tiene que saber calcular una primitiva para después calcular cuan-to vale, mientras que el primer comando intenta aproximar el valor de la integral sin calcular unaprimitiva.

Curiosamente, con funciones a las que podemos calcular fácilmente una primitiva, el comandoNIntegrate no siempre funciona bien; tecleando

In[7]:=

NIntegrate[Cos[x],{x,0,Pi}]

te darás cuenta que Mathematica “protesta”. El programa intenta calcular una aproximación conmétodos numéricos; estos métodos pueden tener problemas cuando la función oscila mucho. Enestos casos pueden aparecer respuestas erróneas.

Ejercicios. Calcular:

1. área limitada por las curvas y

=x 2 e y 2

=8x

2. área limitada por y = x e−x 2 , el eje OX , la ordenada en el punto x = 0 y la ordenada en elmáximo.

3. área de la gura limitada por la curva y =x 3 −x 2 y el eje OX .

4. área comprendida entre la curva y = tg(x) , el eje OX y la recta x =π/ 3.

5. área del recinto limitado por las rectas x =0, x =1, y =0 y la gráca de la función f : R →R

denida porf(x) =

1(1 +x 2) 2 .

7.2. Longitudes, áreas y volúmenes

Algunas de las aplicaciones de la integral que se han visto en las clases teóricas son calcularlongitudes de curvas, y volúmenes y supercies de cuerpos de revolución.

• Volúmenes de sólidos de revolución:Sea f : [a,b] →R una función continua; el volumen del sólido generado al girar el área bajo la

curva y =f(x) respecto del eje OX es

V =π b

af(x) 2 dx

y el volumen del sólido generado al girar dicha área respecto al eje OY es

V =2π b

axf(x)dx.

• Longitudes de curvas:Sea f una función de clase 1 en el intervalo [a,b] . La longitud del arco de la curva y = f(x)

entre x =a y x =b es

l = b

a1 +[f (x)] 2 dx.

Page 105: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 105/137

7.3 Integrales impropias. 55

• áreas de sólidos de revolución:Sea f : [a,b] →R una función de clase 1; el área de la supercie generada haciendo girar

alrededor del eje OX el arco de curva y =f(x) en [a,b] es igual a

S

=2π

b

af(x) 1

+[f (x)] 2 dx.

Ejercicio 1. Calcular el volumen del sólido generado al rotar respecto al eje OX las siguiente curvas:

1. y =sec(x), x∈

[0, π 3 ]

2. y = cos(x), x∈

[0, π 2 ]

3. y =9 −x 2

4. y =ex , x∈

[0, ln 3]

Ejercicio 2. Calcular el volumen del sólido generado al rotar respecto al eje OY las siguiente curvas:

1. y =1/x, x∈

[1, 3]

2. y =1

1 +x 2 , x∈

[0, 1]

3. y =ex 2, x∈

[1, √3]

Ejercicio 3. Calcular la longitud de las siguientes curvas:

1. y =13 (x 2 +2) 3/ 2 , x

∈[0, 1]

2. y =12 (e x +e−x ), x

∈[0, 3]

Ejercicio 4.

1. Calcular la supercie de una esfera de radio R.

2. Calcular la supercie de la gura que se obtiene al girar la función y = tg(x), x∈

[0, π / 4]alrededor del eje OX .

7.3. Integrales impropias.

Como recordarás de las clases teóricas, la integral que en principio se dene para funcionescontinuas en intervalos cerrados y acotados, puede extenderse a funciones continuas denidas enintervalos de longitud innita, y a funciones que no están acotadas en un intervalo de longitudnita. Es lo que se conoce como Integración impropia . Con el programa Mathematica , el trabajarcon integrales impropias no supone ningún problema, ya que las trata exactamente igual que lasintegrales de funciones continuas en intervalos cerrados y acotados.

Con la misma orden Integrate se pueden calcular integrales impropias. Simplemente pruebacon una función como f(x) =

1√1 −x 2 en el intervalo [−1, 1] o con la función g(x) = e−x 2 en

[0, +∞[ (en Mathematica para escribir innito usamos +Infinity o -Infinity , o la paleta). En estesegundo caso, escribiríamos

Page 106: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 106/137

56 Integración

In[8]:=

+∞0

Exp [−x2 ]dxOut[8]= √π

2

Intenta calcular las integrales anteriores en el intervalo dado y después intenta calcular unaprimitiva de esas funciones. Como verás, la primitivade la primera función ya la conocías, en cambioen la primitiva de la segunda aparece una función que, supongo, no conocías.

También podemos usar las fórmulas para calcular longitudes, áreas y volúmenes con integralesimpropias.Ejercicio. Calcular:

1. La integral de f(x) =1

x 2 con x∈

[1, +∞] .

2. El volumen y la supercie lateral del sólido obtenido al girar la gráca de la anterior funciónrespecto del eje OX .

3. Ídem a los dos anteriores con g(x) =1x

con x∈

[1, +∞] .

Page 107: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 107/137

CAPÍTULO8

Grácos en 3D

8.1. El comando Plot3D

En el segundo capítulo pudimos comprobar que Mathematica es una herramienta muy potentepara “dibujar” grácas de funciones de una variable. Ahora aprenderemos a representar gráca-mente funciones reales de dos variables. La principal aplicación de la representación gráca de unafunción de dos variables será dar una idea aproximada de la variación de dicha función, lo que será

especialmente útil para buscar extremos.Al igual que para funciones de unavariable, suele sercómodo asignarle un nombre (normalmente

f , g , h …). Para denir la función sen (xy) haremos lo siguiente:

In[1]:=

f[x_,y_]=Sin[x*y]Out[1]=

Sin[x y]

y usaremos f de igual forma a como lo hacíamos con funciones de una variable.

El comando que sirve para representar grácas de funciones de dos variables es

Plot3D[ función de x,y , { x , x min , x max },{ y , y min , y max}]

Veamos un ejemplo:

Page 108: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 108/137

58 Grácos en 3D

In[2]:=Plot3D[f[x,y],{x,-Pi,Pi},{y,-Pi,Pi}]

-2

0

2

-2

0

2

-1

-0.5

0

0.5

1

-2

0

2

Out[2]= - SurfaceGraphics -

8.1.1. Opciones del comando Plot3D

Mesh->True/False

Se dibuja (True) o no (False) la retícula o malla sobre la que se construye la gráca. En el ejemploanterior:

In[3]:=Plot3D[f[x,y],{x,-Pi,Pi},{y,-Pi,Pi},Mesh->False]

Shading->True/False

Se colorea (True) o no (False) la malla anterior. Siunimos las opciones Mesh->False y Shading->False ,no aparecerá gráco alguno. Un ejemplo:

In[4]:=Plot3D[f[x,y],{x,-Pi,Pi},{y,-Pi,Pi},Shading->False]

PlotPoints-> número de puntos

Representa el número de puntos que usará Mathematica para dibujar la gráca. Un núme-ro muy alto producirá un gráco más “suave”, pero aumentará considerablemente el tiempoempleado por Mathematica para realizarlo.

ViewPoint

Establece el punto de vista desde el que se dibujará la gráca. La forma de usar esta opción será“pegarlo” desde una ventana que automatiza el proceso. A dicha ventana se accede a travésdel menú Input, submenú 3D ViewPoint Selector.

Page 109: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 109/137

8.2 Grácos de contorno. Curvas de nivel. 59

Ejercicio. Prueba las opciones anteriores con las siguientes funciones de dos variables:

1. f(x,y) =(x 2 +y 4)e 1−x 2−y 2 con x, y ∈

[−2, 2] .

2. g(x,y) =sen (x −2xy ) con x∈

[0, π] , y ∈

[−π,π] .

3. h(x,y) =xy

x 2 +y 2 con x, y ∈[−1, 1] .

8.2. Grácos de contorno. Curvas de nivel.

Una forma cómoda de ver la gráca de una función es mediante curvas de nivel. Se trata derepresentar en el plano una gura tridimensional como es la gráca de una función de dos varia- bles, permitiendo ver las zonas de crecimiento y decrecimiento de dicha función. El comando querepresenta funciones de dos variables mediante curvas de nivel es

ContourPlot[ función de x,y ,{ x , x min , x max },{ y , y min , y max}]

Por ejemplo,

In[5]:=ContourPlot[(3 x 2+ y2)Exp[1-x 2-y 2],{x,-2,2},{y,-2,2}]

-2 -1 0 1 2

-2

-1

0

1

2

Out[5]= - ContourGraphics -

Entre otras, las opciones del comando ContourPlot son:

ContourShading->False

Dibuja sólo las curvas de nivel y no utiliza la escala de grises. Ejemplo:

In[6]:=ContourPlot[(3 x 2+ y2)Exp[1-x 2-y 2],{x,-2,2},{y,-2,2},ContourShading->False]

Page 110: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 110/137

60 Grácos en 3D

PlotPoints-> número de puntos

Representa el número de puntos que usará Mathematica para dibujar la gráca. Al igual queen Plot3D , un número muy alto producirá un gráco más “suave”, pero aumentará conside-rablemente el tiempo empleado por Mathematica para realizarlo.

Ejercicio 1. Representa los grácos de contorno de las funciones del ejercicio anterior, comparandola información que obtienes de una y otra forma.Ejercicio 2. Consideremos la función f : [−2, 2]×[−2, 2] →R dada por f(x,y) =(x 2+y 4)e 1−x 2−y 2 .Utiliza los comandos anteriores para obtener información sobre la ubicación de sus posibles extre-mos relativos.

8.3. Grácos paramétricos. Curvas y supercies.

Ya aprendimos a representar grácamente curvas planas expresadas en forma paramétrica. Aho-ra veremos como representar curvas alabeadas (esto es, curvas en el espacio) y supercies paramé-tricas. El comando de Mathematica para ello es ParametricPlot3D .

Cuando tenemos las ecuaciones paramétricas de una curva en el espacio

x =x(t), y =y(t), z =z(t) con t∈

[a,b]

usamos la orden

ParametricPlot3D[{ x(t),y(t),z(t) },{ t , a , b }]

Por ejemplo, para dibujar una hélice:

In[7]:=

ParametricPlot3D[{Sin[t],Cos[t],t/3},{t,0,5Pi}]

-1-0.5

00.5

1

-1

-0.500.5

1

0

2

4

-

- .500.5

Out[7]= - Graphics3D -

Page 111: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 111/137

8.3 Grácos paramétricos. Curvas y supercies. 61

Si lo que tenemos son las ecuaciones paramétricas de una supercie

x =x(u,v), y =y(u,v), z =z(u,v) con u∈

[a,b] y v∈

[c,d]

se usa

ParametricPlot3D[{ x(u,v),y(u,v),z(u,v) },{ u , a , b },{ v , c , d }]

Dibujemos una esfera:

In[8]:=ParametricPlot3D[{Cos[u]Cos[v],Sin[u]Cos[v],Sin[v]},{u,0,2 Pi},{v,-Pi/2,Pi/2}]

-1

-0.5

0

0.5

1

-1

-0.5

0

0.5

1

-1

-0.5

0

0.5

1

-1

-0.5

0

0.5

-1

-0.5

0

0.5

Out[8]= - Graphics3D -

8.3.1. Supercies de revolución

En el caso particular en que la supercie que queremos representar se obtiene girando una curvarespecto a un eje se puede usar el paquete SurfaceOfRevolution . Para cargarlo se escribe

In[9]:=

<< Graphics`SurfaceOfRevolution`

y desde este momento está disponible la orden

SurfaceOfRevolution[ f(x) ,{x,a,b}]SurfaceOfRevolution[{ f(t),g(t) },{t,a,b}]SurfaceOfRevolution[{ f(t),g(t),h(t) },{t,a,b}]

La primera orden dibuja la supercie de revolución obtenida al girar la curva f en el plano XZ entre a y b . La segunda y la tercera funcionan análogamente pero estamos dando una curva en elplano XZ (segundo caso) o en el espacio (último caso). En cualquier caso el giro se hace respecto aleje Z . Si se quiere girar respecto a la recta que une el origen con el punto {x 1 ,x2,x3} se puede utilizarla siguiente opción:

Page 112: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 112/137

62 Grácos en 3D

SurfaceOfRevolution[ f(t) ,{t,a,b},RevolutionAxis->{x 1,x 2 ,x 3}]

Veamos algunos ejemplos. Un cono se consigue fácilmente girando una recta:

In[10]:=

SurfaceOfRevolution[2 x,{x,-2,2}]

-2-1

01

2

-2

-1

0

1

2

-4

-2

0

2

4

-2

-1

0

1

Out[10]= - Graphics3D -

Si quisiéramos girar respecto a la bisectriz del primer octante, o sea, alrededor de la recta que pasapor el vector (1,1,1):

In[11]:=SurfaceOfRevolution[2x,{x,-2,2},

RevolutionAxis->{1,1,1}]

-4

-2

0

2

4

-4

-2

0

2

4

-4

-2

0

2

4

-4

-2

0

2

-4

-2

0

2

Out[11]= - Graphics3D -

Page 113: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 113/137

Page 114: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 114/137

64 Grácos en 3D

2.x(u,v) =cos(u)( 3 +cos(v))

y(u,v) =sen (u)( 3 +cos(v))

z(u,v) =sen (v)

con u, v∈

[0, 2π].

3.x(u,v) =sen u

y(u,v) =sen v

z(u,v) =v

con u∈

[−π,π] y v∈

[0, 5].

Ejercicio 2. ¿Cómo se puede dibujar un cilindro? ¿Y un cono truncado?.

Ejercicio 3. A la gura siguiente, obtenida al girar una circunferencia, se la llama toro. Intentadibujarla.

-2

0

2

-2

0

2

-1

-0.5

0

0.5

1

-2

0

2

Page 115: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 115/137

CAPÍTULO9

Extremos relativos y condicionados

En esta práctica veremos cómo calcular extremos relativos y condicionados de funciones devarias variables. Se trata de usar el programa Mathematica como apoyo para realizar los cálculosnecesarios en los métodos de optimización vistos en las clases teóricas.

9.1. Derivadas parciales

El primer objetivo será aprender a calcular derivadas parciales, gradientes, hessianos...de funciones de varias variables, y aplicar todo ello al cálculo de extremos relativos ycondicionados.

Ya conocemos de prácticas anteriores la forma de calcular derivadas de funciones deuna variable: mediante el comando D[f[x],x,n] obtenemos la derivada n-ésima de lafunción f . Para funciones escalares de varias variables (esto es, funciones que “salen” deR n y “llegan” a R ), el comando

D[f[x,y,…],{ x,n1 },{ y,n2 },…]

nosdevuelve la derivada parcial de f respecto de x n1 -veces, respecto de y n2 -veces…pudiendoomitirse el número de veces si éste es 1. También puede usarse la paleta. En la gura tie-nes los símbolos que nos permiten escribir derivadas de cualquier orden y derivadas desegundo orden.

Calculemos como ejemplo ∂3f ∂x 2∂y

y ∂2f ∂x∂y

, donde f(x,y) =sen x cos y 2:

Page 116: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 116/137

66 Extremos relativos y condicionados

In[1]:=f[x_,y_]=Sin[x] Cos[y 2];∂x,x,y f[x,y]∂x,y f[x,y]

Out[1]=2 y Sin[x]Sin[y 2]-2 y Cos[x] Sin[y 2]

Evidentemente esta no es la forma más cómoda de calcular una derivada parcial de orden 15. Paraeso es mejor utilizar D[f[x,y],{x,8},{y,7}] .

Por ejemplo para calcular el gradiente de una función de varias variables basta construir el vectorformado por las derivadas parciales primeras de la función respecto de todas las variables:

In[2]:=

J[x_,y_]={ ∂x f[x,y], ∂y f[x,y]}Out[2]=

{Cos[x]Cos[y 2], -2 y Sin[x] Sin[y 2]}

Usando la paleta, el hessiano se calcula de forma análoga:

In[3]:=∂x,x f[x,y] ∂x,y f[x,y]∂y,x f[x,y] ∂y,y f[x,y]

Recuerda que las derivadas cruzadas de segundo orden coinciden para funciones “sucientemente

buenas”.

9.2. Representación gráca

Ya que sabemos cómo se calculan las derivadas parciales de una función, vamos a intentar re-presentar grácamente el plano tangente y cómo se obtiene a partir de las derivadas parciales.

Comencemos, por ejemplo, con la función

In[4]:=

f[x_,y_]=1-(x 2+y 2)

y vamos a calcular en el punto (1, 1) sus derivadas parciales. La denición de derivada parcialrespecto a la primera variable era

∂f ∂x

(1, 1) = lımh →0

f ( 1 +h, 1) −f ( 1)h

Lo que hacemos es trabajar únicamente con la función denida sobre la recta que pasa por (1, 1) yes esa función (de una variable) la que derivamos. La segunda derivada parcial tiene una deniciónanáloga. Dibujemos la gráca de la función y la imagen de cada una de esas dos rectas:

Page 117: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 117/137

9.2 Representación gráca 67

In[5]:=Plot3D[f[x,y],{x,-2,2},{y,-2,2},Mesh->False]ParametricPlot3D[{1,t,f[1,t]},{t,-2,2}]ParametricPlot3D[{t,1,f[t,1]},{t,-2,2}]

Show[%%%,%%,%]

-2

-1

0

1

2-2

-1

0

1

2

-6

-4

-2

0

-2

-1

0

1

2

Out[5]= - Graphics3D -

0

0.5

1

1.5

2

-2

-1

0

1

2

-4

-3

-2

-1

0

0

0.5

1

1.5

2

-2

-1

0

1

2

Out[6]= - Graphics3D -

-2

-1

0

1

20

0.5

1

1.5

2

-4

-3

-2

-1

0

0

0.5

1

1.5

2

-4

-3

-2

-1

Out[7]= - Graphics3D -

Out[8]= - Graphics3D -

Page 118: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 118/137

68 Extremos relativos y condicionados

Los vectores tangentes a las dos curvas que hemos dibujado son los dos vectores que generanel plano tangente. Por tanto su ecuación será

z =f ( 1, 1) +∂f ∂x

(1, 1)(x −1) +∂f ∂y

(1, 1)(y −1)

Para acabar nos falta dibujar el plano tangente y unirlo con la gráca anterior:

In[9]:=parcial1[x_,y_]= ∂x f[x,y]parcial2[x_,y_]= ∂y f[x,y]ParametricPlot3D[{x,y,f[1,1]+

parcial1[1,1](x-1)+parcial2[1,1](y-1)},

{x,0,2},{y,0,2},PlotPoints->3]Show[%%%%,%]

Out[9]= -2x

Out[10]= -2y

0 0.5 1 1.52

00.5

11.5

2

-4

-2

0

2

51

1.5

Out[11]= - Graphics3D -

-2

-1

0

1

2-2

-1

0

1

2

-5

-2.5

0

2.5

-2

-1

0

1

Out[12]= - Graphics3D -

Ejercicio. ¿Cómo se podría hacer esto con derivadas direccionales en lugar de derivadas parciales?

Page 119: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 119/137

9.2 Representación gráca 69

9.2.1. “Campos” de vectores

Sabíamos que el gradiente de una función en cada punto era el vector formado por las derivadasparciales e indicaba la dirección de máxima pendiente. Recordemos que el comando ContourPlotdibujaba las curvas de nivel de la gráca de una función, por tanto el gradiente debería ser perpen-

dicular a estas. Para verlo necesitamos algunos comandos que podemos usar cargando el paquetePlotField :

In[13]:=

<< Graphics`PlotField`

In[14]:=

f[x_,y_]=2(x+y)Cos[x]Out[14]=

2(x+y)Cos[x]

In[15]:=

Plot3D[f[x,y],{x,-2,2},{y,-2,2}]

-2

-1

0

1

2 -2

-1

0

1

2

-4

-2

0

2

4

-2

-1

0

1

Out[15]= - Graphics -

Dibujemosahora lascurvasde nivel. La opción ColorFunction->Hue utiliza colores paradiferenciarlas distintas alturas en lugar de la escala de grises que habíamos visto.

In[16]:=ContourPlot[f[x,y],{x,-2,2},{y,-2,2},

ColorFunction->Hue]

-2 -1 0 1 2

-2

-1

0

1

2

Out[16]= - Graphics -

Page 120: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 120/137

70 Extremos relativos y condicionados

La orden PlotGradientField dibuja los vectores (∂f ∂x

,∂f ∂y

) . Las dos opciones que aparecen(ScaleFunction y ScaleFactor ) no son necesarias.

In[17]:=PlotGradientField[f[x,y],{x,-2,2},{y,-2,2},

ScaleFunction->(.1#&),ScaleFactor->None]

Out[17]= - Graphics -

También existe la orden PlotHamiltonianField que dibuja los vectores (−∂f ∂y

,∂f ∂x

) . Estos sonperpendiculares al gradiente y por tanto nos indican las curvas de nivel.

In[18]:=PlotHamiltonianField[f[x,y],{x,-2,2},{y,-2,2},

ScaleFunction->(.1#&),ScaleFactor->None]

Out[18]= - Graphics -

Page 121: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 121/137

9.3 Extremos relativos. 71

In[19]:=

Show[ %16, %17]

-2 -1 0 1 2

-2

-1

0

1

2

Out[19]= - Graphics -

Ejercicio 1. Calcular las derivadas parciales de:

1. f(x,y,z) =x y +z ,∀

x∈

R +, y, z∈

R

2. f(x,y,z) =(x +y) z ,∀

x, y ∈

R +, z∈

R

3. f(x,y) =sen (x seny),∀

x, y ∈

R

Ejercicio 2. Sea f : R 2 \ {(0, 0)} →R dada por f(x,y) = log(x 2 +y 2) para todo (x,y) ≠ (0, 0) . Sepide:

(i ) Calcúlese el gradiente de f en todo punto así como la matriz hessiana.(ii ) Compruébese que

∂2f ∂x 2 (x,y) +

∂2f ∂y 2 (x,y) =0

∀(x,y)

∈R 2 −{(0, 0)}.

Ejercicio 3. Sea f : R 2 →R una función diferenciable con continuidad. Si v = f(x,y) dondex =ρ cos θ, y =ρ senθ , comprobar que

∂2f ∂x 2 +

∂2f ∂y 2 =

∂2v∂ρ 2 +

1ρ 2

∂2v∂θ 2 +

∂v∂ρ

9.3. Extremos relativos.

El método para encontrar extremos relativos de funciones de varias variables consiste en buscarprimero los puntos críticos, es decir, puntos donde se anula el gradiente, y después estudiar lamatriz hessiana en esos puntos. Los resultados que conocemos nos aseguran que todos los puntosextremos de una función están entre los puntos críticos, con lo que una vez calculados éstos nosdedicaremos a estudiar la matriz hessiana en ellos, viendo si es denida, indenida, semidenida...Para ello podemos usar el criterio de los valores propios: si todos son del mismo signo, la matriz esdenida y hay extremo; si aparecen valores propios de distinto signo es indenida y hay punto desilla; en otro caso, la matriz es semidenida y el criterio no decide.

Page 122: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 122/137

72 Extremos relativos y condicionados

Ejemplo 1: Calculemos los extremos relativos de la función

f(x,y) =x 3 +3xy 2 −15x −12y.

Primero denimos la función, su gradiente y su hessiano:

In[20]:=f[x_,y_]=x 3 + 3 x y 2 -15 x -12 yz=f[x,y]

In[21]:=J[x_,y_]={ ∂x z, ∂y z}

H[x_,y_]=∂x,x z ∂x,y z∂y,x z ∂y,y z

Para calcular los puntos críticos podemos usar el comando Solve , ya que el gradiente está for-mado por polinomios de grado bajo; guardaremos el resultado que nos de Solve en una variable,pcrit , que mas tarde usaremos:

In[22]:=

pcrit=Solve[J[x,y]==0,{x,y}]Out[22]=

{{x ->-2, y ->-1},{x ->-1, y ->-2},{x ->1, y ->2},{x ->2, y ->1}}

Hemos obtenido así 4 puntos críticos entre los que estarán los extremos. Calculemos ahora losvalores propios de la matriz hessiana en los cuatro puntos críticos obtenidos (observa la utilizacióndel comando /. que ahora comentaremos)

In[23]:=

Eigenvalues[H[x,y]] /. pcritOut[23]=

{{-6, -18}, {6,-18}, {-6, 18}, {6, 18}}

El comando /. sirve para asignar valores; en el caso anterior, asignamos la lista de valores que hayen pcrit (que son los puntos críticos de f ) al comando Eigenvalues[H[x,y]] , que calcula losvalores propios de la matriz hessiana en un punto (x,y) . De esta forma, lo que hemos obtenido esuna lista formada por cuatro parejas de valores propios de H[x,y] correspondientes a los cuatropuntos críticos. Así, la matriz hessiana en el primer punto crítico, (−2, −1) , tiene sus dos valorespropios negativos, con lo que es denida negativa y por tanto hay máximo ; los puntos críticos 2. o

y 3.o, (−1, −2) y (1, 2) , son puntos de silla , ya que sobre ellos la matriz hessiana es indenida; porúltimo, el 4.o es un punto de mínimo . Si queremos saber lo que vale la función f sobre sus puntoscríticos, basta teclear

Page 123: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 123/137

9.3 Extremos relativos. 73

In[24]:=

f[x,y]/.pcritOut[24]=

{28, 26, -26, -28}

que nos da una lista con los valores de f en los puntos críticos, o bien escribir directamentef[-2,-1], f[-1,-2] , etc…

Podemos resumir diciendo que la función f tiene máximo valor relativo 28 en el punto (−2, −1) ,mínimo valor relativo -28 en (2, 1) , y dos puntos de silla en (−1, −2) y (1, 2) .

Ejemplo 2: Extremos relativos de

f(x,y) =(x 2 +3y 2) e1−x 2−y 2 .

Comenzamos deniendo f , y calculando el gradiente y la matriz hessiana:

In[25]:=Clear[“Global *”]f[x_,y_]=(x 2+ 3 y 2) Exp[1-x 2-y 2];z=f[x,y]

In[26]:=J[x_,y_]={ ∂x z, ∂y z}

H[x_,y_]=∂x,x z ∂x,y z∂y,x z ∂y,y z

Si intentamos calcular los puntos críticos resolviendo el sistema J[x,y] ==0 con la ordenNSolve , Mathematica informa que no puede resolverlo, pues aparecen exponenciales, y NSolve(igualque Solve o Reduce ) sólo sirven para polinomios y funciones sencillas. En este punto, tenemosdos posibilidades. La primera, trazar la gráca de f (como supercie o con curvas de nivel) paratener una idea de dónde están los extremos, y usar el comando FindRoot con las aproximacionesiniciales que nos da la gráca.

Page 124: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 124/137

74 Extremos relativos y condicionados

In[27]:=

Plot3D[f[x,y],{x,-2,2},{y,-2,2}]

-2

-1

0

1

2 -2

-1

0

1

2

0

1

2

-2

-1

0

1

Out[27]= - SurfaceGraphics -

In[28]:=

ContourPlot[f[x,y],{x,-2,2},{y,-2,2}]

-2 -1 0 1 2

-2

-1

0

1

2

Out[28]= - ContourGraphics -

A la vista de las grácas podemos calcular aproximaciones a los extremos y calcularlos conFindRoot , pero ¿qué nos asegura que no hay más extremos que no entran en el rango de la función,o que no vemos por la imprecisión de los grácos?.

La segunda posibilidad es realizar operaciones algebraicas en el sistemade ecuaciones J[x,y]==0 ,para convertirlo en un sistema polinómico. Esto no siempre puede hacerse, pero en este caso sí: basta multiplicar el sistema por e −(1−x 2−y 2) (que no se anula), y resolver el nuevo sistema que espolinómico:

In[29]:=

G[x_,y_]=Simplify[J[x,y]*Exp[x 2+y 2-1]]Out[29]=

{2x(1-x 2-3y 2),2y(3-x 2-3y 2 )}

Las soluciones de G[x,y]==0 serán los puntos críticos de f , que almacenaremos en la variable pcrit :

In[30]:=

pcrit=Solve[G[x,y]==0,{x,y}]Out[30]=

{{x ->-1, y ->0}, {x ->0, y ->0}, {x->1, y ->0}, {y ->-1, x ->0}, {y ->1, x->0}}

Page 125: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 125/137

9.4 Extremos condicionados. 75

Estudiemos el hessiano en los cinco puntos:

In[31]:=

Eigenvalues[H[x,y]]/.pcritOut[31]=

{{-4, 4}, {2 E, 6 E},{-4, 4}, {-12,-4}, {-12, -4}}

Tenemos dos puntos de máximo: (0, −1) y (0, 1) ; un punto de mínimo: (0, 0) ; y dos puntos de silla:(−1, 0) y (1, 0) . La función f vale sobre sus puntos críticos

In[32]:=

f[x,y]/.pcritOut[32]=

{1, 0, 1, 3, 3}

con lo que, vale 3 en los dos máximos y 0 en el mínimo.

Ejercicio. Calcular los extremos relativos de las siguientes funciones.

1. f(x,y) =x 2 +y 2 −2x +4y +20.

2. f(x,y) =x 3 +x 2y +y 2 +2y +5.

3. f(x,y) =(x 2 +y 2) ex 2−y 2 .

4. f(x,y,z) =x 2 +y 2 +z 2 −2x .

5. f(x,y) =x 3y 3 −y 4 −x 4 +xy .

9.4. Extremos condicionados.

Usaremos el método de los multiplicadores de Lagrange para calcular extremos condicionados.Se trata de optimizar una función de varias variables en el conjunto de puntos que veriquen unacierta ecuación o ecuaciones.

Dada una función sucientemente diferenciable, y una curva o supercie en forma implícita,

el método consiste en encontrar los puntos de dicha curva o supercie que verican un sistemaauxiliar, llamado “sistema de Lagrange”, que dará el equivalente a los puntos críticos; después habráuna condición sobre el hessiano equivalente a la condición para extremos relativos. Hay que notarque no todas las condiciones son válidas, sino que se ha de imponer una hipótesis técnica, pero enla práctica supondremos hecha la comprobación.

Ejemplo 1: Calculemos los extremos de la función

f(x,y) =x 2 −y 2

Page 126: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 126/137

76 Extremos relativos y condicionados

condicionados a la ecuación

g(x,y) =x 2 +y 2 −1 =0.

Comenzamos deniendo la función f , la condición, y la función auxiliar de Lagrange

In[33]:=f[x_,y_]=x 2-y 2 ;g[x_,y_]=x 2 + y2-1;F[x_,y_,lambda_]=f[x,y]-lambda*g[x,y]z=F[x,y,lambda]

Denimos gradiente y hessiano de la función de Lagrange

In[34]:=J[x_,y_,lambda_]={ ∂x z, ∂y z};

H[x_,y_]=∂x,x z ∂x,y z∂y,x z ∂y,y z

;

y resolvemos el sistema de Lagrange, esto es, J[x,y,lambda]==0 y g[x,y]==0 . Como estamos conecuaciones polinómicas, usaremos Solve :

In[35]:=pcrit=Solve[{J[x,y,lambda]==0,g[x,y]==0},{x,y,lambda}]

Out[35]={{lambda ->-1, y ->-1, x ->0}, {lambda->-1, y ->1, x ->0}, {lambda ->1, x->-1, y ->0}, {lambda ->1, x ->1, y->0}}

Obtenemos 4 puntos críticos, y para ver si son o no extremos, estudiamos la matriz hessiana auxiliarH[x,y,lambda] restringida al espacio tangente a la curva en los puntoscríticos. Desafortunadamen-te, no podemos aplicar de una vez la asignación de valores, sino que deberemos ir punto a punto

In[36]:=

G[x_,y_]={{ ∂x g[x,y], ∂y g[x,y]}};

In[37]:=

nucleo=NullSpace[G[x,y]/. pcrit[[1]]]Out[37]=

{{1,0}}

(observa que pcrit[[1]] nos da el primer punto crítico)

Page 127: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 127/137

9.4 Extremos condicionados. 77

In[38]:=nucleo.(H[x,y,lambda]/.pcrit[[1]]).Transpose[nucleo]

Out[38]=

{{4}}

luego el primer punto es un mínimo condicionado;

In[39]:=

nucleo=NullSpace[G[x,y]/. pcrit[[2]]]Out[39]=

{{1,0}}

In[40]:=nucleo.(H[x,y,lambda]/.pcrit[[2]]).Transpose[nucleo]

Out[40]=

{{4}}

el segundo punto también es mínimo;

In[41]:=

nucleo=NullSpace[G[x,y]/. pcrit[[3]]]

In[42]:=

nucleo.(H[x,y,lambda]/.pcrit[[3]]).Transpose[nucleo]

Out[42]=

{{-4}}

el tercer punto es un máximo;

Page 128: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 128/137

78 Extremos relativos y condicionados

In[43]:=

nucleo=NullSpace[G[x,y]/. pcrit[[4]]]Out[43]=

{{0,1}}

In[44]:=nucleo.(H[x,y,lambda]/.pcrit[[4]]).Transpose[nucleo]

Out[44]=

{{-4}}

otro máximo.El valor de la función en los extremos:

In[45]:=

f[x,y]/.pcritOut[45]=

{-1, -1, 1, 1}

esto es, vale 1 en los máximos y -1 en los mínimos.

Ejemplo 2: Calcular los extremos relativos de

f(x,y,z) =x 2 +y 2 +z 2

condicionados a la supercie

g(x,y,z) =2x +2y −z +3 =0.

Comenzamos con las deniciones:

In[46]:=

f[x_,y_,z_]=x2+ y

2+z

2;g[x_,y_,z_]=2x+2y-z+3;

F[x_,y_,z_,lambda_]=f[x,y,z]-lambda*g[x,y,z];k1=F[x,y,z,lambda];J[x_,y_,z_,lambda_]={ ∂x k1, ∂y k1, ∂z k1};H[x_,y_,z_,lambda_]={{ ∂x,x k1, ∂x,y k1, ∂x,z k1},{ ∂y,x k1, ∂y,y k1, ∂y,z k1},{ ∂z,x k1, ∂z,y k1, ∂z,z k1}};

Resolvemos el sistema de Lagrange

Page 129: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 129/137

9.4 Extremos condicionados. 79

In[47]:=pcrit=Solve[{J[x,y,z,lambda]==0,g[x,y,z]==0},{x,y,z,lambda}]

Out[47]={{x ->-(2/3), y ->-(2/3), z ->(1/3),lambda ->-(2/3)}}

y estudiemos el hessiano de la función auxiliar en el espacio tangente a la supercie. Primero cal-culamos una base de dicho tangente con el comando NullSpace :

In[48]:=k2=g[x,y,z];G[x_,y_,z_]={{ ∂x k2, ∂y k2, ∂z k2}};nucleo=NullSpace[G[x,y,z]/.pcrit[[1]]]

Out[48]=

{{1, 0,2}, {-1, 1, 0}}

Ahora calculamos la matriz hessiana restringida al tangente

In[49]:=M=nucleo.(H[x,y,z,lambda]/.pcrit[[1]]).Transpose[nucleo]

Out[49]=

{{10, -2}, {-2, 4}}

y estudiamos si es denida mediante sus valores propios

In[50]:=

N[Eigenvalues[M]]Out[50]=

{3.39445, 10.6056}

Como ambos son positivos, el único punto crítico calculado es un mínimo condicionado, con valor

In[51]:=

f[x,y,z]/.pcritOut[51]=

{1}

Ejercicio 1: Calcular los extremos condicionados en los siguientes casos:

Page 130: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 130/137

80 Extremos relativos y condicionados

1. f(x,y) =x 2 −xy +y 2 condicionados a x 2 +y 2 −4 =0.

2. f(x,y) =x 3 +xy 2 condicionados a xy =1.

3. f(x,y,z) =xy z condicionados a x 2 +y 2 +z 2 =1.

Ejercicio 2:

1. Hallar la mínima distancia de (0, 0) a x 2 −y 2 =1.

2. Entre todos los ortoedros de volumen 1, determinar el que tiene supercie lateral mínima.

3. Calcular las dimensiones de un ortoedro de supercie lateral 2, para que su volumen seamáximo

4. Se quiere construir un canal cuya sección sea un trapecio isósceles de área dada S . Calcular laprofundidad del canal y el ángulo que deben formar las paredes con la horizontal para que lasupercie mojada sea mínima. ( Sol : se trata de la mitad de un hexágono regular)

Page 131: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 131/137

CAPÍTULO10

Integrales múltiples

Ya conocemos el comando Integrate para realizar integrales de funciones de una variable y,como podrás imaginar por lo visto hasta ahora, pasar a varias variables sólo será cuestión de poneralgunas variables más y alguna coma. En general, la principal diferencia entre una y varias variablesno es tanto la función a integrar como el recinto de integración (por ejemplo, no hay una maneradirecta de decirle a Mathematica que queremos integrar en un círculo). Veremos en esta prácticacomo se pueden escribir los recintos de integración en Mathematica , aprovechando para ello lascapacidades grácas del programa.

Expondremos sólo el caso de dos variables; para integrales triples loscomandos serán totalmente

análogos.Básicamente sólo sabemos calcular la integral de una función f(x,y) en recintos de uno de lossiguientes tipos:

A = {(x,y)∈

R 2 : a ≤x ≤b, g 1(x) ≤y ≤g 2(x) } (10.1)

oB = {(x,y)

∈R 2 : a ≤y ≤b, h 1(y) ≤x ≤h 2(y) } (10.2)

Las correspondientes integrales serían, vía el teorema de Fubini,

A f(x,y) d(x,y)= b

a g 2(x)

g 1(x) f(x,y) dy dxy

Bf(x,y) d(x,y)= b

a h 2(x)

h 1(x)f(x,y) dx dy

La orden para calcular el valor de una integral doble es Integrate o, en caso de que sólo nosinterese una aproximación numérica, NIntegrate . Dado que el comando Integrate intenta calcu-lar una primitiva y después evaluar en los extremos de integración, es más lento que el comandoNIntegrate . La orden completa es

Page 132: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 132/137

82 Integrales múltiples

Integrate[ función ,{x,a,b},{y,c,d}]

y lo mismo para NIntegrate .El caso más fácil se presenta cuando integramos en rectángulos. En este caso las funciones g i o

h i son constantes. Porejemplo, si queremos calcular la integral de f(x,y)

=x 2

+y 2 en [0, 2]

×[1, 5]

tendríamos que hacer lo siguiente:

In[1]:=

Integrate[x 2 + y2 ,{x,0,2},{y,1,5}]Out[1]=

2803

Pasemos a integrales un poco más complicadas. Supongamos que queremos integrar la funciónf(x,y) =x en el conjunto

A

= {(x,y)

R 2 : x 2

+y 2

≤1, x

≥0, y

≥0}

.

Elprimer paso es intentar averiguar cómo es el conjunto, para lo que nosharía falta dibujar x 2+y 2 =1. Para ello, necesitamos un paquete de Mathematica para dibujar curvas que vienen dadas por unaecuación (llamada “ecuación implícita”). La orden para cargar este paquete extra es:

In[2]:=

<< Graphics`ImplicitPlot`

(observa que no produce ninguna salida). Ahora ya podemos pedir que nos pinte x 2 +y 2 =1 parax∈

[0, 1] . La orden es

ImplicitPlot[ ecuación ,{x,a,b}]

donde a y b representan el rango de variación de la variable x , rango que normalmente tendremosque calcular “a ojo”. En nuestro caso

In[3]:=

ImplicitPlot[x 2+y 2==1,{x,0,1}]

0.2 0.4 0.6 0.8 1

-1

-0.5

0.5

1

Out[3]= - Graphics -

Page 133: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 133/137

83

Cómo se puede ver, Mathematica dibuja la circunferencia para “ y ” positivo y negativo, en cambiosólo nos interesa la parte del primer cuadrante. Para representar esta parte podemos restringir elrango de la imagen con la opción PlotRange (la orden ImplicitPlot tiene básicamente las mismasopciones que la orden Plot ).

In[4]:=ImplicitPlot[x 2+y 2==1,{x,0,1},PlotRange->{0,1}]

0.2 0.4 0.6 0.8 1

0.2

0.4

0.6

0.8

1

Out[4]= - Graphics -

Después de ver el conjunto A donde estamos integrando, es claro cómo podemos poner unavariable en función de la otra. Por ejemplo, si ponemos y en función de x , para un valor concretode x entre 0 y 1, y varía entre 0 y √1 −x 2. Podemos calcular ahora el valor de la integral:

In[5]:=

Integrate[x,{x,0,1},{y,0,Sqrt[1-x 2]}]Out[5]=

13

Como se puede observar el orden para evaluar la integral es de derecha a izquierda, así que si y depende de x , el rango de x va primero.

Observarás que no hemos cambiado a coordenadas polares. Para integrales en varias variables,interesa cambiar de variable cuando el dominio o la función son complicados. En el primer caso,si no podemos escribir el dominio de una las formas (1) o (2) tendremos que cambiar de variablenosotros ( Mathematica no lo hace automáticamente). El caso de funciones complicadas no nos debe

preocupar, pues Mathematica se encarga de resolver la integral en la inmensamayoría de los casos, ysi no se puede resolver directamente, siempre queda la posibilidad de aproximar el valor de integral.Veamos un par de ejemplos:

Ejemplo 1. Calcular la integral de la función f(x,y) =ex/y , en el conjunto A = {(x,y)∈

R 2 : 0 ≤y 3 ≤x ≤y 2}.

Estamos en el caso (2). Tenemos la variable x en función de y . Vamos primero a ver los puntosde corte de las ecuaciones y 3 =x , y 2 =x y luego las dibujaremos para hacernos una idea de cuáles el dominio de integración:

Page 134: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 134/137

84 Integrales múltiples

In[6]:=

Needs["Graphics‘ImplicitPlot‘"]

In[7]:=

Solve[y 3 == y 2 ,y]Out[7]=

{{y->0},{y->0},{y->1}}

In[8]:=graf1=ImplicitPlot[y 3==x,{x,0,1},PlotStyle->RGBColor[1,0,0]]

0.2 0.4 0.6 0.8 1

0.2

0.4

0.6

0.8

1

In[9]:=graf2=ImplicitPlot[y 2==x,{x,0,1},PlotStyle->RGBColor[0,1,0]]

0. 2 0 .4 0 . 6 0 .8 1

-1

-0.5

0.5

1

In[10]:=

Show[graf1,graf2]

0. 2 0 .4 0 . 6 0 .8 1

-1

-0.5

0.5

1

Page 135: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 135/137

85

De lo hecho se deduce que la integral que queremos calcular es

In[11]:=

Integrate[Exp[x/y],{y,0,1},{x,y 3 , y 2}]Out[11]=

32 −

E2

Ejemplo 2. Calcular la integral de la función

f(x,y) =x 2 +y 2

en el conjunto A = {(x,y)

∈R 2 : (x 2 +y 2) 2 ≤4(x 2 −y 2), x ≥0}.

En este caso la función es relativamente sencilla pero el dominio no lo es tanto. No hay unamanera fácil de hacer la integral directamente, así que es mejor cambiar a coordenadas polares yluego plantear la integral. Dibujemos el recinto:

In[12]:=

ImplicitPlot[(x 2+y 2) 2==4(x 2-y 2),{x,0,3}]

0.5 1 1.5 2

-0.6

-0.4

-0.2

0.2

0.4

0.6

Las condiciones del dominio escritas en coordenadas polares son:

ρ 4 ≤4ρ 2(cos2(θ) −sen 2(θ)), ρ cos θ ≥0

Después de operar, nos quedaría

ρ ≤2 cos2(θ) −sen 2(θ) y θ∈

[−π/ 4, π / 4]

Ahora ya estamos en una de los casos conocidos y podemos plantear la integral, sin olvidar elcambio a coordenadas polares de la función y la “derivada” del cambio (en este caso ρ ):

In[13]:=Integrate[ ρ

∗ρ 2 ,{t, -Pi/4, Pi/4},

{ ρ ,0,2 Sqrt[Cos[t] 2 -Sin[t] 2]}]Out[13]=

π

Page 136: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 136/137

86 Integrales múltiples

Ejercicio 1. Calcular la integral de las siguientes funciones en los recintos determinados por lassiguientes ecuaciones:

1. f(x,y) = 4x 2 −y 2 , x =1, y =0, y =x

2. f(x,y) =xe −x 2 /y

, x =0, y =1, y =x2

3. f(x,y) =y, y > 0, x 2 +y 2 =a 2, y 2 =2ax,x =0

Ejercicio 2. Calcular el volumen del conjunto A en cada uno de los siguientes casos:

1. A = (x,y,z)∈

R 3 : x 2 +y 2 ≤z ≤ x 2 +y 2

2. A = (x,y,z)∈

R 3 : x 2

a 2 +y 2

b 2 ≤1, 0 ≤z ≤x 2

a 2 +y 2b 2

3. A = (x,y,z)∈

R 3 : 0 ≤z ≤x 2 +y 2 , x +y ≤1, x ,y ≥0

4. A

=(x,y,z)

R 3 : 0

≤z

≤x 2

+y 2, x 2

+y 2

≤2y

5. A = (x,y,z)∈

R 3 : 0 ≤z ≤4 −y 2 , 0 ≤x ≤6

6. A = (x,y,z)∈

R 3 : √x ≤y ≤2√x, 0 ≤z ≤9 −x

7. A = (x,y,z)∈

R 3 : x 2 +y 2 ≤z 2 , x 2 +y 2 +z 2 ≤2z

Ejercicio 3. Calcular el volumen limitado superiormente por el cono 4 x 2 +4y 2 −z 2 = 0, infe-riormente por el plano z =0 y lateralmente por el cilindro x 2 +(y −2) 2 =4.

Ejercicio 4. Calcular el volumen de los sólidos siguientes:

1. Intersección de los cilindros x 2

+y 2

=r 2 , y 2

+z 2

=r 2.

2. El limitado por el plano z =0, el cilindro x 2 +y 2 =2ax (a > 0) y el cono x 2 +y 2 =z 2.

Page 137: Ma Thematic A

8/8/2019 Ma Thematic A

http://slidepdf.com/reader/full/ma-thematic-a 137/137

BIBLIOGRAFÍA

• Matemáticas y Mathematica.- Inmaculada Serrano Gómez.

- Mª Joaquina Berral Yerón.

Universidad de Córdoba, 2003. ISBN 84-7801-700-3

• Manual de Mathematica 5.1.

Robert Ipanaqué Chero.

• Manual de Mathematica 5.2.

Recursos web

• http://www.wolfram.com/