126
DEPARTAMENT DE MATEM ` ATIQUES UNIVERSITAT JAUME I FUNDAMENTOS MATEM ´ ATICOS DE LA INGENIER ´ IA Pr´ acticas de Laboratorio con Mathematica Cristina Chiralt Fernando Casas Jorge Galindo Sergio Macario Manuel Sanchis

Fundamentos Matemáticos de la Ingeniería. Prácticas con

Embed Size (px)

Citation preview

Page 1: Fundamentos Matemáticos de la Ingeniería. Prácticas con

DEPARTAMENT DE MATEMATIQUES

UNIVERSITAT JAUME I

FUNDAMENTOS

MATEMATICOS

DE LA INGENIERIA

Practicas de Laboratorio con Mathematica

Cristina ChiraltFernando CasasJorge GalindoSergio MacarioManuel Sanchis

Page 2: Fundamentos Matemáticos de la Ingeniería. Prácticas con
Page 3: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Prefacio

El presente manual esta destinado a la realizacion de las practicas de laboratoriocorrespondientes a las asignaturas de Fundamentos Matematicos de la Ingenierıa Iy II de la Ingenierıa Industrial en la Universitat Jaume I. Cada una de ellas tieneasignado 1 credito (equivalente a 10 horas lectivas) dedicado a la realizacion depracticas con el ordenador. Esas 10 horas se reparten en cuatro sesiones de 2.5 horascada una, a razon de dos sesiones en cada cuatrimestre. Las practicas se desarrollanutilizando el programa Mathematica, y el objetivo de las mismas es doble. Por unaparte, se trata de afianzar e ilustrar la materia impartida en el aula (clases deteorıa y de problemas) y por otra de cubrir aquellos aspectos del programa quedifıcilmente pueden desarrollarse durante dichas clases, como es todo lo relativo alcalculo numerico. En este sentido, se ha considerado importante dedicar una sesionentera a los aspectos graficos que el programa Mathematica ofrece.

El manual se ha dividido en ocho capıtulos o practicas, cada uno de los cualescorresponde aproximadamente al material impartido en cada sesion de 2.5 horas.Como complemento, se ha incluido un apendice con material relativo a ecuacionesdiferenciales no lineales, haciendo especial hincapie en los aspectos cualitativos de lateorıa. Este capıtulo adicional se incluye por completitud y tambien porque puededarse el caso de que la primera practica (una introduccion generica a Mathematica)pueda reducirse al mınimo si los estudiantes ya disponen de conocimientos previossobre el programa.

Cada practica dispone de una pequena introduccion teorica, siendo esta masamplia cuando el material tratado en la misma no se ha impartido previamenteen el aula de teorıa. Esto es especialmente relevante en el caso de la practica 4(interpolacion y aproximacion de funciones) y la practica 5 (integracion numerica).

Se ha intentado que el desarrollo de cada practica este suficientemente detalladoen los calculos y pasos intermedios, puesto que el objetivo es que el estudiante en-tienda cabalmente todo el proceso, ası como representar graficamente los resultados,para que la asimilacion de los conceptos sea mas sencilla.

Esperamos que este manual sea una herramienta util para nuestros estudiantesen su proceso de aprendizaje de los Fundamentos Matematicos de la Ingenierıa.

Los autores

Page 4: Fundamentos Matemáticos de la Ingeniería. Prácticas con
Page 5: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Indice general

1. Introduccion a Mathematica 11.1. Convenios sobre notacion . . . . . . . . . . . . . . . . . . . . . . . . 11.2. El Front End y el Nucleo . . . . . . . . . . . . . . . . . . . . . . . . 21.3. Notacion matematica de Mathematica . . . . . . . . . . . . . . . . . 31.4. Corchetes, parentesis y llaves . . . . . . . . . . . . . . . . . . . . . . 61.5. Funciones incorporadas . . . . . . . . . . . . . . . . . . . . . . . . . 61.6. Definiendo funciones no incorporadas . . . . . . . . . . . . . . . . . . 81.7. Listas y matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.8. Resolucion de ecuaciones . . . . . . . . . . . . . . . . . . . . . . . . . 121.9. Reglas de sustitucion . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.10. Ayudas incorporadas . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.11. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2. Algebra Lineal 162.1. Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.1.1. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.2. Conicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3. Graficas en dos y tres dimensiones 283.1. Graficas en dos dimensiones . . . . . . . . . . . . . . . . . . . . . . . 28

3.1.1. Graficas en coordenadas cartesianas . . . . . . . . . . . . . . 283.1.2. Graficas en coordenadas polares . . . . . . . . . . . . . . . . 323.1.3. Graficas de funciones implıcitas . . . . . . . . . . . . . . . . . 33

3.2. Graficas en tres dimensiones . . . . . . . . . . . . . . . . . . . . . . . 353.2.1. Graficas 3D en coordenadas cartesianas . . . . . . . . . . . . 35

3.3. Animacion de graficos . . . . . . . . . . . . . . . . . . . . . . . . . . 373.4. Graficas bidimensionales en coordenadas parametricas . . . . . . . . 38

4. Interpolacion y aproximacion de funciones 424.1. Polinomio interpolador de Lagrange . . . . . . . . . . . . . . . . . . 424.2. Polinomio interpolador de Newton . . . . . . . . . . . . . . . . . . . 444.3. Cota de error en la interpolacion . . . . . . . . . . . . . . . . . . . . 45

4.3.1. El efecto Runge . . . . . . . . . . . . . . . . . . . . . . . . . . 464.4. Interpolacion con un splin cubico . . . . . . . . . . . . . . . . . . . . 464.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

i

Page 6: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Fundamentos Matematicos de la Ingenierıa II ii

5. Integracion numerica 505.1. Reglas de cuadratura . . . . . . . . . . . . . . . . . . . . . . . . . . . 515.2. Obtencion de reglas de cuadratura . . . . . . . . . . . . . . . . . . . 52

5.2.1. El metodo interpolatorio . . . . . . . . . . . . . . . . . . . . . 525.2.2. El metodo de coeficientes indeterminados . . . . . . . . . . . 53

5.3. Error de cuadratura . . . . . . . . . . . . . . . . . . . . . . . . . . . 535.4. Reglas compuestas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

5.4.1. Errores en las reglas compuestas . . . . . . . . . . . . . . . . 555.5. Algoritmo de los metodos en Mathematica . . . . . . . . . . . . . . . 565.6. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

6. Sucesiones y series 606.1. Sucesiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606.2. Series de numeros reales . . . . . . . . . . . . . . . . . . . . . . . . . 646.3. Series de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

7. Ecuaciones diferenciales con Mathematica 747.1. Tratamiento analıtico . . . . . . . . . . . . . . . . . . . . . . . . . . 74

7.1.1. Ecuaciones diferenciales de primer orden . . . . . . . . . . . . 747.1.2. Ecuaciones diferenciales lineales de segundo orden . . . . . . 797.1.3. Sistemas de ecuaciones diferenciales . . . . . . . . . . . . . . 82

7.2. Metodos numericos para la resolucion de ecuaciones diferenciales . . 867.2.1. Resolucion numerica con Mathematica . . . . . . . . . . . . . 887.2.2. Algoritmo de los metodos numericos en Mathematica . . . . . 897.2.3. Sistemas de ecuaciones diferenciales . . . . . . . . . . . . . . 91

7.3. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

8. Derivadas parciales. Extremos en funciones de varias variables 958.1. Derivadas parciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 958.2. Extremos libres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 978.3. Extremos condicionados. Multiplicadores de Lagrange . . . . . . . . 100

A. Sistemas de ecuaciones diferenciales no lineales 101A.1. Estudio geometrico: campos de direcciones . . . . . . . . . . . . . . . 102A.2. Estudio cualitativo. Retrato de fases . . . . . . . . . . . . . . . . . . 105A.3. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

Page 7: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Practica 1

Introduccion a Mathematica

Mathematica es un sistema general de software usado para llevar a cabo calculostecnicos en ciencia, ingenierıa, matematicas y areas computacionales. La primeraversion fue anunciada en 1988, y la mas reciente hasta la fecha (la version 7) fue lan-zada el 18 de noviembre de 2008, encontrandose disponible para una gran variedadde sistemas operativos. Aunque se considera comunmente como un sistema de alge-bra computacional, Mathematica es tambien un poderoso lenguaje de programacionde proposito general.

El lenguaje de programacion de Mathematica esta basado en re-escritura determinos (que se identifica tambien como computacion simbolica), y soporta el usode programacion funcional y de procedimientos (aunque en general, la programa-cion funcional es mas eficiente). Esta implementado en una variante del lenguaje deprogramacion C orientado a objetos, pero el grueso del extenso codigo de librerıasesta en realidad escrito en el lenguaje Mathematica, que puede ser usado para ex-tender el sistema algebraico. Usualmente, tambien es posible anadir nuevo codigoen forma de paquetes de Mathematica.

Mathematica es un lenguaje interpretado, es decir, lee expresiones, evalua elresultado y luego lo muestra en pantalla. Al ser interactivo, es mas facil de usar quelos lenguajes compilados como C o FORTRAN.

Mathematica dispone de una gran cantidad de funciones ya definidas (funcionesincorporadas) con las que se pueden cubrir los aspectos mas generales de las inge-nierıas. Ademas, como hemos comentado, Mathematica es programable; cualquierfuncion no disponible la puede escribir uno mismo.

1.1. Convenios sobre notacion

Para introducirnos en el lenguaje de Mathematica, en cada practica veremosalgunos ejemplos que muestran las posibilidades de este programa. Para comenzarcon Mathematica es conveniente probar con los ejemplos propuestos.

Las expresiones escritas en letra mecanografiada corresponden al input y sedeben escribir tal y como aparecen en los ejemplos; las correspondientes al outputno se tienen que escribir: es la respuesta de Mathematica. Las palabras y sımbolosescritos en cursiva se deben reemplazar por expresiones introducidas por el usuario.

1

Page 8: Fundamentos Matemáticos de la Ingeniería. Prácticas con

En el siguiente ejemplo la expresion 2 + 2 corresponde al input, y por tanto sedebe escribir tal y como aparece, mientras que la expresion 4 (de color mas claro)corresponde al output, y no se debe escribir en pantalla.

2 + 2

4

En este otro ejemplo la expresion ?+ corresponde al input y la respuesta de Mat-hematica no va precedida por Out[n] , puesto que es informacion y no un resultadopropiamente dicho.

? +

x + y + z represents a sum of terms. �

En el apartado 1.10 se explicara el significado del sımbolo ?Hay que poner atencion en la diferencia entre mayusculas y minusculas, el tipo

de parentesis o llaves, la cantidad de espacios y la puntuacion (comas, puntos ycomas).

Mathematica diferencia entre mayusculas y minusculas y, por tanto, Sin[x]es distinto de sin[x].

Los nombres de todas las funciones incorporadas empiezan con mayuscula ytienen sus argumentos (variables) entre corchetes.

Cada tipo de parentesis tiene su propio significado.

No se deben poner espacios en los nombres de las funciones y sı entre dosvariables que deben ser multiplicadas. En los demas casos, los espacios no setienen en cuenta.

Al igual que con los tipos de parentesis, cada signo de puntuacion tiene tambiensu propio significado.

1.2. El Front End y el Nucleo

Mathematica consta de dos partes: el Kernel (nucleo) y el Front End (fachada).El Kernel realiza los calculos y el Front End interacciona con el usuario. El Kerneltrabaja de la misma forma sobre todo tipo de ordenadores que dispongan de la mismaversion de Mathematica. El Front End, en cambio, es especıfico de cada ordenador.

El Kernel es un programa C muy extenso que lee los inputs y devuelve los outputspor medio de dos procesos: llama al codigo C para hacer los calculos y usa reglas dereescritura para dar los resultados en pantalla, cuando proceda.

Sobre muchos ordenadores, el Front End para Mathematica dispone de documen-tos interactivos sofisticados llamados notebooks. Todos ellos presentan esencialmentela misma apariencia para el usuario. Estos documentos proporcionan facilidades pa-ra editar texto y para enviar los inputs al Kernel para su evaluacion. Ademas, en

2

Page 9: Fundamentos Matemáticos de la Ingeniería. Prácticas con

ellos se pueden incluir graficos. Los documentos realizados en un Front End tiponotebook se pueden imprimir tal y como aparecen en pantalla.

El Front End y el Kernel estan separados. El Front End solo envıa un calculo alKernel solo cuando ası se le ordena. Tal peticion se efectua mediante la combinacionde teclas Shift-Return (mayusculas y retorno de carro)o mediante la tecla Introdel teclado numerico.

No es necesario que el Front End y el Kernel se encuentren instalados en el mismoordenador. Por ejemplo, se puede utilizar la manejabilidad de un ordenador personalpara editar los comandos en un Front End tipo notebook, y mandar a realizar loscalculos a un Kernel instalado en una estacion de trabajo (kernel remoto). Porsupuesto, los outputs aparecen en el ordenador personal de la misma forma que siel calculo lo hubiese realizado el Kernel instalado en dicho ordenador (kernel local).Para ello es preciso que los dos ordenadores esten conectados por medio de una red.

1.3. Notacion matematica de Mathematica

Mathematica es un programa interactivo. En las versiones de Mathematica queutilizaremos con Front End tipo Notebook, cuando introducimos una expresion, co-mo por ejemplo una operacion matematica, no ocurre nada. Al ejecutar esta expre-sion (cosa que en las versiones actuales puede hacerse presionando simultaneamenteIntro+ Mayusculas o la tecla de Intro del teclado numerico) Mathematica la proce-sa, inserta In[n]:= despues de que Mathematica haya calculado el resultado y, sicorresponde, muestra el resultado, con una etiqueta de la forma Out[n]= . A con-tinuacion Mathematica muestra un nuevo indicador de input, y el ciclo comienzaotra vez. El numero comprendido entre corchetes se va incrementando al introducirnuevas expresiones. En ningun caso hay que introducir los indicadores In[n]:= yOut[n]= . En la primera expresion a evaluar n = 1 . Es posible referirse a expresionesya introducidas o a resultados ya obtenidos gracias a estos indicadores.

Mathematica tiene incorporados la mayorıa de los sımbolos matematicos con losque se trabaja habitualmente. Entre ellos estan las operaciones basicas: suma (+),diferencia (-), producto (*), division (/) y potencia (^). Como se ha indicado en elapartado 1.1, los nombres de todas las funciones incorporadas de Mathematica em-piezan con mayuscula. Los nombres de las funciones incorporadas correspondientesa los sımbolos anteriores los podemos ver en la siguiente tabla.

Sımbolo matematico Funcion incorporada+ Plus- Minus, Subtract* Times/ Divide^ Power

Los sımbolos matematicos y las funciones incorporadas asociadas, evidentemente,consiguen el mismo resultado; por ejemplo,

3

Page 10: Fundamentos Matemáticos de la Ingeniería. Prácticas con

2 + 4

6

Plus@2, 4D

6

Una primera operacion sencilla que podemos efectuar es 237.23^7

3 404 825 447

Para referirnos a este ultimo resultado se utiliza el caracter %. Ası, %^2 nos de-volvera 2314.

%^2

11 592 836 324 538 749 809

Utilizacion de resultados obtenidos previamente ( %n): Se puede hacerreferencia a un resultado anterior mediante uno o mas signos de porcentaje; esdecir, % se refiere al ultimo resultado, % % al penultimo, y ası sucesivamente. Tambiennos podemos referir a un resultado concreto mediante %n, donde n es el numero dela lınea de output.

Conservacion y perdida de datos del Kernel: Mathematica conserva todoslos datos de entrada y salida ası como el valor de todas las variables definidas enalgun momento de la sesion. Si se escribe por ejemplo x = 2, en un Notebook, apartir de ese momento Mathematica identificara x con 2 (y producira errores si porejemplo escribimos Solve[x+1==7,x]). Cuando se cierra el Kernel (lo que ocurresiempre al salir del programa, pero tambien se puede hacer sin salir utilizando QuitKernel en la pestana Kernel), se pierden los valores de las variables y ya no esposible referirse a los resultados anteriores mediante %n.

Al combinar varios sımbolos matematicos en un mismo input se deben tener encuenta los criterios de prioridad habituales entre ellos, que determinan el orden deevaluacion de la expresion.

2^3 *6 + H9 - 1L �4

50

2^H3 *6L + H9 - 1L �4

262 146

2^3 ´6 + 9 - 1 �4

227

4

En este ultimo ejemplo hemos utilizado las dos formas alternativas de indicaruna multiplicacion en Mathematica(mediante ∗ o bien dejando un espacio en blancoentre ellos1).

1Mathematica 6 anade, entonces, el aspa.

4

Page 11: Fundamentos Matemáticos de la Ingeniería. Prácticas con

En algunas ocasiones puede ser conveniente asignar un nombre a un resultadopara ser utilizado despues. Esta asignacion permite trabajar con mayor comodidadque refiriendonos al resultado mediante el numero de la lınea de output. La expre-sion velocidadDeLaLuz = 300000 hace que Mathematica asocie el valor 300000 alnombre velocidadDeLaLuz (se entiende que las unidades son Km/s en el vacıo).

velocidadDeLaLuz = 300 000

300 000

Una vez realizada la asignacion, podemos referirnos al valor 300000 por su nom-bre y podemos, incluso, realizar operaciones usando la variable definida.

velocidadDeLaLuz - 269 000

31 000

Una manera mas correcta de expresar este resultado con las unidades correspon-dientes puede ser la siguiente:

velocidadDeLaLuz "Km�s" - 269 000 "Km�s"

31 000 Km�s

Lıneas y Celdas: Cada vez que llamamos al nucleo para que procese las ordenesintroducidas, Mathematica ejecuta todas las instrucciones agrupadas en la mismacelda (el corchete que se ve en el extremo derecho del Notebook). Para anadir ordenesdentro de una celda (cuando se tiene un input demasiado largo, o se desea que ejecutevarias ordenes sucesivamente) se puede continuar en sucesivas lıneas, basta pulsarEnter para descender una lınea sin cambiar de celda. Para cambiar de celda seutiliza la flecha ↓ del cursor. Hay que poner atencion en lo siguiente: si queremostruncar una lınea de input en una operacion matematica, por ejemplo una suma,debemos comenzar una nueva lınea despues del signo +, o bien, encerrar el inputentre parentesis.

De esta forma obtenemos el resultado correcto:7 + 4 +

5

16

De esta otra, Mathematica entiende que hemos introducido dos inputs:7 + 4

+5

11

5

Abrir un parentesis en la primera lınea y cerrarlo en la ultima es una maneraconveniente para realizar esa operacion.

H7 + 4

+ 5L16

5

Page 12: Fundamentos Matemáticos de la Ingeniería. Prácticas con

1.4. Corchetes, parentesis y llaves

Hay varias clases de “parentesis” que se usan en Mathematica; algunos de elloslos hemos utilizado en los apartados anteriores. Cada clase de “parentesis” tiene unsignificado diferente.

Los parentesis ( ) se usan para agrupar expresiones tal y como sucede en la nota-cion matematica. Como se ha senalado en el apartado 1.3, los parentesis determinanel orden de prioridad al evaluar una expresion.

1 + 2 *3

7

H1 + 2L *3

9

Los corchetes [ ] se usan para especificar los argumentos de una funcion. En elapartado 1.10 pedıamos informacion acerca de la funcion Sin; esta funcion requiereun unico argumento: un numero. El concepto de argumento sera aclarado en elapartado 1.5.

Sin@Pi �2D

1

Sin@ID

ä Sinh@1D

En este ultimo ejemplo I representa el numero imaginario√−1.

Las llaves se utilizan para definir conjuntos de elementos de forma similar a lautilizada en la notacion matematica para definir un conjunto por extension. En no-tacion matematica, el conjunto formado por los cinco primeros numeros naturalesse puede representar por {1, 2, 3, 4, 5}. En el lenguaje de Mathematica estas entida-des (conjuntos de elementos definidos por extension) se llaman listas y tambien seutilizan para definir vectores y matrices.

Por ultimo, el texto entre (* y *) no se evalua. Estos parentesis se utilizan parahacer comentarios en el notebook.

v = 87, 3, -1< H* Aqui v es un vector *L

87, 3, -1<

1.5. Funciones incorporadas

El Kernel de Mathematica reconoce mas de 1100 funciones. Estas funciones sellaman funciones incorporadas (built-in functions). En los apartados anteriores he-mos usado algunas de ellas: Sin, Plus, Pi, y otras han aparecido en el output: Sqrt,I, Sinh. Con el nombre generico de funciones incorporadas se consideran: funciones,variables, constantes y opciones. Dentro del primer grupo estarıan Sin, Plus, Sqrt ySinh; por una variable se entiende una funcion como velocidadDeLaLuz (apartado

6

Page 13: Fundamentos Matemáticos de la Ingeniería. Prácticas con

1.3); dentro de las constantes estan las funciones Pi y I; ejemplos de opciones losdaremos mas adelante.

Los nombres de las funciones incorporadas consisten en palabras inglesas com-pletas o abreviaciones matematicas estandar, de forma que la primera letra de cadapalabra se escribe con mayuscula. Por ejemplo, para utilizar la funcion arco-seno de-bemos escribir ArcSin, de modo que si queremos obtener arc sen 1/2, introducimos:

ArcSin@1 �2DΠ

6

Las funciones propiamente dichas son el equivalente a las funciones que emplea-mos en matematicas, en el sentido de que no tienen por que tomar siempre un valorconstante. La funcion trigonometrica sin(x) es una funcion no constante; la letra xdecimos que es su variable. En la notacion de Mathematica la funcion seno hemosvisto que se representa por Sin, de forma que cuando queremos calcular sin(π/2)escribimos Sin[Pi/2]. El concepto analogo al concepto matematico de variable enla terminologıa de Mathematica es el termino argumento.

Evidentemente, no todas las funciones requieren un unico argumento. Cuandouna funcion requiere mas de un argumento, estos van separados por comas. Aquı cal-culamos la derivada de x2:

D@x^2, xD

2 x

Hay funciones que no requieren ningun argumento. La funcion TimeUsed da elnumero total de segundos de tiempo de CPU usados hasta ese momento en la sesionde Mathematica. Hay que tener en cuenta que el resultado puede variar dependiendoen que maquina se este usando Mathematica.

TimeUsed@D

0.23

Si una funcion es invocada con mas, o menos, argumentos de los requeridosMathematica devuelve un mensaje de error y como output la expresion sin evaluar.

Sin@2, 3D

Sin::argx : Sin called with 2 arguments; 1 argument is expected. �

Sin@2, 3D

Otras funciones, en cambio, pueden tener un numero variable de argumentos.Plus@2, 5, -3, 7D

11

Existen funciones que pueden tomar un numero de argumentos opcionales. Porejemplo, la funcion Expand requiere un unico argumento: una expresion.

Expand@Hx^2 + x + 1L^2D

1 + 2 x + 3 x2 + 2 x3 + x4

7

Page 14: Fundamentos Matemáticos de la Ingeniería. Prácticas con

En cambio la siguiente expresion no puede expandirla:Expand@Sin@2 xDD

Sin@2 xD

Esta funcion admite un argumento opcional, Trig -> True, que permite tratarlas funciones trigonometricas como funciones racionales de exponenciales, y expan-dirlas de acuerdo con esto.

Expand@Sin@2 xD, Trig ® TrueD

2 Cos@xD Sin@xD

La funcion incorporada Trig es un ejemplo de funcion de las catalogadas comoopciones.

Las funciones de Mathematica tienen tambien una series de propiedades, al igualque sucede con las funciones matematicas. Estas propiedades se denominan atribu-tos. Al pedir informacion adicional respecto a la funcion Sin, ademas de obtenerinformacion acerca de para que sirve esta funcion, Mathematica indica que propie-dades posee esa funcion. Se puede saber que atributos tiene una funcion a partir dela funcion Attributes.

Attributes@SinD

8Listable, NumericFunction, Protected<

Una funcion con el atributo Listable aplica la funcion a cada elemento de unalista.

Sin@80, Pi �6, Pi �4, Pi �3, Pi �2<D

:0,1

2,

1

2,

3

2, 1>

El atributo Protected previene que sea modificada esa funcion.Sin = 1

Set::wrsym : Symbol Sin is Protected. �

1

1.6. Definiendo funciones no incorporadas

Como se ha indicado en la introduccion, Mathematica es programable y, portanto, podemos anadir funciones a Mathematica. Un ejemplo muy sencillo es definiruna funcion que eleve al cuadrado su argumento.

f@x_D = x^2;

El caracter _ (referido como blanco) en la parte de la izquierda es muy impor-tante. No hay que poner un blanco en la parte de la derecha de la definicion.

Ahora, basta substituir la variable por un valor para obtener el resultado

8

Page 15: Fundamentos Matemáticos de la Ingeniería. Prácticas con

f@2D

4

Una funcion puede tener mas de un argumento. Aquı definimos la funcion g(x, y) =xy y la evaluamos en (2, 3):

g@x_, y_D = x y;

g@2, 3D

6

Definicion aplazada de funciones: En ocasiones deseamos definir una funciono asignar un valor a una variable, pero no deseamos que la definicion se procese deinmediato, sino cuando vaya a ser usada. En este caso el signo igual (=) debe irprecedido por dos puntos (:=). Veamos por ejemplo la diferencia entre la definicioninmediata y aplazada de una funcion como f(x) = x2, cuando previamente hemosdefinido x = 4. Con definicion inmediata:

x = 8;

f@x_D = x^2;

f@5D64

Con definicion aplazada:x = 8;

f@x_D := x^2;

f@5D25

Son muchas las situaciones en las que podemos necesitar una definicion aplazada.Por ejemplo, cuando definimos la funcion factorial.

factorial@0D = 1;

factorial@x_D := x Factorial@x - 1Dfactorial@4D

24

1.7. Listas y matrices

Una lista es un conjunto de datos (constantes, funciones, otras listas, etc.) dis-puesto en la forma:

{dato1, dato2, . . . ...}

Las listas contituyen una de las estructuras mas importantes de Mathematica.Hay que senalar que el concepto de lista en Mathematica es mas extenso que elconcepto matematico de conjunto. Una lista puede tener elementos repetidos.

81, 2, 1, 3, 1, 4, 1, 5<

81, 2, 1, 3, 1, 4, 1, 5<

9

Page 16: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Como se ha senalado antes, los elementos de una lista no tienen por que sernumeros reales.

82, x + 1, 2 x^2 + 3 x + 7<

92, 1 + x, 7 + 3 x + 2 x2=

Los vectores y las matrices tambien se representan mediante listas. En el ejemploanterior se ha dado un vector cuyas componentes son polinomios.

Con una lista se pueden efectuar operaciones aritmeticas basicas (elemento aelemento) o bien utilizarlas como argumento de una funcion para obtener una listade valores:

81, 2, 3<^4

81, 16, 81<

Sin@80, Pi �6, Pi �4, Pi �3, Pi �2<D

:0,1

2,

1

2,

3

2, 1>

Una matriz es una lista de listas. Cada uno de los elementos de esta lista es otralista que representa los vectores fila de la matriz. Ası, la matriz

a =(

0 −1 37 2 −4

)en el lenguaje de Mathematica se representa como

a = 880, -1, 3<, 87, 2, -4<<

880, -1, 3<, 87, 2, -4<<

Extraccion de datos de una lista: Los dobles corchetes se utilizan para extraerun elemento de una lista. Por ejemplo, dado el vector v = {7, 3, -1} el primerelemento de esta lista es 7.

v = 87, 3, -1<

87, 3, -1<

v@@1DD

7

En general, el elemento i-esimo de una lista v es v[[i]].Tambien podemos extraer los elementos de una matriz.a@@1DD@@2DD

-1

Una forma alternativa mas comoda es:a@@1, 2DD

-1

10

Page 17: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Generacion de listas: Una forma de generar listas es mediante la funcion Table.Table@i, 8i, 1, 5<D

81, 2, 3, 4, 5<

Mediante esta funcion tambien se puede generar una matriz.Table@i *j, 8i, 1, 3<, 8j, 1, 4<D

881, 2, 3, 4<, 82, 4, 6, 8<, 83, 6, 9, 12<<

Las operaciones basicas con matrices son:

A+B: Suma de las matrices A y B.

A-B: Diferencia de las matrices A y B.

c A: Producto de las matriz A por el escalar c.

A.B: Producto de las matrices A y B.

Det[A]: Determinante de la matriz A.

Inverse[A]: Inversa de la matriz A (si existe).

MatrixPower[A,n]: Potencia n-esima de A, An.

Transpose[A]: Traspuesta de la matriz A.

IdentityMatrix[n]: Matriz identidad de orden n.

DiagonalMatrix[lista]: Matriz diagonal con los elementos de lista en la diago-nal.

Minors[A,k]: Sub-matrices de orden k × k de la matriz A.

Producto de matrices: Es importante observar que para multiplicar matrices nose utiliza el asterisco ∗. El sımbolo ∗ (o la yuxtaposicion de matrices) es utilizado paraobtener el producto “aritmetico” (elemento a elemento). Para obtener el productomatricial se utiliza el punto .

p = 881, 3<, 80, -1<<;q = IdentityMatrix@2D;

El producto matricial debe dar la matriz p. Ası,p.q

881, 3<, 80, -1<<

Mientras que p∗q proporciona el producto elemento a elemento:p *q

881, 0<, 80, -1<<

11

Page 18: Fundamentos Matemáticos de la Ingeniería. Prácticas con

1.8. Resolucion de ecuaciones

Una funcion que se requiere en muchas ocasiones es la de resolver ecuaciones. Elcomando Solve intenta resolver la ecuacion que se le plantea. Debemos indicar laecuacion o ecuaciones a resolver y cuales son las incognitas. Salvo que le indiquemoslo contrario, Mathematica puede utilizar funciones inversas cuando las ecuacionesno son polinomicas. En estos casos alguna solucion (o quiza una cantidad infinita deellas) pueden no aparecer explıcitamente.

Solve@Sin@x + y - x^2D � 1 �2, yD

Solve::ifun : Inverse functions are being used by Solve, so

some solutions may not be found; use Reduce for complete solution information. �

::y ®Π

6- x + x2>>

Observemos que otras soluciones son posibles, como por ejemplo y = 2π + π6 −

x + x2. Observemos que el resultado del comando Solve es una tabla y como talpodemos usarlo, ası por ejemplo podemos definir una lista con las soluciones de unaecuacion para utilizarlas mas adelante.

Si una ecuacion o sistema de ecuaciones no tiene solucion la respuesta es {}.En el ejemplo que sigue se define una ecuacion con una incognita y un parametro;utilizamos la definicion aplazada porque solo nos interesa resolver la ecuacion paraalgunos parametros.

Ejemplo 1.1. Encontrar algun b > 0, b ∈ Z, tal que la ecuacion x3 + x + b = 0tenga solucion con parte real menor que −2,5. Hallar esta solucion.

Antes de resolver el problema definimos la ecuacion (recordemos que el resultadoes una lista con tres entradas) y hacemos algunas pruebas con b = 0 para ver la formaque tiene la lista formada por las soluciones. Extraemos a continuacion diversaspartes de la solucion:

ecu@b_D := Solve@x^3 + x + b � 0, xD;ecu@0Decu@0D@@1DD H*Nos dará la primera solución que será también una lista*Lecu@0D@@2DDecu@0D@@1DD@@1DDecu@0D@@2DD@@1DD@@2DD88x ® 0<, 8x ® -ä<, 8x ® ä<<

8x ® 0<

8x ® -ä<

x ® 0

Ahora ya estamos preparados para comprender lo que sigue.Utilizaremos el comando While para ir rastreando las soluciones de la ecuacion,

While[test,cuerpo;b++] va ejecutando “cuerpo”(en este caso no hace mas que

12

Page 19: Fundamentos Matemáticos de la Ingeniería. Prácticas con

almacenar el valor de b sin hacer nada), mientras “test” sea verdadero. Cada vez baumenta en una unidad y cuando “test” es falso, para. En este momento b tendra elvalor deseado:

ecu@b_D := Solve@x^3 + x + b � 0, xD;

b = 0;

While@Min@Re@ecu@bD@@1DD@@1DD@@2DDD,Re@ecu@bD@@2DD@@1DD@@2DDD, Re@ecu@bD@@3DD@@1DD@@2DDDD > -2.5, b; b++D

Print@"La primera solución con parte real mayor que -2.5 se obtiene con b igual a: ", bDPrint@"Esta parte real es: ", N@

Min@Re@ecu@bD@@1DD@@1DD@@2DDD, Re@ecu@bD@@2DD@@1DD@@2DDD, Re@ecu@bD@@3DD@@1DD@@2DDDDDDPrint@"que corresponde a la solución: ", N@ecu@bDDD

La primera solución con parte real mayor que -2.5 se obtiene con b igual a: 19

Esta parte real es: -2.54358

que corresponde a la solución:

88x ® -2.54358<, 8x ® 1.27179 - 2.41916 ä<, 8x ® 1.27179 + 2.41916 ä<<

1.9. Reglas de sustitucion

En muchas situaciones realizamos manipulaciones simbolicas que posteriormentedeseamos concretar para valores determinados, o queremos sustituir determinadasexpresiones por otras. Se utiliza entonces el comando /. que aplica una regla o unalista de reglas de sustitucion. En el ejemplo siguiente resolvemos la ecuacion x+t = 0con t como parametro y a continuacion le asignamos el valor 2 al parametro:

Solve@x + t � 0, xD

88x ® -t<<

% �. t ® 2

88x ® -2<<

Tambien podemos usar las reglas de sustitucion con fines simbolicos. A conti-nuacion por ejemplo las utilizamos para escribir una funcion en coordenadas polares(englobamos todo el calculo con el comando Simplify para obtener un resultadosimplificado); conviene observar que al ejecutar mas de una sustitucion es necesarioagrupar la lista de sustituciones con unas llaves.

Simplify@x Hx^2 + y^2L � Hx^4 + y^4 - 2 x^2 y^2L �. 8x ® r Cos@tD, y ® r Sin@tD<D

Cos@tD Sec@2 tD2

r

1.10. Ayudas incorporadas

Mathematica proporciona varios mecanismos para obtener ayuda e informacionsobre las mas de 800 funciones incorporadas, ası como de las introducidas por elusuario.

Esto da informacion acerca de la funcion incorporada Sin.

13

Page 20: Fundamentos Matemáticos de la Ingeniería. Prácticas con

? Sin

Sin@zD gives the sine of z. �

Ası, ahora sabemos como calcular el seno de π/4

Sin@Pi �4D

1

2

Mediante ?? obtenemos informacion adicional acerca de sus argumentos y atri-butos.

?? Sin

Sin@zD gives the sine of z. �

Attributes@SinD = 8Listable, NumericFunction, Protected<

En el apartado 1.5 se explica el significado de Attributes.En otras ocasiones podemos estar interesados en saber que funciones incorpora-

das comienzan por Si. Para ello utilizamos el caracter ∗.? Si*

System`

SiegelTheta SingleLetterStyle

Sign SingularValueDecomposition

Signature SingularValueList

SignPadding SingularValues

Simplify Sinh

Sin SinhIntegral

Sinc SinIntegral

SingleEvaluation SixJSymbol

SingleLetterItalics

El caracter ∗ puede ir en cualquier lugar despues del signo ? Por ejemplo, ?∗Sinnos dara informacion acerca de todas las funciones que terminen en Sin.

? *Sin

System`

ArcSin Sin

Tambien se puede pedir informacion de un sımbolo concreto. Por ejemplo elsımbolo

14

Page 21: Fundamentos Matemáticos de la Ingeniería. Prácticas con

? �

x � y or Divide@x, yD is equivalent to x y^-1. �

Hay que poner atencion al pedir informacion acerca del sımbolo ∗, ya que en-trando ?∗ obtendremos como salida el nombre de todas las funciones incorporadas,ası como los nombres de las funciones definidas por el usuario. Para solventar esteproblema hemos de entrar ?\*. La informacion solicitada acerca del operador ∗ nosda una forma alternativa de indicar la multiplicacion en Mathematica: dejando unespacio en blanco entre los factores.

1.11. Ejercicios

Ejercicio 1.1. Definir una funcion gam tal que gam(12) =

√π, gam(0) = 1 y

gam(x

2) =

x− 22· x− 4

2x− 6

2· · · 1

2·√π,

si x es impar y tal que gam(n) = (n − 1)!, si n es entero. ¿Podremos obtenergam[1/3]? Si x ∈ Z?. ¿Que ocurre si definimos gam sin utilizar definiciones apla-zadas?.

Ejercicio 1.2. Plantear y resolver cuatro ecuaciones de modo que haya alguna con:

una solucion.

doce soluciones.

ninguna solucion.

infinitas soluciones.

Ejercicio 1.3. Obtener una lista con todos los valores sin(k2) para k ∈ {1, . . . , 50}.

Ejercicio 1.4. Definir la expresion p =x3 + x

(x+ a)(x3 − 3x2 + x− 3). A continuacion

resolver la ecuacion Denominadordep = 0, cuando a = 2. Obtener el valor numericode p cuando x = 2, a = 2. Descomponer p como suma de fracciones simples. A con-tinuacion hacer denominador comun en la suma de fraccciones obtenida; compararcon p (simplificar p puede ayudar). Escribir una lista con las raıces del denominadorde p cuando a = {0, 1, 2, . . . , 20}2, utilizar la ayuda (F1) para conocer su sintaxis.

Ejercicio 1.5. Calcular numericamente el determinante de la matriz A = (aij), detamano, 5× 5 cuyas entradas son aij = sin(ij).

Ejercicio 1.6. Encontrar el primer numero x tal que la ecuacion x2 + 12x+ a = 0tenga soluciones con parte real mayor que 3.

2Aquı sera necesario utilizar algunos comandos que no hemos introducido aun como: Apart,

Together, Denominator.

15

Page 22: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Practica 2

Algebra Lineal

En esta practica analizaremos algunas de las posibilidades que ofrece Mathema-tica para resolver problemas de algebra lineal. Comenzaremos en la primera seccionpor proporcionar los comandos basicos necesarios y mostraremos ejemplos que ilus-tren su utilizacion. Con los comandos que se estudian en esta seccion se estara en con-diciones de resolver la mayorıa de los problemas elementales que se pueden plantearen un primer curso de algebra lineal. En la segunda seccion daremos una aplicacional estudio de las conicas.

2.1. Matrices

Como ya hemos visto, en Mathematica los vectores se representan mediantelistas, y las matrices, como listas de listas. Por ejemplo, la lista de listas {{a,b},{c,d}} representa la matriz 2× 2 cuyas filas corresponden a cada una de las filas dela matriz: (a, b) y (c, d).

Algunas de las funciones incorporadas que Mathematica utiliza para construirmatrices son las siguientes:

DiagonalMatrix[lista]

genera una matriz diagonal con los elementos de lista en la diagonal;

IdentityMatrix[n]

genera la matriz identidad n× n.

El comando

MatrixForm[matriz]

imprime la matriz en forma de tablero bidimensional, haciendo ası mas clara suestructura. Por otra parte, Mathematica dispone de algunas ordenes para hacerreferencia a los elementos de la matriz:

16

Page 23: Fundamentos Matemáticos de la Ingeniería. Prácticas con

m[[i, j]] proporciona el elemento i, j de la matriz m;m[[i]] o Part[m, i] da la fila i-esima de m.

Como ya se ha dicho, una matriz es una lista de vectores, representando cadauna de sus filas. Para que se tenga una matriz valida, todas las filas han de tener lamisma longitud, de manera que los elementos de la matriz formen efectivamente untablero rectangular.

Operaciones con matrices y vectores.

La suma de dos vectores se lleva a cabo elemento a elemento, siempre que ambostengan la misma longitud. De hecho, Mathematica admite las operaciones del algebramatricial (suma, producto, producto por escalar) siempre que las dimensiones seanlas correctas. Ası, si m1 y m2 son dos matrices dadas y c es un escalar, tiene sentidoescribir

m1+m2, c m1, m1.m2

De igual modo, si v denota un cierto vector, tienen sentido las operaciones

v.v, v.m1, m1.v

debiendo tener cuidado con estas dos ultimas operaciones, pues aunque se represen-tan de igual forma, proporcionan resultados muy diferentes.

El comando Inverse[m] calcula la inversa de la matriz cuadrada m. Observeseque Mathematica supone implıcitamente que el determinante es no nulo. Cuandose introduce una matriz cuyos elementos son numeros enteros o sımbolos, el pro-grama proporciona la inversa exacta. Ahora bien, si en la matriz de entrada algu-nos elementos son numeros reales aproximados, Mathematica obtiene un resultadonumerico aproximado; en ese caso, como en cualquier otro calculo numerico, se puedecontrolar el numero de cifras significativas a manejar.

Otros comandos que se utilizan habitualmente al trabajar con matrices son:

Transpose[m]

para calcular la traspuesta de la matriz m,

MatrixPower[m, k]

para calcular la potencia k-esima de m y, para calcular el determinante de una matrizcuadrada se utiliza

Det[m].

17

Page 24: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Sistemas de ecuaciones lineales

Para resolver un sistema de ecuaciones lineales dado, varias son las alternativasque Mathematica ofrece. En primer lugar, puede ser conveniente escribir todas ycada una de las ecuaciones explıcitamente, y despues resolverlas usando el comandoSolve. En muchos casos, sin embargo, puede resultar mas adecuado convertir elsistema en una ecuacion matricial, y aplicar despues operaciones matriciales pararesolverlo, sobre todo si el numero de ecuaciones y de incognitas es elevado.

Un sistema de ecuaciones lineales se puede escribir en forma matricial como

m · x = b,

donde x es el vector incognita, m es la matriz de coeficientes y b es la matriz delos terminos independientes. Como el estudiante ya esta familiarizado con la teorıageneral de los sistemas de ecuaciones lineales, procederemos directamente con loscomandos involucrados y analizaremos en detalle algunos ejemplos.

Las funciones incorporadas que Mathematica ofrece para resolver este tipo desistemas de ecuaciones son los siguientes:

LinearSolve[m,b]

da un vector x que es solucion de la ecuacion matricial m · x = b;

NullSpace[m]

proporciona un conjunto de vectores cuyas combinaciones lineales satisfacen la ecua-cion matricial m · x = 0, esto es, proporciona una base del nucleo de la apliccionlineal cuya matriz asociada en las bases canonicas es m;

RowReduce[m]

transforma la matriz m en otra reducida por filas, mediante combinaciones linealesde las filas, coincidiendo, por tanto, el rango de la matriz con el numero de filas nonulas de esta matriz.

Se puede obtener tambien el numero de ecuaciones redundantes correspondientesa una matriz particular calculando

Length[NullSpace[m]]

Con los comandos anteriores y el teorema de Rouche–Frobenius, estamos endisposicion de analizar (y resolver en su caso) sistema de ecuaciones lineales.

18

Page 25: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Valores y vectores propios

Como es bien sabido, los valores propios de una matriz m son los valores λi paralos cuales existen vectores xi no nulos, llamados vectores propios, tales que m · xi =λixi. El calculo de los valores propios de una matriz n × n supone, en principio,resolver una ecuacion polinomica de grado n. Si n ≥ 5 no es posible obtener, engeneral, soluciones algebraicas explıcitas de una ecuacion tal; Mathematica disponede los siguientes comandos para abordar este problema:

Eigenvalues[m]

proporciona una lista de los valores propios de la matriz m;

Eigenvectors[m]

proporciona una base de cada subespacio propio;

Eigensystems[m]

calcula al mismo tiempo los valores y los vectores propios y proporciona una listade valores propios y de vectores propios asociados. Por otra parte,

Eigenvalues[N[m]]

proporciona una aproximacion numerica de los valores propios. Por tanto, Mathe-matica nos puede proporcionar una aproximacion numerica de los valores propios.

La funcion Eigenvalues da siempre una lista de n valores propios para unamatriz n× n, pudiendo estar alguno de ellos repetidos, mientras que Eigenvectorsda una lista de vectores propios linealmente independientes; si el numero de talesvectores propios es menor que n, entonces Eigenvectors anade vectores nulos a lalista hasta completarla con n vectores. Como es bien sabido, los valores y vectorespropios de una matriz juegan un papel muy importante a la hora de analizar si es,o no, diagonalizable. En el caso general, dada una matriz m, siempre sera posibleencontrar una matriz c tal que c−1mc = j, donde j es la llamada forma canonica deJordan (que en el caso de ser m diagonalizable no es mas que una matriz diagonal talque los elementos de su diagonal principal son los valores propios de m). La funcionque lleva a cabo esta descomposicion es JordanDecomposition, la cual proporcionauna lista con las matrices c y j.

2.1.1. Ejercicios

Ejercicio 2.1. (1) Dadas las matrices

A =

3 −4 58 0 −35 2 1

, B =

10 −6 −96 −5 −7

−10 9 12

calcula A + B, B − 4A, (AB)−1, ((A − B)B)T , A2, det(B3) y las raıces delpolinomio caracterıstico de A.

19

Page 26: Fundamentos Matemáticos de la Ingeniería. Prácticas con

(2) Resolver el sistema {x + 5y = a

2x + y = b

dependiente de dos parametros. El metodo mas eficiente es usar LinearSolve.

(3) ¿Que ocurre si intentas resolver el sistema{x + 2y = ax + 2y = b

con Mathematica ?

(4) Estudia y resuelve el sistemax + 2y + 3z = 6x + 3y + 8z = 19

2x + 3y + z = −15x + 6y + 4z = 5

(5) Estudia y resuelve, segun los valores de a, el sistema formado por las ecuacio-nes

ax + y + z = 1x + ay + z = ax + y + az = a2

(6) Forma una matriz cuyas filas sean los vectores

(−1,−1, 2, 0,−1), (−2, 2, 0, 0,−2), (2,−1,−1, 0, 1),(−1,−1, 1, 2, 2), (1,−2, 2,−2, 0)

y otra con

(2, 3,−1, 3, 0), (1, 2, 1,−2, 1), (2, 1,−7, 17,−4),

hallando sus rangos y una base de su nucleo.

(7) Dado el conjunto de vectores

{(2, 3, 4,−1, 1), (3, 4, 7,−2,−1), (1, 3,−1, 1, 8), (0, 5, 5,−1, 4)},

obten la dimension y una base del subespacio lineal que engendran.

(8) Dado el conjunto de vectores

{(1, 0, 0), (1, 0, 1), (1, 1, p)}

estudia si forman una base de R3 para cualquier valor de p.

20

Page 27: Fundamentos Matemáticos de la Ingeniería. Prácticas con

(9) Dada la aplicacion lineal cuya matriz asociada en unas ciertas bases vienedada por

A =

0 −3 −1 −3 −1−3 3 −3 −3 −1

2 2 −1 1 2

encuentra una base de su nucleo. Halla tambien la imagen de los vectores(4, 2, 0, 0,−6) y (1, 2,−1,−2, 3).

(10) Consideremos la aplicacion lineal f en R3 dada por f(a, b, c) = (a+b, b+c, a+c). Halla la matriz asociada a f en la base canonica. Idem a f5.

(11) Diagonaliza la matriz simetrica cuyas filas son los vectores

(3,−1, 0), (−1, 2,−1), (0,−1, 3) .

Halla la matriz de paso P , comprueba el resultado y verifica que los valorespropios de la matriz de partida son los elementos de la diagonal de la matrizsemejante a la dada.

(12) Diagonaliza la matriz cuyas filas vienen dadas por los vectores

(7,−2, 1), (−2, 10,−2), (1,−2, 7) .

2.2. Conicas

La circunferencia, la elipse y la parabola son curvas planas de todos conocidas.Estas curvas aparecıan ya en la geometrıa griega y fueron denominadas seccionesconicas ya que los griegos de la epoca de Platon consideraban que tales curvasprocedıan de la interseccion de un cono con un plano tal como muestra la figura:

21

Page 28: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Cuando los matematicos de los siglos XVI y XVII estudiaron los trabajos griegos,empezaron a comprobar la falta de generalidad de los metodos de demostracion, loque llevo a sustituir la vision puramente geometrica de las secciones conicas por otraque incorporaba la nociones de coordenadas y distancia. Esto llevo a la definicion deestas curvas como lugares geometricos que verifican ciertas propiedades en terminosde distancia. Finalmente se establecio una teorıa algebraica general que englobatodas estas curvas y las describe como curvas cuadraticas. En esta teorıa esta basadala presente practica.

Curvas cuadraticas

Una conica es el lugar geometrico de los puntos del plano que satisfacen unaecuacion de segundo grado en dos variables:

a11x2 + a22y

2 + 2a12xy + 2a01x+ 2a02y + a00 = 0

que podemos expresar en forma matricial

XtAX +BX + a00 = 0 (EG)

donde

A =

(a11 a12

a12 a22

), B =

(2a01 2a02

), X =

(xy

).

A partir de la ecuacion general (EG) de una conica vamos a estudiar tres pro-blemas: (1) Obtener su ecuacion reducida, (2) obtener sus elementos geometricos, y(3) analizar sus invariantes metricos.

22

Page 29: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Ecuacion reducida de una conica

Diremos que la ecuacion de una conica

XtAX +BX + a00 = 0 ,

es una ecuacion reducida si

1. La matriz A es diagonal.

2. Si 0 no es valor propio de A, entonces B = 0.

3. Si 0 es valor propio de A, entonces de entre los elementos a0i hay a lo mas unono nulo.

El problema que tratamos de resolver a continaucion es el de obtener, a partirde una ecuacion general de una conica, una ecuacion reducida realizando un cambiode sistema de referencia mediante un movimiento rıgido en el plano que equivale aun giro mas una traslacion.

Puesto que el primer requisito para tener una ecuacion reducida es que la matrizde la conica sea diagonal, dada una ecuacion

XtAX +BX + a00 = 0

trataremos de sustituir A por una matriz diagonal. Puesto que A es simetrica, en-tonces es diagonalizable por semejanza ortogonal, es decir, existen D diagonal y Portogonal (que puede elegirse con det P = 1) tales que P tAP = D. Entonces, laexpresion

X = PZ con Z = (u, v)

representa una rotacion en el plano en la que el origen queda fijo. Sustituyendo enla ecuacion de la conica queda

(Z)tD (Z) +BP (Z) + a00 = 0 (E)

con lo que la primera condicion de ecuacion reducida se verifica.

Una vez la matriz de la conica ya es diagonal, el siguiente paso es eleminar losterminos u e v (si los dos valores propios son no nulos) o al menos uno de ellos (sialgun valor propio es nulo); para ello realizaremos un nuevo cambio de sistema dereferencia en el que solo cambia el origen (es decir, una traslacion). El metodo queutilizaremos consiste en completar cuadrados, esto es, si tenemos terminos en u2 yu sustituirlos por un cuadrado mas un termino independiente:

23

Page 30: Fundamentos Matemáticos de la Ingeniería. Prácticas con

u2 + 2b1u = (u+ b1)2 − b21

y de forma similar

v2 + 2b2v = (v + b2)2 − b22 .

Mediante la sustitucion {t = u+ b1

s = v + b2

quedan eleminados los terminos de grado 1 de la ecuacion. En el caso de ser unode los valores propios 0, solo puede realizarse la completacion de cuadrados parauna de las variables. Despues, la otra variable puede ser modificada para obtener untermino independiente nulo.

Tenemos ası un proceso que nos permite pasar de una ecuacion cualquiera deuna conica a una ecuacion reducida mediante la composicion de dos movimientosrıgidos: una rotacion y una traslacion. Es un cambio de sistema de referencia en elque no varıan las propiedades geometricas, solo lo hace la ecuacion.

Ejercicio 2.2. Calcular la ecuacion reducida de la conica

x2 − 6xy − 7y2 + 10x+ 2y + 9 = 0 .

Para realizar el Ejercicio 2.2 realizaremos los siguientes pasos utilizando algunosde los comandos de Mathematica estudiados en la Practica 1:

PASO 1: Hallar los valores propios de la matriz de la conica.

PASO 2: Hallar una base ortonormal de vectores propios.

PASO 3: Escribir la ecuacion P de paso a la matriz diagonal.

PASO 4: Escribir la ecuacion (E) de la conica.

PASO 5: Realizar el producto de las matrices que aparecen en la ecuacion (E) paraobtener una nueva ecuacion cuadratica de la conica.

Si todos los pasos han sido realizados correctamente se debe haber obtenido laecuacion:

−8u2 + 2v2 +16√10u− 28√

10v + 9 = 0

24

Page 31: Fundamentos Matemáticos de la Ingeniería. Prácticas con

donde u y v son las nuevas coordenadas tras realizar el giro.

Tenemos ya una ecuacion de la conica que satisface la condicion 1 de la ecuacionreducida, es decir, hemos realizado un giro. Ahora vamos a obtener la ecuacionreducida realizando una traslacion.

PASO 6: Realizar una traslacion para eleminar los terminos de grado 1:

−8(u2 − 2√

10u

)= −8

(u− ??? )2− ???

)

2(v2 − 14√

10v

)= 2

(v− ??? )2− ???

)Tras los calculos anteriores, las nuevas coordenadas tras realizar la traslacion

son: t = u− 1√

10

s = v − 7√10.

PASO 7: Escribir la ecuacion reducida de la conica.

El comando ImplicitPlot permite dibujar la grafica de funciones expresadasen forma implıcita. Busca en Help de Mathematica este comando y analiza como seusa. Utilızalo para realizar el siguiente ejercicio:

Ejercicio 2.3. Dibujar la conica del ejercicio anterior, primero utilizando la ecua-cion x2 − 6xy − 7y2 + 10x + 2y + 9 = 0, luego la ecuacion (E) y luego la ecuacionreducida. Compara las graficas obtenidas.

Ejercicio 2.4. Hallar la ecuacion reducida de la conica x2 + y2 + 2xy + 6√

2x −2√

2 y + 26 = 0. Dibujar la grafica de esta conica, primero usando la ecuacionanterior, luego la ecuacion (E) y luego la ecuacion reducida, comparando las graficasobtenidas.

Calculo de los elementos geometricos

Una ecuacion reducida X ′′ = C + P tX de una elipse, hiperbola o parabolasignifica que el nuevo sistema de referencia R′′ tiene como origen el centro de laconica (si es una elipse o una hiperbola) o el vertice (si se trata de una parabola)y como ejes de coordenadas los ejes de la conica (en el caso de una elipse o de unaparabola) o el eje y la tangente en el vertice (en el caso de una parabola).

25

Page 32: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Puesto que las coordenadas del origen de R′′ respecto de R′′ son (0, 0), entoncesel centro (en el caso de la elipse o de la hiperbola) o el vertice (en el caso de laparabola) es la solucion del sistema:

0 = C + P tX

Para calcular los ejes basta con recordar que la nueva base esta formada por losvectores propios de la matriz de la conica y, por tanto, estos vectores son los vectoresdirectores de los ejes de la conica. En el caso de la parabola, el vector propio asociadoa λ = 0 nos da la direccion del eje y el otro vector propio proporciona la direccionde la tangente en el vertice.

De forma similar al calculo del centro se pueden obtener los focos de la conica,la directriz de la parabola, las asıntotas de la hiperbola, etc.

Ejercicio 2.5. Calcular el centro y los ejes de la conica

−2xy − 2x+ 6y + 5 = 0

Representar graficamente la conica e identifica su centro y sus ejes.

Ejercicio 2.6. Calcular el vertice, el eje y la tangente en el vertice de la conica

x2 + y2 + 2xy + 6√

2x− 2√

2 y + 26 = 0.

Representar graficamente la conica.

Invariantes metricos de las conicas

A la ecuacion de una conica

a11x2 + a22y

2 + 2a12xy + 2a01x+ 2a02y + a00 = 0

le asociamos las matrices

A =

a00 a01 a02

a01 a11 a12

a02 a12 a22

A =(a11 a12

a12 a22

)

y consideramos los numeros

I3 = det A , I2 = det A , I1 = tr A = a11 + a22

26

Page 33: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Los numeros I1, I2 y I3 no varıan cuando la conica es afectada por un movimientorıgido y se denominan invariantes metricos. Los invariantes metricos nos permitenidentificar el tipo de conica segun se refleja en la tabla 2.2:

I2 > 0 Elipse I1I3 < 0 RealI1I3 > 0 Imaginaria

I3 6= 0 I2 < 0 Hiperbola(no degeneradas) I2 = 0 Parabola

I2 > 0 Un puntoI3 = 0 I2 < 0 Dos rectas secantes

(degeneradas) I2 = 0 Dos rectas paralelas

Cuadro 2.1: Clasificacion de las conicas por invariantes

Ejercicio 2.7. Clasificar la conica de ecuacion

2x2 − 4xy − y2 − 4x− 8y + 14 = 0 .

Podemos utilizar los invariantes metricos para obtener la ecuacion reducida deuna conica. El metodo de basa en el hecho de que puesto que I1, I2 y I3 son inva-riantes por movimientos rıgidos, han de coincidir los valores obtenidos a partir de laecuacion de partida y a partir de la correspondiente ecuacion reducida.

En el caso en que I2 6= 0, la conica dada tendra una ecuacion reducida del tipo

ax2 + by2 + d = 0

de donde se deduce que I3 = abd, I2 = ab e I1 = a+b. De estas igualdades se deduce

rapidamente que d =I3I2

, mientras que a y b pueden ser obtenidos como las raıces

de la ecuacion λ2 − I1λ+ I2 = 0.

Para el caso de la parabola, calculos similares nos proporcionan una ecuacionreducida y2 = 2px, donde el coeficiente p se obtiene por la formula

p =√−I3I1.

Ejercicio 2.8. Hallar la ecuacion reducida de la conica 3x2−8xy−12y2−30x−64 =0 y clasificarla.

Ejercicio 2.9. Hallar la ecuacion reducida de la conica 21x2 + 13y2 + 6xy− 114x+34y + 73 = 0 y clasificarla.

Ejercicio 2.10. Hallar la ecuacion reducida de la conica 4x2 + 25y2−20xy−15x−6y = 0 y clasificarla.

27

Page 34: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Practica 3

Graficas en dos y tresdimensiones

El programa Mathematica dispone de un amplio repertorio de funciones que nospermiten dibujar graficas en dos y tres dimensiones. Los comandos basicos son Ploty Plot3D, con los cuales podemos obtener la representacion grafica de funcionesreales de una o dos variables reales.

3.1. Graficas en dos dimensiones

3.1.1. Graficas en coordenadas cartesianas

El comando

Plot[f(x), {x, a, b}]

representa la curva en coordenadas cartesianas y = f(x) en el intervalo cerrado [a, b].Por ejemplo,

In[12]:= Plot@Sin@xD, 8x, 0, 2 Pi<D

Out[12]=1 2 3 4 5 6

-1.0

-0.5

0.5

1.0

Si queremos trabajar con varias graficas a la vez tenemos varias opciones. Unade ellas es:

Plot[{f(x), g(x),h(x),...}, {x, a, b}];

28

Page 35: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Ejemplo 3.1. Representa graficamente las funciones f(x) = sinx, f(x) = sin(2x),f(x) = sin(3x) en el intervalo [0, 2π].

El comando Show tambien permite combinar varias graficas de una vez tal ycomo vemos a continuacion.

Ademas podemos obtener cada grafica por separado en una tabla de graficos;para ello utilizaremos la opcion que detallamos en el siguiente ejemplo.

Ejemplo 3.2. Representamos cuatro polinomios en una tabla.

In[13]:= g1 = Plot@x^2 + 2 x - 3, 8x, -3, 3<, DisplayFunction -> IdentityD;g2 = Plot@x^3 + 3 x^2 - x - 3, 8x, -3, 3<, DisplayFunction -> IdentityD;g3 = Plot@x - 1, 8x, -3, 3<, DisplayFunction -> IdentityD;g4 = Plot@Hx - 1L^4, 8x, -3, 3<, DisplayFunction -> IdentityD;Show@GraphicsArray@88g1, g2<, 8g3, g4<<DD

Out[17]=

-3 -2 -1 1 2 3

5

10

-3 -2 -1 1 2 3

5

10

15

20

25

-3 -2 -1 1 2 3

-4

-3

-2

-1

1

2

-3 -2 -1 1 2 3

20406080

100120140

Utilizamos "DisplayFunction->Identity"; esta opcion hace que no visualice-mos la grafica en la sentencia en la que la introducimos. En ocasiones utilizamosdiversas opciones de Plot y solo nos interesa ver la grafica final. En la sentencia quequeramos que se visualice la grafica basta anadir DisplayFunction->$DisplayFunctiontal y como aparece en los ejemplos siguientes.

In[37]:= g1 = Plot@Sin@xD, 8x, 0, 2 Pi<, PlotStyle -> Red, DisplayFunction® IdentityD;g2 = Plot@Cos@xD, 8x, 0, 2 Pi<, PlotStyle -> Green, DisplayFunction® IdentityD;Show@g1, g2, DisplayFunction® $DisplayFunction, AspectRatio -> AutomaticD

Out[39]=1 2 3 4 5 6

-1.0

-0.5

0.5

1.0

Si queremos comparar dos o mas graficas, una posibilidad es usar con el comandoShow la opcion AspectRatio->Automatic, la cual establece las misma proporcionen los dos ejes coordenados,

29

Page 36: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Tambien podemos obtener lo mismo con la sentencia siguiente, en la que noconsideramos la opcion AspectRatio:

In[36]:= Plot@8Sin@xD, Cos@xD<, 8x, 0, 2 Pi<, PlotStyle® 8Red, Green<D

Out[36]=1 2 3 4 5 6

-1.0

-0.5

0.5

1.0

Las opciones del comando Plot son muchas y enumerarlas resultarıa demasiadoextenso. Resulta muy util utilizar el Help que aparece en el menu del programa obien el comando Options[Plot]. Algunas de ellas son:

AspectRatio: establece la razon entre la altura y la anchura de la grafica dela pantalla. En particular, AspectRatio->Automatic escala la misma unidadde medida en el eje x e y.

Thicknes: grosor del trazo de la grafica.

Dashing: opcion para hacer el dibujo con puntos o rayas en vez de un trazocontinuo.

AxesLabel->{etiqueta 1, etiqueta 2}: pone las etiquetas que queramos alos ejes coordenados.

PlotRange: presenta en pantalla todos los puntos de la curva en el intervalopedido.

FilledPlot: rellena el espacio limitado por las graficas de las funciones y lasordenadas extremas consideradas.

PlotStyle->{}: nos proporciona opciones del dibujo tales como el grosor, colory otros.

Si queremos distinguir las diversas graficas que aparecen en un mismo dibujopodemos hacerlo dandole colores a cada una de ellas. Podemos identificar los colorescon su nombre, en ingles, si previamente cargamos el paquete <<Graphics‘Colors‘.

Representamos las graficas del seno de varios angulos en colores diferentes; cadacolor corresponde a una de las graficas en el orden escrito.

30

Page 37: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Plot@8Sin@xD, Sin@2 xD, Sin@3 xD<, 8x, 0, 2 Pi<, PlotStyle ® 8Red, Blue, Green<D;

Out[1]=1 2 3 4 5 6

-1.0

-0.5

0.5

1.0

Es importante observar que si no ponemos un punto y coma al final del comandoaparece en pantalla, despues de la correspondiente grafica, -Graphics-; esta guardala informacion empleada por Plot para representar graficamente la funcion.

Una opcion que resulta util en el calculo de areas de figuras planas es sombrear laregion que queda entre dos graficas dadas. Para ello tenemos que cargar el paquete

In[3]:= << Graphics`FilledPlot`

Dibujamos las graficas y sombreamos la zona entre ambas:

In[13]:= graf1 = FilledPlot@8Sin@x + 1D, x^3 - 3 x + 1<, 8x, -4, 4<D

Out[13]=

-4 -2 2 4

-6

-4

-2

2

4

6

8

Se puede observar que el programa sombrea tambien zonas que no corresponden,ello es debido al rango de valores de x que le damos y esto nos puede conducir aerrores. Si queremos que sombree solo la zona real podemos hacerlo de la forma queaparece a continuacion:

31

Page 38: Fundamentos Matemáticos de la Ingeniería. Prácticas con

In[2]:= FindRoot@Sin@x + 1D == x^3 - 3 x + 1, 8x, -2<DFindRoot@Sin@x + 1D == x^3 - 3 x + 1, 8x, 2<D

Out[2]= 8x ® -1.98099<

Out[3]= 8x ® 1.6383<

In[4]:= r1 = -1.980987201443789;

r2 = 1.6382951511934907;

In[18]:= graf1 = FilledPlot@8Sin@x + 1D, x^3 - 3 x + 1<, 8x, r1, r2<, PlotRange ® AllD;graf2 = Plot@8Sin@x + 1D, x^3 - 3 x + 1<, 8x, -4, 4<D;Show@graf1, graf2D

Out[20]=

-4 -2 2 4

-6

-4

-2

2

4

6

8

Ejercicio 3.1. Dibuja la funcion f(x) = sinx+ cos 3x en el intervalo [−4π, 4π].

(a) Modifica AspectRatio haciendo que la altura sea dos veces el ancho.

(b) Pon una etiqueta a los ejes x y y utilizando la opcion AxesLabel.

(c) Cambia las marcas correspondientes al eje de abcisas, Ticks, sobre el graficode manera que aparezcan solo multiplos de π.

(d) Pon nombre al dibujo con la opcion PlotLabel.

Ejercicio 3.2. Dibuja las grficas de las funciones f(x) = x2 y g(x) =√x y sombrea

la region comprendida entre ambas.

3.1.2. Graficas en coordenadas polares

Para dibujar graficas en coordenadas polares se requiere el cargar previamenteel paquete <<Graphics‘Graphics‘. El comando para dibujar este tipo de graficases:

PolarPlot[funcion,{variable angular, valor minimo, valor maximo}]

Muchas de las opciones que se pueden utilizar en las graficas en cartesianastambien las podemos utilizar en polares:

Ejemplo 3.3. Dibujamos una cardiode con bucle interior.

32

Page 39: Fundamentos Matemáticos de la Ingeniería. Prácticas con

In[49]:= PolarPlot@2 Cos@tD - 1, 8t, 0, 2 Pi<, AspectRatio® AutomaticD

Out[49]=0.5 1.0 1.5 2.0 2.5 3.0

-1.5

-1.0

-0.5

0.5

1.0

1.5

Ejercicio 3.3. Dibuja una tabla con 4 graficas, en diversos colores, en las que apa-rezcan una rosa de tres petalos de varios tamanos y en varias posiciones diferentes.

Para sombrear las zonas requeridas hay que cargar el paquete<<Graphics‘FilledPlot‘ y los comandos son:

FilledPlot[expr,{x,xmin,xmax}]:sombrea el espacio entre la curva y el ejex.

FilledPlot[{expr1,expr2,...},{x,xmin,xmax}]: sombrea el espacio entrelas curvas.

3.1.3. Graficas de funciones implıcitas

Recordemos que la representacion grafica de una curva en el plano dada de formaimplıcita viene dada por la relacion F (x, y) = 0. Si se verifica el teorema de la funcionimplıcita, la variable dependiente y es una funcion de x pero no la tenemos despejada.Esto puede ser porque no podemos, como en el caso de y sin y + x3 − cosx = 0; obien porque la expresion que obtenemos al tratar de despejarla resulta complicada demanejar, por ejemplo x y2−7x y+cosx−8 = 0. En estos casos Mathematica disponede la funcion ImplicitPlot incluida en el paquete Graphics‘ImplicitPlot‘ quenos permite dibujar funciones definidas de forma implıcita. Veamos un ejemplo:cargamos primero el paquete anterior (basta con hacerlo una vez en la sesion deMathematica) y luego dibujamos el Folium de Descartes:

In[54]:= << Graphics`ImplicitPlot`

33

Page 40: Fundamentos Matemáticos de la Ingeniería. Prácticas con

In[56]:= ImplicitPlot@x^3 + y^3 - 3 x y � 0, 8x, -2, 2<, PlotLabel® "Folium de Descartes"D

Out[56]=

-2 -1 1 2

-3

-2

-1

1

Foliumde Descartes

La funcion ImplicitPlot tiene las mismas opciones que las de Plot salvo Compiled,MaxBend y PlotDivision. Precisemos que para la funcion ImplicitPlot, la opcionAspectRatio toma el valor Automatic por defecto.

Ejercicio 3.4. Dibuja la elipse x2 + 4y2 = 4, pon etiqueta a los ejes coordenados,en color azul y con un grosor 0.01.

En la figura siguiente dibujamos con el comando ImplicitPlot una circunfe-rencia en coordenadas cartesianas dada por x2 + y2 = 9 (no volvemos a cargar elpaquete Graphics‘ImplicitPlot‘ porque lo hemos hecho anteriormente).

Notemos que para dibujarla con el comando Plot tendrıamos que combinar lasgraficas de las funciones y =

√9− x2 y y = −

√9− x2. Comprueba que ocurre

cuando se procede de esta forma.

34

Page 41: Fundamentos Matemáticos de la Ingeniería. Prácticas con

In[58]:= ImplicitPlot@x^2 + y^2 � 9, 8x, -3, 3<, PlotStyle® RedD

Out[58]=-3 -2 -1 1 2 3

-3

-2

-1

1

2

3

3.2. Graficas en tres dimensiones

3.2.1. Graficas 3D en coordenadas cartesianas

El programa Mathematica tiene varias opciones para representar graficamentesuperficies; si viene dada en la forma z = f(x, y), el comando que utilizamos es:

Plot3D[f(x,y),{x,a,b},{y,c,d}].

Ejemplo 3.4. Dibujamos la superficie dada por la funcion de dos variables z =sinxy

Plot3D[Sin[x y], {x, 0, 5}, {y, 0, 5}];

35

Page 42: Fundamentos Matemáticos de la Ingeniería. Prácticas con

cuya grafica es la que aparece en el siguiente dibujo:

01

2

3

4

5 0

1

2

3

4

5

-1

-0.5

0

0.5

1

01

2

3

4

5

La funcion Plot3D, igual que la funcion Plot, tiene asociado un conjunto deopciones graficas, especificadas por reglas que nos proporcionan diversas formasde presentar la grafica. Estas opciones las podemos obtener mediante la funcionOptions,

In[65]:= Options@Plot3DD

Out[65]= :AlignmentPoint® Center, AspectRatio® Automatic, Axes ® True, AxesEdge® Automatic,

AxesLabel® None, AxesStyle® 8<, Background® None, BaselinePosition® Automatic,

BaseStyle® 8<, BoundaryStyle® Automatic, Boxed ® True, BoxRatios® 81, 1, 0.4<,BoxStyle® 8<, ClippingStyle® Automatic, ColorFunction® Automatic,

ColorFunctionScaling® True, ColorOutput® Automatic, ContentSelectable® Automatic,

ControllerLinking® Automatic, ControllerMethod® Automatic, ControllerPath® Automatic,

DisplayFunction¦ $DisplayFunction, Epilog ® 8<, Evaluated® Automatic,

EvaluationMonitor® None, Exclusions® Automatic, ExclusionsStyle® None,

FaceGrids® None, FaceGridsStyle® 8<, Filling® None, FillingStyle® [email protected],FormatType¦ TraditionalForm, ImageMargins® 0., ImagePadding® All, ImageSize® Automatic,

LabelStyle® 8<, Lighting® Automatic, MaxRecursion® Automatic, Mesh ® Automatic,

MeshFunctions® 8ð1 &, ð2 &<, MeshShading® None, MeshStyle® Automatic, Method ® Automatic,

NormalsFunction® Automatic, PerformanceGoal¦ $PerformanceGoal, PlotLabel® None,

PlotPoints® Automatic, PlotRange® 8Full, Full, Automatic<, PlotRangePadding® Automatic,

PlotRegion® Automatic, PlotStyle® Automatic, PreserveImageOptions® Automatic,

Prolog ® 8<, RegionFunction® HTrue &L, RotationAction® Fit, SphericalRegion® False,

Ticks ® Automatic, TicksStyle® 8<, ViewAngle® Automatic, ViewCenter® :1

2,1

2,1

2>,

ViewMatrix® Automatic, ViewPoint® 81.3, -2.4, 2.<, ViewRange® All,

ViewVector® Automatic, ViewVertical® 80, 0, 1<, WorkingPrecision® MachinePrecision>

Una de estas opciones es ViewPoint que permite cambiar el punto de vista desdeel que vemos la superficie. Este punto de vista se define con relacion a un cubo delado unidad centrado en el origen de coordenadas, siendo (1.3,-2.4,2) las coordenadasdel punto de vista por defecto. En el menu Input aparece 3DViewPoint Selector,el cual permite mover el cubo hasta que tengamos el punto de vista que queremos. Acontinuacion vamos al comando Plot3D y pondremos al final una coma, volvemos al

36

Page 43: Fundamentos Matemáticos de la Ingeniería. Prácticas con

3DViewPoint Selector y apretamos el comando Paste y aparecen las coordenadasadecuadas en nuestro comando para que nos dibuje la grafica desde el punto de vistadeseado. Esto es,

In[67]:= Plot3D@Sin@x yD, 8x, 0, 5<, 8y, 0, 5<, ViewPoint® 8-1.814, -2.855, -0.093<D

Out[67]=

0 2 4

02

4

-1.0

-0.5

0.0

0.5

1.0

Puede ocurrir que al dibujar una superficie dada por z = f(x, y) el dibujo ob-tenido no nos de una buena perspectiva de como es su grafica. Por ejemplo, el casodel paraboloide z = x2 + y2,

Plot3D@x^2 + y^2, 8x, -15, 15<, 8y, -15, 15<, ViewPoint -> 83.650, 1.655, 1.023< D;-100

10

-100

10

0

100

200

300

400

0

100

200

300

400

Para evitarlo tenemos otra opcion: utilizar la funcion CountourPlot3D que dibujasuperficies de nivel. En primer lugar hay que cargar el paquete

<< Graphics`ContourPlot3D`

y escribir la orden

Ejercicio 3.5. Dibuja el cono z2 = 3x2 + 3y2 y elimina la malla del grafico con laopcion Mesh->False.

Ejercicio 3.6. Dibuja una esfera con centro en el origen y radio 4.

Ejercicio 3.7. Representa en 3D la superficie z = 10 sin (10√x2 + y2) con x ∈

[−1, 1], y ∈ [−1, 1] y 30 puntos a evaluar, ademas que no aparezca la caja de losejes, ni los cuadrados del dibujo.

3.3. Animacion de graficos

El programa Mathematica tiene una opcion para obtener una animacion de grafi-cos. Para ello seguimos los pasos siguientes:

37

Page 44: Fundamentos Matemáticos de la Ingeniería. Prácticas con

ContourPlot3D@x^2 + y^2 - z, 8x, -4, 4<, 8y, -4, 4<,8z, -3, 3<, ViewPoint -> 83.159, 0.980, 0.713<, Axes ® TrueD;

-101

-1 0 1

0

1

2

3

0

1

2

3

creamos una tabla de graficos con la funcion que queremos dibujar,

In[1]:= Table@Plot@Sin@n*xD, 8x, 0, 4 Pi<D, 8n, 1, 7<D

Seleccionamos la celda de cualquiera de los graficos que obtenemos, vamosal menu Cell y seleccionamos Animate Selected Graphics o bien, si selec-cionamos uno de los dibujos, dandole dos veces a la tecla del raton tambienobtenemos el mismo resultado.

Esto mismo sirve para graficos en tres dimensiones.

3.4. Graficas bidimensionales en coordenadas parametri-cas

Estudiamos ahora la representacion grafica de funciones en las cuales las variablesx e y dependen de una tercera variable t a la que llamamos parametro. La ecuacion

r(t) = (x(t), y(t)), t ∈ [a, b]

recibe el nombre de ecuacion parametrica. Por ejemplo, la ecuacion

r(t) = (2 cos t, 2 sin t), t ∈ [0, 2π]

define una circunferencia con centro en el origen y radio 2. Con Mathematica pode-mos dibujarlas mediante la sentencia

ParametricPlot[{x(t),y(t)}, {t,a,b}]

siendo x(t) y y(t) las componentes primera y segunda de la funcion parametricadefinida. Tambien podemos dibujar varias graficas en parametricas mediante

ParametricPlot[ { {x(t),y(t)}, {u(t),v(t)}...}, {t,a,b}]

Una sentencia similar nos permite dibujar graficas de curvas en tres dimensionesen parametricas,

38

Page 45: Fundamentos Matemáticos de la Ingeniería. Prácticas con

ParametricPlot3D[{x(t),y(t),z(t)}, {t,a,b}]

Ejemplo 3.5. Dibujamos una circunferencia con centro en (0, 0) y radio 1.

In[59]:= ParametricPlot@8Cos@tD, Sin@tD<, 8t, 0, 2 Pi<D

Out[59]=-1.0 -0.5 0.5 1.0

-1.0

-0.5

0.5

1.0

Ejemplo 3.6. Representamos la funcion parametrica r(t) =(

t

1 + t3,

t2

1 + t3

)en

[0, 4π]

In[62]:= ParametricPlot@8t� H1 + t^3L, t^2� H1 + t^3L<, 8t, 0, 4 Pi<, PlotStyle® GreenD

Out[62]=

0.1 0.2 0.3 0.4 0.5

0.1

0.2

0.3

0.4

0.5

39

Page 46: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Ejemplo 3.7. Representacion grafica de la circunferencia de radio 1 y centrada en

(0, 0) y la elipsex2

4+ y2 = 1, ambas en coordenadas parametricas.

In[63]:= ParametricPlot@88Cos@tD, Sin@tD<, 82 Cos@tD, Sin@tD<<,8t, 0, 2 Pi<, AspectRatio® Automatic, PlotStyle® 8Red, Blue<D

Out[63]=-2 -1 1 2

-1.0

-0.5

0.5

1.0

Las opciones para dibujar una grafica en estas coordenadas son las mismas quelas de Plot.

Graficas 3D en forma parametrica

La funcion ParametricPlot3D nos permite representar superficies dadas en for-ma parametrica. En primer lugar hemos de cargar el paquete

<<Graphics‘ParametricPlot3D‘

Por ejemplo, el tronco de cono cuyas coordenadas parametricas son Φ(u, v) =(v cosu, v sinu, v) donde 0 ≤ u ≤ 2π, 0 ≤ v ≤ 4. Buscaremos el punto de vistaadecuado,

In[2]:= ParametricPlot3D@8u Cos@vD, u Sin@vD, u<,8v, 0, 2 Pi<, 8u, 0, 40<, ViewPoint -> 8-2.711, -1.975, 0.447<D

Out[2]=

-40 -20 0 20 40

-40-20

020

400

10

20

30

40

Ejercicio 3.8. Haz la representacion grafica del cono del apartado anterior y asignaetiqueta a los ejes.

Ejercicio 3.9. Haz la representacion grafica del cilindro con eje de simetrıa z, deradio 6 y z ∈ [−2, 2].

40

Page 47: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Representacion grafica de curvas en el espacio

La funcion ParametricPlot3D nos permite tambien representar graficamentecurvas en el espacio, definidas por sus ecuaciones parametricas ~σ(t) = (x(t), y(t), z(t))donde a ≤ t ≤ b. Por ejemplo, hacemos la representacion grafica de una espiral deecuaciones parametricas ~σ(t) = (2 cos t, 2 sin t, t), t ∈ [0, 6π],

In[2]:= ParametricPlot3D@82 Cos@tD, 2 Sin@tD, t, Blue<, 8t, 0, 6 Pi<D

Ejercicio 3.10. Representa en un mismo grafico y en distinto color la curva deViviani de ecuaciones parametricas ~σ(t) = (cos2 t, sin t cos t, sin t), t ∈ [−2π, 2π] y lacircunferencia ~µ(t) = (cos t, sin t, 0), t ∈ [0, 2π]. Pon etiqueta a los ejes coordenados.

41

Page 48: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Practica 4

Interpolacion y aproximacion defunciones

La interpolacion, que es el calculo de valores para una funcion tabulada en puntosque no aparecen en la tabla, es, historicamente, una tarea fundamental. Los nom-bres de muchos matematicos famosos estan asociados con metodos de interpolacion:Newton, Gauss, Bessel, Stirling, Chebyshev, etc.

Aunque hoy en dıa, los estudiantes rara vez tiene que interpolar para valores desenos, logaritmos y demas funciones no algebraicas a partir de tablas, sus calculado-ras y computadoras usan estas tecnicas para calcular esos valores y creemos que esimportante que los estudiantes entiendan como funcionan las calculadoras. Ademas,estos metodos resultan interesantes ya que constituyen la base para muchos proce-dimientos que estudiaran, como los de derivacion e integracion numerica, resolucionde ecuaciones diferenciales, etc. Por otro lado, la interpolacion con polinomios sirvecomo una excelente introduccion para ciertas tecnicas de aproximacion de curvassuaves, tecnicas que resultan muy utiles a los alumnos de ingenierıa.

4.1. Polinomio interpolador de Lagrange

En general, dados un entero positivo n, los n + 1 puntos x0, x1, ..., xn (llama-dos nodos), distintos dos a dos, en la recta real y los valores correspondientesf(x0), f(x1), ..., f(xn) de una funcion, el problema de interpolacion polinomial con-siste en encontrar un polinomio de grado ≤ n, tal que

pn(xi) = f(xi), i = 0, 1, ..., n

Este problema tiene solucion unica; el polinomio que satisface estos requisitos seconoce como polinomio interpolador o interpolante de Lagrange de la funcion f enlos puntos x0, x1, ..., xn.

Ejemplo 4.1. Calcular el polinomio de interpolacion que pasa por (1, 1), (2, 0),(4, 0), (5, 1), (6, 1.5).

Solucion: Un polinomio que pasa por cinco puntos debe ser de grado cuatro,luego se han de encontrar los valores de ai en el polinomio:

42

Page 49: Fundamentos Matemáticos de la Ingeniería. Prácticas con

y = a0 + a1x+ a2x2 + a3x

3 + a4x4

para que pase por los puntos exigidos. Esto es equivalente a resolver un sistemade ecuaciones lineales, donde ai son las incognitas.

datos = 881, 1<, 82, 0<, 84, 0<, 85, 1<, 86, 1.5<<;x = 81, 2, 4, 5, 6<;y = 81, 0, 0, 1, 1.5<;sol = Solve@Table@y@@iDD � a0 + a1 *x@@iDD + a2 * Hx@@iDDL^2

+ a3 * Hx@@iDDL^3 + a4 * Hx@@iDDL^4, 8i, 1, 5<D, 8a0, a1, a2, a3, a4<D;pol@t_D = Sum@sol@@1DD@@iDD@@2DD *t^Hi - 1L, 8i, 1, 5<D

1.5 + 0.275 t - 1.09583 t2 + 0.35 t3 - 0.0291667 t4

Se pueden dibujar los puntos y el polinomio interpolador, observando que elpolinomio pasa por todos los puntos.

plot1 =

ListPlot@datos, PlotStyle ® [email protected], [email protected]<, DisplayFunction ® IdentityD;plot2 = Plot@pol@tD, 8t, 1, 6<, DisplayFunction ® IdentityD;Show@plot1, plot2, PlotRange ® AllD

2 3 4 5 6

0.5

1.0

1.5

El metodo anterior es laborioso. Se puede encontrar el polinomio interpolador Pmas facilmente si en vez de buscarse en potencias de x, se busca como una combi-nacion lineal P (x) = b0`0(x) + b1`1(x) + · · · + bn`n(x), donde `j(x) son polinomiosde grado n definidos como

`j(x) =(x− x0) . . . (x− xj−1)(x− xj+1) . . . (x− xn)

(xj − x0) . . . (xj − xj−1)(xj − xj+1) . . . (xj − xn).

Se cumple, obviamente, que

`j(xj) = 1 y `j(xk) = 0, si j 6= k

de donde se obtiene que bi = f(xi), para todo i = 0, 1, . . . n. Y ası,

P (x) = f(x0)`0(x) + f(x1)`1(x) + · · ·+ f(xn)`n(x).

Notar que esta construccion no precisa de la resolucion de sistemas lineales. Resol-vemos el ejemplo anterior con este metodo:

43

Page 50: Fundamentos Matemáticos de la Ingeniería. Prácticas con

datos = 881, 1<, 82, 0<, 84, 0<, 85, 1<, 86, 1.5<<;x = 81, 2, 4, 5, 6<;y = 81, 0, 0, 1, 1.5<;l@j_, t_D :=

Product@Ht - x@@iDDL � Hx@@jDD - x@@iDDL, 8i, Complement@Range@Length@xDD, 8j<D<DpolLagrange@t_D := Sum@y@@jDD *l@j, tD, 8j, 1, Length@xD<DPrint@polLagrange@tDD

1

60H2 - tL H4 - tL H5 - tL H6 - tL +

1

12H6 - tL H-4 + tL H-2 + tL H-1 + tL + 0.0375 H-5 + tL H-4 + tL H-2 + tL H-1 + tL

Evidentemente, este polinomio coincide con el calculado anteriormente lo cual seobserva si lo expresamos en potencias de t

Expand@polLagrange@tDD

1.5 + 0.275 t - 1.09583 t2 + 0.35 t3 - 0.0291667 t4

Ejercicio 4.1. La tension de vapor (en kilopascales) del helio lıquido a varias tem-peraturas (en grados Kelvin) es

T P3.0 24.03.1 27.83.2 32.03.3 36.5

Aproxima la tension para 3.4 K usando interpolacion cuadratica (ultimos 3 no-dos) y cubica. El valor verdadero es 41.5.

Ejercicio 4.2. Usa la siguiente tabla de valores de la funcion Γ de Euler parahallar una aproximacion al valor de Γ(1,23) mediante interpolacion cubica. El valorverdadero es 0.91075.

x Γ(x)1.0 1.000001.1 0.951351.2 0.918171.3 0.89747

4.2. Polinomio interpolador de Newton

Otra forma de calcular el polinomio interpolador es debida a Newton. La ideabasica es construirlo por recurrencia. Primero se construye el polinomio de grado6 0 que interpola a la funcion en el nodo x0; a continuacion el polinomio de grado6 1 que interpola en x0 y x1; y ası sucesivamente. La forma final del polinomio seexpresara

P (x) = c0 + c1(x− x0) + c2(x− x0)(x− x1) + · · ·+ cn(x− x0)(x− x1) · · · (x− xn−1),

44

Page 51: Fundamentos Matemáticos de la Ingeniería. Prácticas con

donde los coeficientes ci se calcularan mediante las llamadas diferencias divididas,definidas por recurrencia como sigue:

ci = f [x0, . . . , xi] ≡f [x1, . . . , xi]− f [x0, . . . , xi−1]

xi − x0, i = 0, 1, . . . , n.

La ventaja del polinomio interpolador de Newton es la sencillez de su formu-lacion, junto con el hecho de que al anadir un nodo mas, pueden aprovecharse loscalculos realizados. El comando InterpolatingPolynomial[] utiliza el algoritmode diferencias divididas para calcular el polinomio interpolador. Ası, con los datosdel ejemplo anterior, se obtiene

polNewton@t_D = InterpolatingPolynomial@datos, tD

1.5 + H0.1 + H0.216667 + H-0.0291667 - 0.0291667 H-2 + tLL H-4 + tLL H-1 + tLL H-6 + tL

que al expresarlo en potencias de t coincide con los anteriores.

Ejercicio 4.3. Dada la tabla siguiente para la funcion f (x) = ex, encuentra losvalores aproximados de 3

√e por interpolacion lineal y cubica.

x 0,0 0,2 0,4 0,6f (x) 1,0000 1,2214 1,4918 1,8221

Ejercicio 4.4. Dados los puntos

x 0,5 −0,2 0,7 0,1 0,0f (x) −1,1518 0,7028 −1,4845 −0,1494 0,1353

1. Interpolar con un polinomio cubico que pase por los cuatro primeros puntos yutilizarlo para calcular f(0,2).

2. Repite el paso anterior, pero utilizando ahora los ultimos cuatro nodos. Co-menta la diferencia.

4.3. Cota de error en la interpolacion

Un aspecto importante a considerar es la calidad de nuestra interpolacion, esdecir el error que se comete cuando se aproxima un punto distinto de los nodos.

Teorema 4.3.1. Si f ∈ Cn+1 (a, b) y xi ∈ (a, b) para i = 0, 1, ..., n, entonces, paratodo x ∈ (a, b) se verifica

f(x)− pn(x) =fn+1 (ξx)(n+ 1)!

(x− x0) (x− x1) ... (x− xn) , ξx ∈ (a, b)

Corolario 1. Con las hipotesis del teorema anterior, si es |fn+1 (t) | 6 K, para todot ∈ [a, b], entonces

|f (x)− pn (x)| 6 K

(n+ 1)!|x− x0| |x− x1| . . . |x− xn|

45

Page 52: Fundamentos Matemáticos de la Ingeniería. Prácticas con

De la formula anterior no se puede deducir que los polinomios de mayor gradocorrespondan a una interpolacion mejor. De hecho, esta interpolacion es peor alaumentar el grado debido al caracter oscilatorio de los polinomios de grado alto. Elerror tiene una dependencia directa de la derivada de orden n+1 y de la proximidadde los puntos a los nodos.

Ejercicio 4.5. Hacer una estimacion del error cometido en las aproximaciones delos ejercicios 4.3 y 4.4.

4.3.1. El efecto Runge

Si se considera la sucesion {pn(x)} de polinomios de interpolacion obtenida au-mentando indefinidamente la cantidad de nodos de interpolacion, se observa que alcrecer n, ademas de aumentar el grado del polinomio y el numero de operaciones quese han de realizar, se acentua la perdida de la precision en los extremos del intervalodonde se interpola.

Ejercicio 4.6. La funcion f (x) =1

1 + x2, se conoce como funcion de Runge y

fue la utilizada por Runge para demostrar el efecto que lleva su nombre. Calculalos polinomios interpoladores de grados 4,6 y 10, de dicha funcion en el intervalo[−5, 5], con puntos equiespaciados. Dibuja las graficas de la funcion y sus polinomiosinterpoladores y comenta el resultado.

4.4. Interpolacion con un splin cubico

Una solucion al problema de la oscilacion de los polinomios de grado alto consisteen subdividir el intervalo en intervalos mas pequenos e interpolar un numero menorde nodos con polinomios de grado menor, se suele utilizar la interpolacion mediantepolinomios cubicos. Pero este metodo tambien es problematico porque las unionesde los polinomios no tienen una pendiente continua. Para impedir este problema sonde utilidad los tipos especiales de polinomios denominados splines.

Por otro lado, el estudio de los splines conduce a algunas otras formas especialesde polinomios (curvas de Bezier y splines-B) que no se interpolan, es decir, no pasanexactamente por todos los puntos de la funcion, pero que son de mucha utilidad paratrazar curvas suaves. Aunque los splines pueden ser de cualquier grado, usaremoslos de grado tres por ser los mas conocidos.

El ajuste de una curva mediante splines cubicos exige la creacion de una sucesionde polinomios cubicos sobre intervalos sucesivos de los datos con la condicion de quela pendiente de los polinomios debe coincidir en los nodos en que se unen. Ası, seescribe la ecuacion para un polinomio cubico, gi (x) , en el i-esimo intervalo, entrelos puntos (xi, yi) y (xi+1, yi+1) y la funcion splin cubico que se desea es de la forma

g (x) = gi (x) , x ∈ [xi, xi+1]

y cumple las condiciones:

1. gi (xi) = yi, i = 0, 1, ..., n− 1, gn−1 (xn) = yn; (interpola los nodos)

46

Page 53: Fundamentos Matemáticos de la Ingeniería. Prácticas con

2. gi (xi+1) = gi+1 (xi+1) , i = 0, 1, ..., n− 2; (para que sea continua)

3. g′i (xi+1) = g′i+1 (xi+1) , i = 0, 1, ..., n− 2; (para que sea de clase C1)

4. g′′i (xi+1) = g′′i+1 (xi+1) , i = 0, 1, ..., n− 2. (para que sea de clase C2)

De donde se obtiene

yi+1 = ai (x− xi+1)3 + bi (x− xi+1)2 + ci (x− xi+1) + di == aih

3i + bih

2i + cihi + di, i = 0, 1, ..., n− 1.

Si se hace Si = g′′i (xi) y Sn = g′′n−1 (xn) , los valores de los coeficientes vienen dadospor

ai =Si+1 − Si

6hi, bi =

Si2, ci =

yi+1 − yihi

− 2hiSi + hiSi+1

6, di = yi

Como los nodos extremos no tienen ninguna condicion hay distintas aproxima-ciones, la mas sencilla es la lineal S0 = Sn = 0.

Mathematica tiene esta aproximacion incorporada en el paqueteNumericalMath`Spline`

Ejemplo 4.2. Veamos como interpolar mediante un splin cubico la siguiente tablade datos

0 1 2 00 0 2 1

Se necesita cargar el paquete NumericalMath1 que puede hacerse con el comandoNeeds@"NumericalMath`"D

Introducimos los datos:puntos = 880, 0<, 81, 0<, 82, 2<, 80, 1<<;

Ahora podemos hacer uso de la funcion SplineFit que calcula una curva pa-rametrica (de clase C1) que interpola los puntos dados. Esta curva esta formadapor la union de polinomios de grado 3 y puede ser representada por el comandoParametricPlot como se ve a continuacion:

spline = SplineFit@puntos, CubicD

SplineFunction@Cubic, 80., 3.<, <>D

1En la version 6 de Mathematica el paquete se llama Splines

47

Page 54: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Show@Graphics@Point@puntosDD,ParametricPlot@spline@tD, 8t, 0, 3<D, Axes ® True, PlotRange ® AllD

0.5 1.0 1.5 2.0

0.5

1.0

1.5

2.0

Observa que no conocemos la expresion de la funcion interpolante aunque pode-mos calcular el valor en un nodo, dando valor al parametro. El valor del parametroen 0 es el primer punto, en 1 el segundo y ası sucesivamente. Notese que en este casolos nodos xi pueden estar repetidos y la curva puede autointersectarse.

spline@2D

82, 2<

spline@1D

81, 0<

Ejemplo 4.3. Veamos un ejemplo de una curva con autointersecciones.

datos = 880, 0<, 81, 0<, 82, 2<, 80, 1<, 82, 1<, 81, 2<<;spline2 = SplineFit@datos, CubicD;Show@Graphics@Point@datosDD,ParametricPlot@spline2@tD, 8t, 0, 5<D, Axes ® True, PlotRange ® AllD

0.5 1.0 1.5 2.0

0.5

1.0

1.5

2.0

48

Page 55: Fundamentos Matemáticos de la Ingeniería. Prácticas con

4.5. Ejercicios

Ejercicio 4.7. Los datos de la siguiente tabla provienen de observaciones astronomi-cas de un tipo de estrella variable denominada variable cefeida y representan mag-nitudes en su variacion aparente con el tiempo:

Tiempo 0.0 0.2 0.3 0.4 0.5 0.6 0.7 0.8 1.0Magnitud aparente 0.302 0.185 0.106 0.093 0.240 0.579 0.561 0.468 0.302

Dibujar una curva de interpolacion usando

1. un polinomio interpolador,

2. una aproximacion de splines cubicos.

Compara los resultados que se obtienen con las distintas aproximaciones parat=0.25

Ejercicio 4.8. En un experimento se obtuvieron los siguientes datos

t -1 -0.96 -0.86 -0.79 0.22 0.5 0.930y -1 -0.151 0.894 0.986 0.895 0.5 -0.306

1. Dibuja los puntos y la curva de interpolacion de forma intuitiva.

2. Calcula y dibuja el polinomio de sexto grado que interpola estos puntos.

3. Dibuja una curva de interpolacion usando splines cubicos.

4. Compara los resultados.

5. ¿Que valores obtienes para t = 0,90 con las distintas curvas de interpolacionobtenidas?

Ejercicio 4.9. Los datos siguientes representan la potencia diaria, en megawatts,generada por una central electrica de servicio regional, durante el mes de agosto de1998, y la temperatura atmosferica, en grados Fahrenheit, registrada a las 11 a.m.en una localidad cercana:

Temperatura 95 96 97 99 94Potencia 153.4 158.5 159.6 160.0 154.0

1. Utiliza tres puntos para calcular un polinomio de interpolacion de grado dosque puedas utilizar para interpolar en T = 98.

2. Utiliza todos los puntos para calcular un polinomio de interpolacion de gradocuatro.

3. Utiliza los dos resultados anteriores para calcular el valor de P cuando T = 98.¿Que resultado consideras mas correcto?

49

Page 56: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Practica 5

Integracion numerica

Con frecuencia surge la necesidad de evaluar la integral definida de una funcionque no tiene una primitiva expresable en terminos de funciones elementales, encuyo caso es preciso recurrir a tecnicas de evaluacion aproximadas. En este punto,varias posibilidades son factibles. Una de ellas es acudir a programas de calculosimbolico de proposito general, tales como Mathematica, el cual incorpora tambiencomandos que evaluan integrales de forma aproximada por medio de algoritmosnormalmente ocultos al usuario. Otra posibilidad consiste en usar las funciones yprogramas contenidos en bibliotecas de calculo numerico, basados en algoritmosmuy eficientes y que ofrecen excelentes prestaciones al usuario, tales como NAG eIMSL. Una tercera opcion es desarrollar, a partir de un algoritmo dado, un programapropio que implemente dicho algoritmo sobre un ordenador. En esta practica, pormedio del programa Mathematica consideraremos la tercera posibilidad. Para elloempezaremos estudiando algunos metodos para el calculo aproximado de integrales

I =∫ b

af(x)dx, (5.1)

donde f es una funcion integrable en el intervalo acotado (a, b). Por razones histori-cas, el calculo de integrales se conoce como cuadratura, reservandose el terminointegracion para la resolucion de ecuaciones diferenciales.

¿Por que usar cuadratura numerica en vez de calcular (5.1) por la regla de Barrow(teorema fundamental del calculo)? Varias pueden ser las razones:

Es posible que no se disponga de la expresion analıtica del integrando f , sinosolo de una tabla de valores de f o de una subrutina que permita evaluar f encualquier punto x.

Aunque se conozca la expresion analıtica de f y esta sea una funcion elemental,la primitiva de f quiza no sea elemental. Como ejemplo, podemos citar lafuncion f(x) = exp(−x2).

Aunque la primitiva de f sea elemental, encontrarla puede requerir de algunprocedimiento particularmente ingenioso (por ejemplo, un cambio de variable),no siempre facil de descubrir.

50

Page 57: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Aunque la primitiva sea elemental y obtenible sin recurrir a ideas mas o menosingeniosas, encontrar esa primitiva puede ser un proceso largo y tedioso, orequerir tecnicas numericas mas complejas que las que se necesitan para hallar(5.1) de modo directo. Por ejemplo, si f es una funcion racional la primitivase puede encontrar aplicando tecnicas sistematicas, pero que requieren hallartodos los ceros del denominador. Ahora bien, esta tarea en general hay quellevarla a cabo mediante aproximaciones numericas que son mas costosas queaproximar (5.1) directamente.

5.1. Reglas de cuadratura

La mayor parte de los metodos numericos aproximan (5.1) por una combinacionlineal de valores de f :

I ≈ IN+1(f) = α0f(x0) + · · ·+ αNf(xN ). (5.2)

Elegidos y fijados N ≥ 0, αi y xi, la expresion (5.2) asocia a cada funcion f unnumero real y constituye lo que se llama una regla de cuadratura. Los xi se llamanabscisas o nodos de la regla y supondremos que son dos a dos distintos. Los αi sedenominan pesos o coeficientes de la regla.

Hay cuatro reglas particularmente sencillas y que introducimos a continuacion.La regla de los rectangulos

IR(f) = (b− a)f(a). (5.3)

La regla del punto medio

IPM (f) = (b− a)f(c), c =a+ b

2. (5.4)

La regla de los trapecios

IT (f) =b− a

2f(a) +

b− a2

f(b). (5.5)

La regla de Simpson

IS(f) =b− a

6f(a) +

4(b− a)6

f(c) +b− a

6f(b), c =

a+ b

2. (5.6)

Decimos que una regla de cuadratura (5.2) tiene grado de exactitud M ≥ 0 sihalla exactamente la integral de cada polinomio de grado ≤M (i.e., I(f) = IN+1(f)para cada polinomio de grado ≤M), pero no halla exactamente la integral de algunpolinomio de grado M+1. En principio, parece razonable suponer que es convenienteconsiderar reglas de grado de exactitud alto.

Es facil probar que el grado de exactitud de las reglas de cuadratura introducidasanteriormente es el siguiente:

Regla de los rectangulos. Grado de exactitud: 0.

Regla del punto medio. Grado de exactitud: 1.

Regla de los trapecios. Grado de exactitud: 1.

Regla de Simpson. Grado de exactitud: 3.

51

Page 58: Fundamentos Matemáticos de la Ingeniería. Prácticas con

5.2. Obtencion de reglas de cuadratura

Supondremos ahora que en (5.2) hemos elegido N y los nodos xi y tratemos dedeterminar de manera razonable los pesos αi. Para resolver este problema, variasson los procedimientos posibles. Aquı analizaremos dos de ellos.

5.2.1. El metodo interpolatorio

Sustituyamos el integrando f por el polinomio P de grado ≤ N que coincidecon el en los N + 1 nodos xi. Podremos tomar

∫ ba P (x)dx como aproximacion al

verdadero valor (5.1), es decir, definir una regla mediante

IN+1(f) = I(P ) =∫ b

aP (x)dx. (5.7)

Si expresamos P en la forma del polinomio interpolador de Lagrange (Practica 4),tendremos

IN+1(f) = f(x0)∫ b

a`0(x)dx+ · · ·+ f(xN )

∫ b

a`N (x)dx,

con lo que los pesos buscados son

αi =∫ b

a`i(x)dx, i = 0, . . . , N (5.8)

Fijemonos en que el segundo miembro de (5.8) solo depende de las abscisas y es portanto independiente del integrando f . La regla (5.2) con los pesos (5.8) se llama reglainterpolatoria correspondiente a las abscisas xi. El siguiente teorema nos garantizauna cota inferior para su grado de exactitud.

Teorema 5.2.1. Dados N ≥ 0 y N + 1 abscisas xi dos a dos distintas, la corres-pondiente regla de cuadratura interpolatoria (5.2), (5.8) tiene grado de exactitud≥ N .

La demostracion de este teorema es sencilla: si el integrando f es un polinomiode grado ≤ N entonces su polinomio interpolador P es identicamente f y la igualdad(5.7) revela que IN+1(f) = I(f).

Es facil ver que la regla interpolatoria con N = 0 basada en la abscisa x0 = aes precisamente la del rectangulo (5.3), dado que en este caso el interpolante es laconstante f(a), cuya integral vale∫ b

af(a)dx = (b− a)f(a).

Del mismo modo, la regla interpolatoria con N = 0 basada en la abscisa x0 = c =(a+ b)/2 resulta ser la del punto medio.

52

Page 59: Fundamentos Matemáticos de la Ingeniería. Prácticas con

5.2.2. El metodo de coeficientes indeterminados

Esta basado en la observacion de que la regla (5.2) tiene grado de exactitud ≥ ksi y solo si IN+1(f) = I(f) cuando f(x) = 1, x, . . . , xk, es decir,

α0 + α1 + · · · + αN = b− aα0 x0 + α1 x1 + · · · + αN xN = (b2 − a2)/2

... +... + · · · +

... =...

α0 xk0 + α1 x

k1 + · · · + αN x

kN = (bk+1 − ak+1)/(k + 1)

(5.9)

Este es un sistema de k+ 1 ecuaciones para los N + 1 coeficientes αi. Si se pretendealcanzar grado ≥ N , al final tendremos tantas ecuaciones como coeficientes. Ademas,como la matriz de coeficientes es de Vandermonde con abscisas dos a dos distintas,el sistema tiene solucion unica. Ası se demuestra el siguiente resultado.

Teorema 5.2.2. Dados N ≥ 0 y N + 1 abscisas xi dos a dos distintas, hay unaunica eleccion de pesos αi para los cuales la regla (5.2) tiene grado de exactitud ≥ N .Los pesos pueden hallarse resolviendo el sistema (5.9) con k = N .

Teorema 5.2.3. Dados N ≥ 0 y N+1 abscisas xi dos a dos distintas, la correspon-diente regla interpolatoria es la unica con esas abscisas que tiene grado de exactitud≥ N . Los pesos pueden hallarse resolviendo el sistema (5.9) con k = N o por laformula (5.8).

5.3. Error de cuadratura

Nos interesa ahora estudiar el error EN+1(f) = I(f)− IN+1(f) que se comete alcambiar el verdadero valor de una integral por la aproximacion (5.2). Resumiendo untratamiento que excede con mucho los objetivos de este trabajo, podemos concluirlo siguiente para las reglas de cuadratura que venimos manejando.

La regla de los rectangulos. Si f tiene derivada continua en [a, b], entonces existeun punto η ∈ [a, b] para el que

ER(f) =(b− a)2

2f ′(η). (5.10)

La regla del punto medio. Si f tiene dos derivadas continuas en [a, b], entonces existeun punto η ∈ [a, b] para el que

EPM (f) =(b− a)3

24f ′′(η). (5.11)

La regla de los trapecios. Si f tiene dos derivadas continuas en [a, b], entonces existeun punto η ∈ [a, b] para el que

ET (f) = −(b− a)3

24f ′′(η). (5.12)

53

Page 60: Fundamentos Matemáticos de la Ingeniería. Prácticas con

La regla de Simpson. Si f tiene cuatro derivadas continuas en [a, b], entonces existeun punto η ∈ [a, b] para el que

ES(f) = −(b− a)5

2880f (iv)(η). (5.13)

El punto η depende obviamente tanto de la funcion a integrar f como de la reglaconsiderada. Observese que el orden de la derivada M+1 que aparece es una unidadsuperior al grado de exactitud M .

5.4. Reglas compuestas

Las reglas que hemos considerado hasta ahora (rectangulos, punto medio, tra-pecios, Simpson) son de utilidad limitada. Se observa de (5.10)-(5.13) que para queel error al usarlas sea pequeno es preciso que la longitud b− a del intervalo de inte-gracion sea pequena con respecto al tamano de las derivadas del integrando. Ahorabien, puede ocurrir que, habiendo aproximado una integral por ejemplo con la reglade Simpson, nos encontremos con que el error es demasiado grande para nuestrasnecesidades.

En ese caso, una primera posibilidad (poco util en la practica) consistirıa enconstruir por uno de los metodos que vimos anteriormente una nueva regla cuyogrado de exactitud sea mas alto que el de la regla de Simpson.

Otra idea, mucho mas fructıfera, consiste en introducir una particion del inter-valo,

∆ : a = x0 < x1 < x2 < · · · < xN = b,

escribir ∫ b

af(x)dx =

∫ x1

x0

f(x)dx+ · · ·+∫ xN

xN−1

f(x)dx (5.14)

y aproximar cada una de las integrales en los subintervalos por la regla de Simpson.Ası obtendremos una aproximacion

ISC(f) =x1 − x0

6f(x0) +

4(x1 − x0)6

f(x1/2) +x1 − x0

6f(x1) (5.15)

+ · · ·

+xN − xN−1

6f(xN−1) +

4(xN − xN−1)6

f(xN−1/2) +xN − xN−1

6f(xN )

donde hemos denotado xi−1/2 = (xi−1+xi)/2, i = 1, . . . , N . A esta regla de cuadratu-ra la llamaremos regla de Simpson compuesta relativa a la particion ∆. Observemosque esta es una regla de la forma (5.2) cuyas abscisas son los puntos de la particiony los puntos medios de los subintervalos de la particion. Si los puntos de esta estanigualmente espaciados con longitud h = (b − a)/N y denotando por simplicidadfi ≡ f(xi), la regla de Simpson compuesta se puede escribir de forma equivalentecomo

ISC =h

3

f0 + fN + 4∑

m impar

fm + 2∑m par

fm

54

Page 61: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Si en vez de aproximar las integrales del segundo miembro de (5.14) por la reglade Simpson, lo hacemos por las reglas del rectangulo, punto medio o trapecios,obtenemos las reglas del rectangulo compuesta, punto medio compuesta o trapecioscompuesta relativas a la particion ∆.

IRC(f) = (x1 − x0)f0 + · · ·+ (xN − xN−1)fN−1. (5.16)

IPMC(f) = (x1 − x0)f(x1/2) + · · ·+ (xN − xN−1)f(xN−1/2). (5.17)

ITC(f) =x1 − x0

2f(x0) +

x1 − x0

2f(x1) (5.18)

+ · · ·

+xN − xN−1

2f(xN−1) +

xN − xN−1

2f(xN )

En terminos de h, esta ultima tambien se escribe como

ITC(f) =h

2(f0 + 2f1 + 2f2 + · · ·+ 2fN−1 + fN ).

5.4.1. Errores en las reglas compuestas

Cuando se usa una regla compuesta el error cometido al cuadrar la integral en[a, b] es la suma de los errores que se cometen en cada una de las N cuadraturas co-rrespondientes a los subintervalos [xi−1, xi]. Por ejemplo, para la regla del rectangulocompuesta, restando (5.16) de (5.14) tenemos

ERC(f) = I(f)− IRC(f) =∫ x1

x0

f(x)dx− (x1 − x0)f(x0)

+ · · ·

+∫ xN

xN−1

f(x)dx− (xN − xN−1)f(xN−1).

Usando la formula (5.10) podemos escribir para integrandos con derivada continuaen [a, b]

ERC(f) =(x1 − x0)2

2f ′(η1) + · · ·+ (xN − xN−1)2

2f ′(ηN ),

siendo los ηi puntos de [xi−1, xi], i = 1, . . . , N . Se puede demostrar que existe unη ∈ [a, b] tal que

ERC(f) =12

[(x1 − x0)2 + · · ·+ (xN − xN−1)2]f ′(η).

A partir de esta expresion se puede obtener una cota como sigue. Tomemos valoresabsolutos y mayoremos cada (xi−xi−1)2 por h(xi−xi−1), con h = maxi(xi−xi−1).Como

(x1 − x0) + · · ·+ (xN − xN−1) = xN − x0 = b− a,

el resultado es|ERC(f)| ≤ 1

2(b− a)hK1, (5.19)

55

Page 62: Fundamentos Matemáticos de la Ingeniería. Prácticas con

con K1 una cota del valor absoluto de la derivada de f en [a, b]. De aquı se deducela convergencia: al hacer la particion mas y mas fina el error de la cuadratura tiendea cero. Ademas, la convergencia es de primer orden: dividir por dos el diametro dela particion h divide por dos la cota del error.

De la misma forma, se obtiene para funciones con dos derivadas continuas en[a, b],

|EPMC(f)| ≤ 124

(b− a)h2K2, (5.20)

|ETC(f)| ≤ 112

(b− a)h2K2, (5.21)

y para funciones con cuatro derivadas continuas en [a, b],

|ESC(f)| ≤ 12880

(b− a)h4K4, (5.22)

siendo Ki una cota del valor absoluto de la derivada i-esima en [a, b]. Estas formulasmuestran la convergencia de las respectivas reglas: cuadratica para la regla del puntomedio y la de los trapecios y cuartica para la regla de Simpson. Observese que engeneral la convergencia es de orden M + 1 para una regla compuesta basada en unasimple de grado de exactitud M .

5.5. Algoritmo de los metodos en Mathematica

Utilizando el programa Mathematica es facil construir procedimientos para cal-cular integrales de forma numerica aproximada. Por ejemplo, la regla del trapeciose puede implementar ası:

trapecios[f_, {var_, a_, b_, n_}] :=Module[{g, h, x, y},

g = Function[var, f];h = (b - a)/n;x = Table[a + i h, {i, 0, n}];y = Table[g[x[[i]]], {i, 1, n + 1}];h/2 (y[[1]] + y[[n + 1]] +

2 Sum[y[[i]], {i, 2, n}])]

En este algoritmo utilizamos la funcion Module, la cual declara las variablesx, y, h como locales, de forma que si se han empleado en la misma sesion deMathematica, sus valores no influyen en el resultado. La funcion Module tiene dosargumentos: el primero es una lista de las variables locales y el segundo correspondeal valor que queremos dar a las variables locales y por ultimo la expresion quequeramos calcular. Las expresiones del segundo argumento deben ir separadas porpunto y coma (;).

A continuacion aproximamos, con 20 subintervalos, la integral definida∫ π

0sinx dx

56

Page 63: Fundamentos Matemáticos de la Ingeniería. Prácticas con

N[trapecios[Sin[x], {x, 0, Pi, 20}]]

Tambien podemos aproximar una integral doble, por ejemplo∫ 1

0

∫ 1

x

√1− y2 dy dx

N[trapecios[trapecios[Sqrt[1 - y^2],{y, x, 1, 30}], {x, 0, 1, 30}]]

El algoritmo del metodo de Simpson se puede implementar de la siguiente forma:

simpson[f_, {a_, b_, n_}] :=Module[{x, y, h},

h = (b - a)/n;x = Table[a + i * h, {i, 0, n}];y = Table[f[x[[i]]], {i, 1, n + 1}];h/3 * ( 2 Sum[y[[i]], {i, 3, n - 1, 2}] +4 Sum[y[[i]], {i, 2, n, 2}] +y[[1]] + y[[n + 1]] )

]

Utilizando este algoritmo podemos aproximar cualquier integral definida:

f[x_] = Sin[x];N[simpson[f, {0, Pi, 20}]

Aquı hemos tomado una particion del intervalo [0, π] con 20 subintervalos.Tambien se pueden aproximar integrales multiples con la formula de Simpson:

g[y_] = Sqrt[1 - y^2];f[x_] = simpson[g, {x, 1, 30}];N[simpson[f, {0, 1, 30}]]

Mathematica dispone de la funcion NIntegrate para aproximar numericamenteuna integral. Esta funcion utiliza un algoritmo adaptivo, que divide recursivamentela region de integracion de manera que se obtenga una precision prefijada en elresultado final.

f[x_] = Sin[x];NIntegrate[f[x], {x, 0, Pi}]

La funcion NIntegrate tambien permite obtener aproximaciones numericas paraintegrales dobles:

NIntegrate[Sqrt[1 - y^2], {x, 0, 1}, {y, x, 1}]

57

Page 64: Fundamentos Matemáticos de la Ingeniería. Prácticas con

5.6. Ejercicios

Ejercicio 5.1. Usar la regla de los trapecios con h = 0,5 para evaluar

I =∫ 2

0(x2 − 3x+ 4)dx

y, mediante el calculo exacto de la integral, examinar la estimacion del error dadapor la formula (5.21).

Ejercicio 5.2. Utilizar la regla de los trapecios y la regla de Simpson compuestascon 10 puntos para calcular las siguientes integrales:

1.∫ π

0sinx dx

2.∫ π

π2

sinxx

dx

Ejercicio 5.3. Calcular las integrales siguientes utilizando las reglas de cuadraturaestudiadas.

1.∫ 1

0

∫ 1

x

√1− y2 dy dx

2.∫ 0,5

0,1

∫ x3

x4

ey/x dy dx

Ejercicio 5.4. Evaluar la integral ∫ 1

0

11 + x2

dx

(i) usando la regla del trapecio; (ii) usando la regla de Simpson; (iii) usando la regladel punto medio, todas con 10 puntos. Evaluar tambien la integral analıticamente ycomparar los resultados.

Ejercicio 5.5. Integrar la funcion

f(x) = x2(x2 − 2) sinx

entre 0 y π/2 con el metodo de los trapecios con n = 1, . . . , 14 subdivisiones del in-tervalo. Comparar con el resultado exacto y hacer una tabla con los errores relativos.

Ejercicio 5.6. Supongamos que queremos integrar la funcion tabulada que se mues-tra a continuacion:

x f(x) x f(x)1.6 4.953 2.8 16.4451.8 6.050 3.0 20.0862.0 7.389 3.2 24.5332.2 9.025 3.4 29.9642.4 11.023 3.6 36.5982.6 13.464 3.8 44.701

58

Page 65: Fundamentos Matemáticos de la Ingeniería. Prácticas con

sobre el intervalo comprendido entre x =1.8 y x =3.4. Emplead para ello la reglade los trapecios y el metodo de Simpson. ¿Dan resultados comparables?

Ejercicio 5.7. Queremos calcular aproximadamente la integral∫ 1

0

exp(−x2/2)√2π

dx,

cuyo integrando carece de primitiva elemental. El resultado verdadero es 0.3413447360.Usa la regla de los trapecios en una particion uniforme de diametro h para h = 1/2k,k = 1, 2, 3, 4 y muestra los resultados en forma de tabla. Dicha tabla ha de contenerel valor de h, el resultado aproximado obtenido, el error cometido y el error divididopor h2. Observa como decrece el error al refinar la particion: al dividir entre dos eldiametro el error se divide aproximadamente por cuatro (ecuacion (5.21)).

Ejercicio 5.8. Repite el calculo, pero ahora con la regla de Simpson. Observa queno solo los errores para cada h dado son mas pequenos, sino que la reduccion delerror con h es ahora mucho mas rapida que en la tabla anterior. Al dividir h entredos, ¿por cuanto lo hace aproximadamente el error? (ayuda: muestra en la ultimacolumna de la tabla el error dividido por h4). ¿Es esto de esperar?

Ejercicio 5.9. Es muy importante observar que en los dos problemas anteriores esinjusto compara los errores de los trapecios y Simpson correspondientes a un valorde h dado. La regla de Simpson con h = 0,0625 precisa evaluar el integrando en 33puntos; la de los trapecios con el mismo valor de h solo evalua el integrando en 17puntos, aproximadamente la mitad. Los metodos numericos deben compararse portrabajo para un error deseado o por error para un trabajo dado. Una manera ilustra-tiva de comparar los resultados de las dos tablas anteriores es construir una graficade eficiencia. Se trata de una representacion doblemente logarıtmica: en cada eje, lassucesivas potencias de 10 aparecen a intervalos de longitud constante. En ordenadasse representa el error, y en las abscisas el trabajo medido en numero de evaluacionesdel integrando. Con las tablas obtenidas en los dos ejercicios precedentes, elabora elcorrespondiente diagrama de eficiencia. Has de obtener dos curvas (una para la reglade los trapecios y otra para la regla de Simpson) que son aproximadamente lıneasrectas de pendientes −2 y −4 ¿por que? Para un trabajo dado, la regla de Simpsonda un error menor que la de los trapecios.

59

Page 66: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Practica 6

Sucesiones y series

En esta practica utilizaremos el programa Mathematica para ilustrar mediantealgunos comandos de calculo de Mathematica, ası como con algunos procedimientosgraficos, los conceptos de lımite de una sucesion, y los de polinomio de Taylor y deserie de Taylor de una funcion de clase C∞. En el camino, aprenderemos algunoscomandos y tecnicas de Mathematica que tienen interes en sı mismo.

6.1. Sucesiones

Para nuestro estudio de sucesiones de numeros reales necesitamos conocer lossiguientes aspectos de Mathematica:

(1) Definir funciones.

(2) El comando Table.

(3) El comando ListPlot.

(4) El comando FullSimplify.

(5) El comando Limit.

(6) El comando Solve.

Ejemplo 6.1. Estudiar la sucesion an =1

n2 + 1.

Solucion. Definimos la sucesion como una funcion

a[n ]:= 1/(n^2+1)

lo que nos permite obtener cualquier termino de la sucesion

a[30]=1

901

60

Page 67: Fundamentos Matemáticos de la Ingeniería. Prácticas con

y generar una tabla con algunos de sus terminos (por ejemplo, los 15 primeros)mediante el comando Table que podemos utilizar para visualizar el comportamientode la sucesion usando el comando ListPlot:

term=Table[a[n],{n,1,15}]

{12,15,

110,

117,

126,

137,

150,

165,

182,

1101

,1

122,

1145

,1

170,

1197

,1

226

}

ListPlot[term, PlotStyle->PointSize[0.02]]

2 4 6 8 10 12 14

0.05

0.1

0.15

0.2

La representacion grafica de los 15 primeros terminos de la sucesion nos sugiereque la sucesion es monotona decreciente (an+1 < an) y acotada inferiormente (porcero). Dado que toda sucesion estrictamente decreciente y acotada inferiormente esconvergente, el estudio grafico nos sugiere que la sucesion tiene lımite (de hecho,nos hace pensar que el lımite es cero). Vamos a ver como podemos comprobar estospropiedades con Mathematica.

(1) Decrecimiento: El programa no puede darnos informacion directa sobre la

desigualdad1

1 + (n+ 1)2<

11 + n2

porque no reconoce n como un numero natural.

La siguiente instruccion resuelve este problema:

FullSimplify[0<a[n+1]<a[n]<1, Element[n, Integers] && n>0]

True

(2) Acotacion: El estudio grafico sugiere que la sucesion esta acotada inferior-mente por 0 y superiormente por 1. Para comprobar este extremo utilizamos lasentencia:

FullSimplify[0<a[n]<1, Element[n, Integers] && n>0]

61

Page 68: Fundamentos Matemáticos de la Ingeniería. Prácticas con

True

(3) Calculo del lımite:

Limit[a[n]],n->Infinity]

0

Ejemplo 6.2. Estudiar la sucesion an = (−1)nn

n+ 1

Solucion. Consideramos la funcion

a[n ]:=(-1)^n n/(n+1)

y representamos sus 15 primeros terminos:

term=Table[a[n],{n,1,15}]

{−12,23,−3

4,45,−5

6,67,−7

8,89,− 9

10,1011,−11

12,1213,−13

14,1415,−15

16}

ListPlot[term, PlotStyle->PointSize[0.02]]

2 4 6 8 10 12 14

-0.75

-0.5

-0.25

0.25

0.5

0.75

El analisis de la representacion grafica de los 15 primeros terminos de la suce-sion nos dice que la sucesion es oscilante: los terminos impares son negativos y losterminos pares positivos (esto es debido a la presencia del factor (−1)n). Ademas,los lımites de las subsucesiones {a2n} y {a2n+1} son diferentes; por tanto la sucesion{an} no es convergente. Vamos a comprobarlo con Mathematica.

(1) Estudiamos la sucesion de los terminos pares:

FullSimplify[a[2n], Element[n,Integers]]

62

Page 69: Fundamentos Matemáticos de la Ingeniería. Prácticas con

2n2n+ 1

Limit[FullSimplify[a[2n], Element[n,Integers], n->Infinity]]

1

(2) Estudiamos la sucesion de los terminos impares:

FullSimplify[a[2n+1], Element[n,Integers]]

−1 +1

2 + 2n

Limit[FullSimplify[a[2n+1], Element[n,Integers], n -> Infinity]]

−1

Dado que las subsucesiones {a2n} y {a2n+1} tienen lımites diferentes, la sucesion{an} es divergente.

Ejemplo 6.3. Estudiar la sucesion definida mediante la relacion de recurrenciaxn =

√1 + xn−1 con x1 = 1.

Solucion. Al ser la sucesion recurrente, definimos la sucesion de la siguienteforma:

x[1]=1; x[n_]:= Sqrt[1+x[n-1]]

lo que nos permite calcular cualquier termino de la sucesion, por ejemplo

x[3]√1 +√

2

y calcular un valor aproximado

N[x[3],10]

1.553773974

Seguidamente representamos los 15 primeros terminos de la sucesion:

63

Page 70: Fundamentos Matemáticos de la Ingeniería. Prácticas con

term=Table[x[n],{n,1,15}];

ListPlot[term, PlotStyle -> PointSize[0.02]]

2 4 6 8 10 12 141.475

1.525

1.55

1.575

1.6

Graficamente se observa que la sucesion es creciente (xn < xn+1) y esta acotadasuperiormente (por ejemplo por 2), lo que implica que la sucesion es convergente. Siintentamos calcular su lımite mediante el comando Limit, Mathematica cae en unproceso recursivo y no es capaz de darnos el valor del lımite. Si lımn xn = L, debecumplirse la igualdad

L =√

1 + L .

Usando esta igualdad podemos calcular el lımite mediante el comando Solve:

Solve[L == Sqrt[1+L], L]

{{L→ 12(1 +√

5)}}

6.2. Series de numeros reales

Los siguientes comandos son los que utilizaremos para el estudio del caracter deuna serie y para el calculo (exacto o aproximado) de su suma:

(1) Limit

(2) Sum

(3) Calculo de sumatorios

(4) N, NSum

64

Page 71: Fundamentos Matemáticos de la Ingeniería. Prácticas con

(5) EulerSum (hay que cargar el paquete NumericalMath‘NLimit‘

Ejemplo 6.4. Estudiar el caracter de la serie∞∑n=0

12n2 + 1

. En caso de ser conver-

gente, calcular su suma.

Solucion. (1) Estudio del caracter:

Definimos el termino general y comprobamos el criterio de Cauchy:

a[n_]:= 1/(n^2+1)

Limit[a[n], n -> Infinity]

0

Por tanto, la serie puede ser convergente. Como es una serie de terminos positivosaplicamos el criterio del cociente:

Limit[a[n+1]/a[n], n -> Infinity]

1

El criterio del cociente no decide. Aplicamos el criterio de Raabe:

Limit[ n (1-a[n+1]/a[n]),n-> Infinity]

2

Al ser el lımite mayor que 1, la serie es convergente.

(2) Calculo de la suma:

Podemos calcular la suma de la serie con el comando Sum:

Sum[a[n],{n,0,Infinity}]

csch[π√2

](π cosh

[π√2

]+

2 sinh[π√2

]√

2

)2√

2

En general, como en el caso que nos ocupa, el resultado obtenido no es util a efectospracticos. No obstante, con Mathematica podemos obtener aproximaciones numeri-cas de la suma de una serie con una precision determinada:

N[Sum[a[n],{n,0,Infinity}, 17]]

65

Page 72: Fundamentos Matemáticos de la Ingeniería. Prácticas con

1.6371602671179672

Ademas del comando N, Mathematica incorpora la instruccion especıfica NSumpara obtener el valor aproximado de una serie:

NSum[a[n],{n,0,Infinity}]

1.63716

El comando NSum nos da un valor aproximado de la suma con una precision de6 dıgitos.

En el caso de series alternadas es conveniente utilizar el comando EulerSum queutiliza algoritmos matematicos mas complejos que los anteriores. Para poder usarloes necesario cargar el paquete NumericalMath‘‘NLimit".

Ejemplo 6.5. Aplica el criterio de Leibniz para series alternadas para demostrar

que la serie∞∑n=1

(−1)n

2n− 1es convergente. Calcula un valor aproximado de su suma

mediante el comando EulerSum.

Solucion. Tenemos que comprobar dos cosas: (1) el lımite del modulo del terminogeneral tiende a cero, y (2) el modulo del termino general es una sucesion monotonadecreciente.

a[n_]:= 1/(2n-1)

Limit[a[n], {n,0,n->Infinity}]

0

FullSimplify[0<a[n+1]<a[n]<2, Element[n, Integers] && n>0]

True

El criterio de Leibniz nos dice que la serie es convergente. Vamos a calcular un valoraproximado de su suma:

<<NumericalMath‘NLimit‘

EulerSum[a[n],{n,1,Infinity}]

-0.785398

Ejercicio 6.1. (1) Dada la sucesion de termino general an =2

3n− 2, se pide:

66

Page 73: Fundamentos Matemáticos de la Ingeniería. Prácticas con

(a) Escribir los 15 primeros terminos y representarlos graficamente.

(b) Estudiar el crecimiento y la acotacion.

(c) Calcular su lımite.

(2) Probar que la sucesion de termino general an = cosnπ es oscilante, estudiandolas subsucesiones {a2n} y {a2n+1}.

(3) Estudiar la sucesion recurrente xn+1 =14

+x2n para los valores x1 = 1, x1 =

12

y xn =14

.

(4) Probar que la serie∞∑n=2

1(log n)n

es convergente y calcular su suma con una

aproximacion de 17 cifras significativas.

(5) Probar que la serie armonica alternada∞∑n=2

(−1)n

nes convergente. Calcular su

suma con una aproximacion de 12 cifras significativas.

(6) Probar que la serie∞∑n=2

(−1)n sin(πn

)es convergente. Hallar el valor de su

suma o, en su defecto, un valor aproximado.

6.3. Series de Taylor

Dada una funcion f que tiene derivadas de todos los ordenes en un punto a, se

define la serie de Taylor de f en el punto a como la serie de potencias∞∑n=0

f (k)(a)k!

(x−

a)k. Su suma parcial n-esima es el denominado polinomio de Taylor de orden n, que

se denota por Tn(f, a)(x) = f(a)+n∑k=1

fk(a)k!

(x−a)k. Observa que las sumas parciales

de la serie de Taylor son precisamente los polinomios de Taylor. Recordemos que losdos problemas fundamentales asociados con la serie de Taylor de una funcion f(cuando existe) son: (1) ¿converge la serie de Taylor para algun valor diferente de a,y si es ası, (2) ¿su suma es f(x)?

En esta seccion vamos a calcular los polinomios de Taylor de algunas funcionesen x = 0 y visualizaremos como aproximan a la funcion en un intervalo centrado enel origen.

Ejemplo 6.6. Definir una funcion que calcule los polinomios de Taylor de la fun-cion f(x) = cos(x) y utilizarla para realizar una animacion que muestre como seaproximan a f .

67

Page 74: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Solucion. El comando Series[func,x,a,grado] calcula la serie de Taylor en lavariable x centrada en el punto a hasta el termino indicado por grado.

Series[Cos[x], {x,0,10}]

1− x2

2+x4

24− x6

720+

x8

40320− x10

3628800+ O[x]11

Al final de la respuesta aparece el termino O[x]11 que nos indica el orden de errorque nos indica que los terminos que faltan son todos de grado mayor o igual a once.En realidad, como las derivadas de orden impar del coseno son cero, los terminosde potencias impares son nulos, pero el comando usado no informa a Mathematicade este detalle. Sin queremos que no aparezca el termino del error podemos usar elcomando

Normal[Series[Cos[x], {x,0,10}]]

1− x2

2+x4

24− x6

720+

x8

40320− x10

3628800

Para realizar la animacion que nos muestre la forma en que los polinomios deTaylor aproximan a la funcion en un entrono del origen, definiremos una funcion quecalcule los polinomios de Taylor en el origen:

Table[scos[n_,x_]= Normal[Series[Cos[x],{x,0,n},{n,0,100,2}];

Fıjate que, como las derivadas de orden impar de la funcion coseno son nulas en elorigen, hemos hecho que el contador n tome solo los valores pares desde 0 a 100.Podemos ahora extraer de la tabla el polinomio de Taylor que deseemos entre los100 primeros:

scos[10,x]

1− x2

2+x4

24− x6

720+

x8

40320− x10

3628800

scos[12,x]

1− x2

2+x4

24− x6

720+

x8

40320− x10

3628800+

x12

479001600

Ahora podemos definir una funcion que realice pero no muestre en pantalla el graficodel coseno junto con el de scos[n,x] en un intervalo [a, b]:

graf[n_,a_,b_]:=Plot[{Cos[x],scos[n,x]},{x,a,b}, PlotRange -> {-2,2},PlotStyle -> {RGBColor[1,0,0], RGBColor[0,0,1]}]

68

Page 75: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Podemos visualizar ahora un polinomio de Taylor de orden dado en un intervalo pre-fijado. Por ejemplo, podemos ver el polinomio de orden 10 en el intervalo [−2π, 2π]:

graf[10,-2Pi,2Pi]

-6 -4 -2 2 4 6

-2

-1.5

-1

-0.5

0.5

1

1.5

2

Para realizar una animacion es necesario hacer todos los cuadros de la animacion,como si se tratara de unos dibujos animados. Para ello definimos la funcion

animacos[n_, a_, b_] := Table[graf[k, a, b], {k, 0, n, 2}]

Ahora ya podemos realizar la animacion, escribe, por ejemplo

animacos[20,-2Pi,2Pi]

Una vez tengas todos los cuadros de la animacion, puedes activarla seleccionando unocualquiera de ellos y haciendo doble click. Puedes controlar la velocidad utilizandolos botones que habran aparecido en la esquina inferior izquierda de la pantalla.

Ejemplo 6.7. Dada la funcion f(x) = log(1 + x), se pide:

(1) Calcula T10(f, 0) y T20(f, 0).

(2) Deduce, a partir de los resultados obtenidos en (1), la serie de Taylor T (f, 0)de f en el origen.

(3) Calcula el radio de convergencia de T (f, 0).

(4) Realiza una animacion para visualizar que T (f, 0) representa a f en el inter-valo de convergencia.

69

Page 76: Fundamentos Matemáticos de la Ingeniería. Prácticas con

(5) Los extremos del intervalo de convergencia son los puntos x = −1 y x = 1.Comprueba que T (f, 0) converge en ambos puntos. ¿Representa T (f, 0) a f enx = −1?, ¿y en x = 1?

Solucion. (1)

Normal[Series[Log[1 + x], {x, 0,10}]]

x− x2

2+x3

3− x4

4+x5

5− x6

6+x7

7− x8

8+x9

9− x10

10

Normal[Series[Log[1 + x], {x, 0, 20}]]

x− x2

2+x3

3− x4

4+x5

5− x6

6+x7

7− x8

8+x9

9− x10

10+x11

11− x12

12+x13

13− x14

14+

x15

15− x16

16+x17

17− x18

18+x19

19− x20

20

(2) La expresion buscada es∞∑n=1

(−1) n+1xn

n.

(3) Teniendo en cuenta la formula que nos proporciona el radio de convergenciade una serie de potencias, hemos de calcular lım

n→∞

an+1

an, donde an es el modulo del

termino general an =1n

:

Limit[(n/(n+1)), n -> Infinity]

1

Por tanto, el radio de convergencia es 1 y el intervalo de convergencia ]− 1, 1[.

La animacion la realizamos siguiendo los pasos del ejemplo anterior. Primerodefinimos una funcion que calcule los polinomios de Taylor en el origen:

Table[slog[n_,x_]=Normal[Series[Log[1+x],{x,0,n},{n,0,100}];

y, a continuacion, extraemos de la tabla el polinomio de Taylor que deseemos entrelos 100 primeros:

slog[10,x]

x− x2

2+x3

3− x4

4+x5

5− x6

6+x7

7− x8

8+x9

9− x10

10

que nos proporciona el mismo resultado que en el apartado (1).

El siguiente paso es una funcion que realice pero no muestre en pantalla el graficode nuestra funcion junto con el de slog[n,x] en un intervalo [a, b]:

70

Page 77: Fundamentos Matemáticos de la Ingeniería. Prácticas con

grafl[n_,a_,b_]:=Plot[{Log[1+x],slog[n,x]},{x,a,b}, PlotRange->{-2,2},PlotStyle->{RGBColor[1,0,0],RGBColor[0,0,1]}]

Como antes visualizamos un polinomio de Taylor de orden dado en un intervaloprefijado. Por ejemplo, podemos ver el polinomio de orden 5 en el intervalo [−1, 1]:

grafl[10,-1,1]

-1 -0.5 0.5 1

-2

-1.5

-1

-0.5

0.5

1

1.5

2

Ya sabemos que para obtener una animacion es necesario hacer todos los cuadrosde la animacion, como si se tratara de unos dibujos animados:

animalog[n_, a_, b_] := Table[grafl[k,a,b], {k, 0, n}]

Podemos realizar la animacion mediante

animalog[10,-1,1]

Recuerda que cuando Mathematica te proporcione todos los cuadros de la animacion,puedes activarla seleccionando uno cualquiera de ellos y haciendo doble click y quela velocidad de la animacion puede controlarse mediante los botones que aparecenen la esquina inferior izquierda de la pantalla.

(5) Estudiamos la serie∑∞

n=1

(−1)n+1xn

nen el punto x = −1. Primero calcula-

mos su termino general sustituyendo la x por −1:

Expand[(-1)^(n+1) (-1)^n/n]

(−1)1+2n

n

a[n_]:= %

71

Page 78: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Se trata de una serie alternada. Aplicaremos el criterio de Leibniz para estudiar suconvergencia:

b[n_]:=Abs[a[n]]

Limit[b[n],{n,0,Infinity}]

0

FullSimplify[0<b[n+1]<b[n]<2, Element[n, Integers] && n>0]

True

Por tanto la serie∑∞

n=1

(−1)n+1xn

nen el punto x = −1 es convergente. Obvia-

mente no representa a la funcion f(x) = log 1 + x en x = −1 porque la funcion noesta definida en ese punto (¿por que?).

Veamos que pasa en el punto x = 1.

Expand[(-1)^(n+1) 2^n/n]

(−1)1+n

n

c[n_]:= %

Se trata de una serie alternada. Como antes, aplicaremos el criterio de Leibniz paraestudiar su convergencia:

d[n_]:=Abs[c[n]]

Limit[d[n],{n,0,Infinity}]

0

FullSimplify[0<d[n+1]<d[n]<2, Element[n, Integers] && n>0]

True

Por tanto, la serie∑∞

n=1

(−1)1+n

nes convergente. Como la funcion f(x) = log(1+x)

es continua en el punto x = 1, el teorema de Abel nos dice que

log 2 =∞∑n=1

(−1)1+n

n

Veamos que nos dice Mathematica cuando calculamos el lımite de la serie:

72

Page 79: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Sum[(-1)^(1+n)/n,{n,1,Infinity}]

Log[2]

Ejercicio 6.2. (1) Definir una funcion que calcule los polinomios de Taylor de lafuncion f(x) = sen(x) y utilizarla para realizar una animacion que muestrecomo se aproximan a f .

(2) Calcular la serie de Taylor en el origen de la funcion f(x) = ex. Calcular suradio de convergencia y realizar una animacion para visualizar como aproximala serie de Taylor a la funcion.

(3) Dada la funcion f(x) = arctan(1 + x), se pide:

(1) Calcula T10(f, 0) y T20(f, 0).

(2) Deduce, a partir de los resultados obtenidos en (1), la serie de TaylorT (f, 0) de f en el origen.

(3) Calcula el radio de convergencia de T (f, 0).

(4) Realiza una animacion para visualizar que T (f, 0) representa a f en elintervalo de convergencia. Varıa los intervalos para ver que sucede en elintervalo de convergencia y fuera de el.

(5) Analiza la convergencia de la serie de Taylor en los extremos del intervalo.¿Representa la serie de Taylor a la funcion f(x) = arctan(x) en losextremos del intervalo?

73

Page 80: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Practica 7

Ecuaciones diferenciales conMathematica

7.1. Tratamiento analıtico

El objetivo de esta seccion es doble. Por una parte, veremos como Mathematica escapaz de resolver de forma automatica la mayorıa de tipos de ecuaciones diferencialesque se suelen estudiar en un primer curso sobre la materia con un solo comando.Por otra parte, ilustraremos las principales tecnicas computacionales que se llevan acabo con el fin de reproducir en el ordenador la secuencia de calculos necesarios (lamayorıa largos y tediosos) para obtener la solucion analıtica (explıcita o implıcita)de ecuaciones diferenciales de primer y segundo orden. Ademas, veremos como seusa Mathematica para ampliar nuestro conocimiento acerca de las soluciones de unaecuacion diferencial mediante su representacion grafica.

El comando basico para la resolucion analıtica de ecuaciones diferenciales enMathematica es DSolve, cuya sintaxis es la siguiente:

DSolve[{ODE, cond. inic.},y[x],x]

donde cond. inic. representa la condicion inicial. Si esta no aparece, el comandodevuelve una familia n-parametrica de soluciones.

No pretendemos efectuar un tratamiento en profundidad, sino mas bien ilustraralgunas de las tecnicas que se pueden llevar a cabo en diferentes contextos. Paraello, consideraremos brevemente algunos ejemplos practicos representativos de lostipos de ecuaciones que se estudian en la teorıa y como se utiliza Mathematica parasu resolucion.

7.1.1. Ecuaciones diferenciales de primer orden

Ecuaciones de variables separables

Ejemplo 7.1. Resuelve la ecuacion diferencial

y′ =x2 + 8

(x2 − 5x+ 6)y2 cos y.

74

Page 81: Fundamentos Matemáticos de la Ingeniería. Prácticas con

En este caso, vamos a obtener una familia 1-parametrica de soluciones con elcomando DSolve:

ecdif1 = y'@xD � Hx^2 + 8L � HHx^2 - 5 x + 6L y@xD^2 Cos@y@xDDL

y¢@xD ==

I8 + x2M Sec@y@xDDI6 - 5 x + x2M y@xD2

DSolve@ecdif1, y@xD, xD

Solve::tdep : The equations appear to involve thevariables to be solved for in an essentially non-algebraic way.

SolveB-x + LogBH-2 + xL12

H-3 + xL17F - 2 Sin@y@xDD + 2 Cos@y@xDD y@xD + Sin@y@xDD y@xD2

== C@1D, 8y@xD<F

Esta solucion implıcita se puede obtener tambien con la siguiente secuencia decalculos, que es la que normalmente se lleva a cabo con papel y lapiz:

lhs = y^2 Cos@yD; rhs = Hx^2 + 8L � Hx^2 - 5 x + 6L;

s1 = Integrate@lhs, yD

2 y Cos@yD + I-2 + y2M Sin@yD

s2 = Integrate@rhs, xD

x + 17 Log@-3 + xD - 12 Log@-2 + xD

solucion = s1 - s2 == c

-x + 2 y Cos@yD - 17 Log@-3 + xD + 12 Log@-2 + xD + I-2 + y2M Sin@yD == c

Ejemplo 7.2. Resuelve la ecuacion

y′ =x2

√9− x2 ey cos y

con la condicion inicial y(0) = 0.

Analogamente al caso anterior, primero la resolvemos con DSolve:

ec2 = y'@xD � x^2� HSqrt@9 - x^2D Exp@y@xDD Cos@y@xDDL

y¢@xD ==ã-y@xD x2 Sec@y@xDD

9 - x2

DSolve@8ec2, y@0D � 0<, y@xD, xD

Solve::tdep : The equations appear to involve thevariables to be solved for in an essentially non-algebraic way.

SolveB-1

2 -9 + x2

-9 x + x3 - ãy@xD 9 - x2 Cos@y@xDD + 9 -9 + x2 LogBx + -9 + x2 F - ãy@xD 9 - x2 Sin@y@xDD ==

2-9

2

ä Π

2+ Log@3D , 8y@xD<F

75

Page 82: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Observese que el mensaje tiene que ver con el hecho de que Mathematica no puededespejar explıcitamente y, esto es, que se obtiene una solucion implıcita. Ademas,aparecen cantidades complejas, de manera que la expresion final no es ciertamentemuy manejable. Por ello, a continuacion procedemos paso a paso, tal como harıamoscon lapiz y papel al tratar de resolver una ecuacion de variables separables. Fijemonosen que al introducir la condicion inicial podemos calcular el valor de la constantearbitraria, pero que, efectivamente, obtenemos una solucion implıcita. No obstante,dicha solucion tambien se puede representar graficamente con relativa facilidad conel comando ImplicitPlot, cargando previamente el paquete correspondiente.

In[1]:= lhs = Exp@yD Cos@yD; rhs = x^2 � Sqrt@9 - x^2D;

In[2]:= s1 = Integrate@lhs, yD

Out[2]=1

2ãy HCos@yD + Sin@yDL

In[3]:= s2 = Integrate@rhs, xD

Out[3]= -1

2x 9 - x2 +

9

2ArcSinB

x

3F

In[4]:= sol = s1 � s2 + c

Out[4]=1

2ãy HCos@yD + Sin@yDL � c -

1

2x 9 - x2 +

9

2ArcSinB

x

3F

In[5]:= cval = Solve@sol �. y ® 0 �. x ® 0, cD

Out[5]= ::c ®1

2>>

In[6]:= solucion = sol �. cval@@1DD

Out[6]=1

2ãy HCos@yD + Sin@yDL �

1

2-1

2x 9 - x2 +

9

2ArcSinB

x

3F

In[7]:= << Graphics`ImplicitPlot`

In[8]:= graf1 = ImplicitPlot@solucion, 8x, -3, 3<, 8y, -4, 4<D

76

Page 83: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Out[8]=

-3 -2 -1 1 2

-4

-3

-2

-1

1

2

3

Ecuaciones exactas

Ejemplo 7.3. Obten la solucion general de la ecuacion

(−1 + exyy + y cos(xy))dx+ (1 + exyx+ x cos(xy))dy = 0.

Como de costumbre, primero vemos que solucion nos proporciona DSolve.

m@x_, y_D = -1 + Exp@x yD y + y Cos@x yD;n@x_, y_D = 1 + Exp@x yD x + x Cos@x yD;ecu = DSolve@m@x, y@xDD + n@x, y@xDD y'@xD � 0, y@xD, xD

Solve::tdep : The equations appear to involve thevariables to be solved for in an essentially non-algebraic way.

SolveAãx y@xD - x + Sin@x y@xDD + y@xD == C@1D, 8y@xD<E

Observamos que de esta forma se obtiene una familia uniparametrica de solucio-nes implıcitas, dependiendo del parametro C[1].

Para ilustrar el procedimiento usual de resolucion de una ecuacion diferencialexacta, presentamos a continuacion la secuencia de comandos en Mathematica quelleva a cabo dicho procedimiento. Logicamente, se llega al mismo resultado, si bienesta vez la familia de soluciones depende de la constante arbitraria c.

77

Page 84: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Finalmente, representamos graficamente en el dominio [−π, π] × [−π, π] algu-nas de las soluciones obtenidas, considerando diferentes valores del parametro c ∈[−10, 10]. Para ello utilizamos el comando ContourPlot.

D@m@x, yD, yD � D@n@x, yD, xD

True

paso1 = Integrate@m@x, yD, xD

ãx y - x + Sin@x yD

paso2 = D@paso1 + g@yD, yD

ãx y x + x Cos@x yD + g¢@yD

paso3 = Solve@paso2 � n@x, yD, g'@yDD

88g¢@yD ® 1<<

paso4 = Integrate@g'@yD �. paso3@@1DD, yD

y

solucion = paso1 + paso4 � c

ãx y - x + y + Sin@x yD == c

ContourPlot@solucion@@1DD, 8x, -Pi, Pi<, 8y, -Pi, Pi<, Contours ® 15,PlotPoints ® 30, PlotRange ® 8-10, 10<, ContourShading ® FalseD

-3 -2 -1 0 1 2 3

-3

-2

-1

0

1

2

3

78

Page 85: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Ecuaciones lineales

Ejemplo 7.4. Obten la solucion general de la ecuacion

xy′ + 3y = x sinx.

En este caso aplicamos directamente DSolve. Fijemonos en que la solucion ge-neral depende del parametro arbitrario C[1]. A continuacion representamos grafica-mente algunas soluciones particulares, obtenidas dando valores diferentes al parame-tro. En cualquier caso, observese el comportamiento de las mismas para valores dex positivos grandes. ¿Sabrıas explicar convincentemente este hecho?

ecli = x y'@xD + 3 y@xD � x Sin@xD;

sol = DSolve@ecli, y@xD, xD

::y@xD ®C@1Dx3

+6 x Cos@xD - x3 Cos@xD - 6 Sin@xD + 3 x2 Sin@xD

x3>>

yy@c_D = Hy@xD �. sol@@1DDL �. C@1D ® c

c

x3+6 x Cos@xD - x3 Cos@xD - 6 Sin@xD + 3 x2 Sin@xD

x3

sols = Table@yy@cD, 8c, -3, 3, 1<D;

Plot@Evaluate@solsD, 8x, 0.1, 2 Pi<, AxesOrigin ® 80, 0<D

1 2 3 4 5 6

-3

-2

-1

1

2

3

7.1.2. Ecuaciones diferenciales lineales de segundo orden

En los ejemplos siguientes vemos como Mathematica resuelve las ecuaciones di-ferenciales lineales de segundo orden y como se pueden representar graficamente sussoluciones. De hecho, el procedimiento es similar independientemente del orden dela ecuacion.

Aunque con lapiz y papel es relativamente sencillo obtener la solucion generalde una ecuacion diferencial lineal con coeficientes constantes, Mathematica permite

79

Page 86: Fundamentos Matemáticos de la Ingeniería. Prácticas con

de forma sencilla elaborar una grafica con las soluciones para diferentes valores delas constantes arbitrarias, tal como se pone de manifiesto a continuacion.

Ejemplo 7.5. Calcula la solucion general de la ecuacion diferencial

y′′ + 4y′ + 13y = x cos2(3x).

solu1 = DSolve@y''@xD + 4 y'@xD + 13 y@xD � x Cos@3 xD^2, y@xD, xD

::y@xD ® ã-2 x C@2D Cos@3 xD + ã-2 x C@1D Sin@3 xD +1

14652300

I-86700 Cos@3 xD2+ 281775 x Cos@3 xD2

- 6084 Cos@3 xD Cos@9 xD + 129285 x Cos@3 xD Cos@9 xD +

72250 Cos@3 xD Sin@3 xD + 375700 x Cos@3 xD Sin@3 xD + 13013 Cos@9 xD Sin@3 xD +

28730 x Cos@9 xD Sin@3 xD - 266184 Sin@3 xD2+ 974610 x Sin@3 xD2

- 12168 Cos@6 xD Sin@3 xD2+

258570 x Cos@6 xD Sin@3 xD2- 13013 Cos@3 xD Sin@9 xD - 28730 x Cos@3 xD Sin@9 xDM>>

yy = y@xD �. solu1@@1DD;

tograph = Table@yy �. 8C@1D ® i, C@2D ® j<, 8i, -5, 5, 5<, 8j, -4, 4, 2<D �� Flatten;

Plot@Evaluate@tographD, 8x, -1, 1<, PlotRange ® 8-20, 20<, PlotPoints ® 100D

-1.0 -0.5 0.5 1.0

-20

-10

10

20

Ejemplo 7.6. Calcula la solucion general de la ecuacion diferencial

y′′ − 4y =e−4x

x3.

80

Page 87: Fundamentos Matemáticos de la Ingeniería. Prácticas con

sola = DSolve@y''@xD - 4 y@xD � E^H-4 xL �x^3, y@xD, xD

::y@xD ® ã2 x C@1D + ã-2 x C@2D +

ã-4 x I1 + 9 ã6 x x ExpIntegralEi@-6 xD - ã2 x x ExpIntegralEi@-2 xDM2 x

>>

figu1 = Table@y@xD �. sola@@1DD �. 8C@1D ® i, C@2D ® j<, 8i, -3, 3, 2<, 8j, -4, 4, 2<D �� Flatten;

Plot@Evaluate@figu1D, 8x, 0.01, 1<, PlotRange ® 8-15, 15<D

0.2 0.4 0.6 0.8 1.0

-15

-10

-5

5

10

15

A continuacion vemos como Mathematica en ocasiones es capaz de resolver unaecuacion diferencial lineal de segundo orden con coeficientes variables.

Ejemplo 7.7. Resuelve la ecuacion xy′′ + 2y′ − xy = sinx.

In[10]:= solu3 = DSolve@x y''@xD + 2 y'@xD - x y@xD � Sin@xD, y@xD, xD

Out[10]= ::y@xD ®ã-x C@1D

x+

ãx C@2D

2 x-Sin@xD

2 x>>

In[11]:= y2 = y@xD �. solu3@@1DD �. 8C@1D ® 1, C@2D ® 2<

Out[11]=ã-x

x+

ãx

x-Sin@xD

2 x

In[12]:= Plot@y2, 8x, 0, 4<D

1 2 3 4

10

15

20

Finalmente, consideremos un problema de valor inicial:

81

Page 88: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Ejemplo 7.8. Resuelve

2y′′ + 5y′ + 5y = 0, y(0) = 0, y′(0) =12.

solu4 = DSolve@82 y''@xD + 5 y'@xD + 5 y@xD � 0, y@0D � 0, y'@0D � 1�2<, y@xD, xD

::y@xD ®

2 ã-5 x�4 SinB 15 x

4F

15>>

Plot@y@xD �. solu4@@1DD, 8x, -Pi�4, Pi<D

1 2 3

-0.3

-0.2

-0.1

0.1

7.1.3. Sistemas de ecuaciones diferenciales

El comando DSolve, con la sintaxis habitual, sirve tambien para resolver ciertostipos de sistemas de ecuaciones diferenciales, entre los que se cuentan los linealescon coeficientes constantes. Analicemos su uso por medio de un ejemplo detallado.

Ejemplo 7.9. Calcula la solucion general del sistema

x′ = 5x+ 2yy′ = −2x+ 2y

¿Como se resolverıa este problema con lapiz y papel? Si usamos metodos matri-ciales, empezarıamos escribiendo la matriz de coeficientes y calculando sus valorespropios y sus correspondientes subespacios propios. Despues, y dependiendo de lamultiplicidad de los valores propios y la dimension de los subespacios propios, es-cribirıamos dos soluciones linealmente independientes, con las cuales formarıamosuna matriz fundamental del sistema. Naturalmente, esas soluciones independientesdependerıan de si los valores propios son reales o complejos. En Mathematica, este

82

Page 89: Fundamentos Matemáticos de la Ingeniería. Prácticas con

proceso se lleva a cabo automaticamente con DSolve:

In[2]:= sol = DSolve@8x'@tD � 5 x@tD + 2 y@tD, y'@tD � -2 x@tD + 2 y@tD<, 8x@tD, y@tD<, tD

Out[2]= ::x@tD ®

4 ã7 t�2 C@2D SinB 7 t

2F

7+1

7ã7 t�2 C@1D 7 CosB

7 t

2F + 3 7 SinB

7 t

2F ,

y@tD ® -

4 ã7 t�2 C@1D SinB 7 t

2F

7+1

7ã7 t�2 C@2D 7 CosB

7 t

2F - 3 7 SinB

7 t

2F >>

La solucion general para x(t) se obtiene con sol[[1,1,2]], mientras que y(t) seobtiene con sol[[1,2,2]]:

In[3]:= x@t_D = sol@@1, 1, 2DD

Out[3]=

4 ã7 t�2 C@2D SinB 7 t

2F

7+1

7ã7 t�2 C@1D 7 CosB

7 t

2F + 3 7 SinB

7 t

2F

In[4]:= y@t_D = sol@@1, 2, 2DD

Out[4]= -

4 ã7 t�2 C@1D SinB 7 t

2F

7+1

7ã7 t�2 C@2D 7 CosB

7 t

2F - 3 7 SinB

7 t

2F

A continuacion vamos a representar graficamente la solucion para varios valoresde C[1] y C[2] creando primero una tabla de {x[t],y[t]} con C[1] remplazado pori y C[2] remplazado por j, para i, j = −6,−4,−2, 0, 2, 4, 6. A dicha tabla la llamamosfunarray. Para convertir funarray en una lista de funciones preparada para serrepresentadas con ParametricPlot, se usa Flatten para quitar los parentesis defunarray. A dicha lista la llamamos tograph.

In[5]:= funarray = Table@8x@tD, y@tD< �. 8C@1D ® i, C@2D ® j<, 8i, -6, 6, 2<, 8j, -6, 6, 2<D;

In[6]:= tograph = Flatten@funarray, 1D;

Seguidamente, se usa ParametricPlot para representar graficamente tographen el intervalo [−1, 1], llamandose a dicha grafica graphuno.

In[7]:= graphuno = ParametricPlot@Evaluate@tographD, 8t, -1, 1<, PlotRange ® 88-1, 1<, 8-1, 1<<D

83

Page 90: Fundamentos Matemáticos de la Ingeniería. Prácticas con

-1.0 -0.5 0.5 1.0

-1.0

-0.5

0.5

1.0

Para determinar la direccion asociada con cada solucion, se hace uso del pa-quete PlotField dentro de Graphics (hasta la version 5.2 de Mathematica) oVectorFieldPlots (version 6), el cual permite dibujar facilmente el campo de di-recciones asociado al sistema.

Observese que en un sistema de ecuaciones con dos variables, x′ = X(x, y),y′ = Y (x, y), cada solucion ha de satisfacer la relacion

dy

dx=dy/dt

dx/dt=Y (x, y)X(x, y)

≡ f(x, y). (7.1)

Por consiguiente, el campo de direcciones asociado con el sistema de ecuacionesdiferenciales representa una coleccion de vectores que son tangentes a la familia desoluciones del sistema. El campo de direcciones para este ejemplo se dibuja con elcomando PlotVectorField (hasta la version 5.2) o VectorFieldPlot (version 6).

Recordemos a este respecto que el campo de direcciones de la ecuacion diferencial(7.1) no es mas que la representacion grafica del campo vectorial en el plano:

~F (x, y) =~ı+ f(x, y)~.

Como estamos trabajando con la version 6, utilizamos VectorFieldPlot.

In[8]:= << VectorFieldPlots`;

In[10]:= graphdos = VectorFieldPlot@85 x + 2 y, -2 x + 2 y<, 8x, -1, 1<, 8y, -1, 1<D

84

Page 91: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Representando simultaneamente la familia de soluciones con el campo de direc-ciones precedente, vemos que cada solucion esta dirigida hacia afuera del origenconforme se incrementa t.

In[11]:= Show@graphuno, graphdosD

-1.0 -0.5 0.5 1.0

-1.0

-0.5

0.5

1.0

85

Page 92: Fundamentos Matemáticos de la Ingeniería. Prácticas con

7.2. Metodos numericos para la resolucion de ecuacio-nes diferenciales

Si bien las tecnicas analıticas vistas en las clases de teorıa y en la seccion pre-cedente resultan utiles para analizar diversos modelos matematicos, lo cierto es quela mayorıa de las ecuaciones diferenciales que se encuentran en las aplicaciones nose pueden resolver ni explıcita no implıcitamente. Por ello, es necesario recurrir ametodos numericos para obtener una aproximacion de la solucion de un problemade valor inicial. Aquı analizaremos, como casos particulares suficientemente ilustra-tivos y a la vez sencillos, el metodo de Euler y el metodo de Runge–Kutta de cuartoorden.

Dado el problema de valor inicial

y′ = f(x, y), a ≤ x ≤ b, y(x0) = y0,

el cual se supone que admite solucion unica y(x) de clase C2 en [a, b], se planteala obtencion de una secuencia de valores aproximados y0, y1, . . . , yk, . . . de dichasolucion en un conjunto de puntos x0 < x1 < · · · < xk < · · · . Si consideramos estospuntos como igualmente espaciados sobre el intervalo [a, b], podemos escribir

xi = a+ ih, i = 0, 1, . . . , N

para un cierto positivo N , de manera que h = (b− a)/N es el tamano de paso.Empecemos escribiendo el desarrollo en serie de Taylor de y alrededor de x0:

y(x) = y(x0) + y′(x0)(x− x0) +12!y′′(x0)(x− x0)2 + · · · .

Como conocemos el valor de y en el punto inicial x = x0, usamos este valor paraaproximar y en x1 = x0 + h, el cual esta proximo a x0, de la siguiente manera.Evaluamos primero la serie de Taylor en x1 = x0 + h para dar

y(x0 + h) = y(x0) + y′(x0)h+12!y′′(x0)h2 + · · · .

Sustituyendo y′ = f(x, y) en este desarrollo, usando y(x0) = y0 y llamando a y(x0 +h) = y1, tenemos

y1 = y(x0) + f(x0, y0)h+12!df

dx(x0, y0)h2 + · · ·

= y0 + f(x0, y0)h+12!df

dx(x0, y0)h2 + · · ·

Ası pues, el punto inicial (x0, y0) se usa para determinar y1. Se obtiene una aproxi-macion de primer orden a partir de aquı simplemente despreciando los terminos deorden h2 y mas altos. En otras palabras, determinamos y1 como

y1 = y0 + f(x0, y0)h.

A continuacion usamos el punto (x1, y1) para aproximar el valor de y en x2 = x1 +h.Llamando a este valor y2, tendremos

y2 = y1 + f(x1, y1)h

86

Page 93: Fundamentos Matemáticos de la Ingeniería. Prácticas con

y en general tendremos el metodo de Euler (explıcito) en la forma

yn+1 = yn + hf(xn, yn), n = 0, 1, 2, . . .

de donde resulta clara la conexion con los campos direccionales: uniendo los puntosdel plano (xi, yi) por medio de una poligonal podemos representar graficamente laaproximacion a la solucion y(x) en el intervalo [a, b].

El metodo de Euler tambien puede ser deducido integrando la ecuacion diferencialde partida entre xn y xn+1,

y(xn+1) = y(xn) +∫ xn+1

xn

f(x, y(x))dx

y reemplazando f(x, y(x)) por su valor aproximado f(x, yn) en el extremo inferior delintervalo de integracion. Como ya se vio en la practica 5, son posibles aproximacionesmas precisas para esta integral. Ası, se puede sustituir el integrando por el valorpromedio de sus valores en los puntos extremos, con lo cual se tiene el esquema

yn+1 = yn +12h[f(xn, yn) + f(xn+1, yn+1)],

o bienyn+1 = yn +

12h[f(xn, yn) + f(xn+1, yn + hf(xn, yn))],

llamado metodo de Euler mejorado (el cual se reduce a la regla del trapecio sif solo depende de x y no de y).

Una forma sistematica de obtener metodos mas efectivos que el de Euler consistesimplemente en aplicar el teorema de Taylor a ordenes mas altos en h. El metodoresultante tiene la propiedad deseable de un error de truncamiento local de ordentan alto como se desee, pero la desventaja de requerir el calculo y la evaluacion de lasderivadas sucesivas de la funcion f , lo cual puede ser un procedimiento muy costosopara gran cantidad de problemas. Para subsanar esta dificultad se introducen losmetodos de Runge–Kutta, los cuales poseen un error de truncamiento local delmismo orden que los metodos de Taylor sin necesidad de calcular las derivadas de f .De hecho, el metodo de Euler mejorado visto anteriormente puede ser consideradoun metodo de Runge–Kutta de segundo orden. Otro metodo del mismo orden vienedado por

yn+1 = yn + h[f(xn + h/2, yn + (h/2)f(xn, yn))],

llamado metodo del punto medio.Uno de los metodos de Runge–Kutta mas populares es el de orden 4 dado por el

siguiente esquema recursivo:

xn+1 = xn + h

yn+1 = yn +16

(k1 + 2k2 + 2k3 + k4) ,

87

Page 94: Fundamentos Matemáticos de la Ingeniería. Prácticas con

donde

k1 = hf(xn, yn)k2 = hf(xn + h/2, yn + k1/2)k3 = hf(xn + h/2, yn + k2/2)k4 = hf(xn+1, yn + k3) .

El principal esfuerzo computacional al aplicar los metodos de Runge–Kutta es laevaluacion de f . El metodo de Runge–Kutta de orden 4 requiere cuatro evaluacionesde f por paso, pero el error de truncamiento local es O(h5). Observese ademas quesi f no depende de y, entonces este metodo no es mas que la regla de Simpson parael calculo de integrales.

7.2.1. Resolucion numerica con Mathematica

Mathematica puede resolver numericamente el problema de valor inicial definidopor una ecuacion diferencial por medio de la funcion intrınseca NDSolve. La sintaxisde NDSolve es casi identica a la de DSolve:

NDSolve[{ODE, cond. inic.},y[x],{x,xmin,xmax}]

A continuacion ilustramos su uso aplicandolo al problema

y′ =x

(y + x)2, y(0) = 1

el cual no admite solucion analıtica (¡compruebalo!).

r1=NDSolve[{y’[x]==x/(y[x]+x)^2, y[0]==1},y[x],{x,0,10}]

{{y[x] -> InterpolatingFunction[{{0.,10.}},<>][x]}}

La funcion y(x) se determina numericamente por medio de InterpolatingFunction,la cual interpola listas de datos. Cuando NDSolve resuelve numericamente una ecua-cion diferencial, encuentra valores para y(x) solo en valores especıficos de x entrexmin y xmax, y despues usa InterpolatingFunction para interpolar entre estosvalores de x.

La solucion aproximada obtenida se puede extraer y representar graficamente:

s[x_]= y[x] /. r1[[1]];Plot[s[x],{x,0,10}];

Ahora viene una cuestion importante: ¿como podemos saber que la respuestaproporcionada por NDSolve es correcta? Una forma obvia es sustituir la solucion enla ecuacion diferencial y ver si esta se verifica. Esto se puede hacer de la siguienteforma:

error[x_]=s’[x] - x/(s[x] + x)^2;Plot[error[x],{x,0,10}];

88

Page 95: Fundamentos Matemáticos de la Ingeniería. Prácticas con

2 4 6 8 10

-7.5·10-6-5·10-6

-2.5·10-6

2.5·10-65·10-6

7.5·10-6

La figura muestra que el error en la solucion es pequeno, pero no cero.

7.2.2. Algoritmo de los metodos numericos en Mathematica

Utilizando Mathematica, los metodos de Euler y de Runge–Kutta para obtenerla solucion aproximada de un problema de valor inicial son faciles de implementar.En primer lugar ilustramos el metodo de Euler sobre un ejemplo.

Ejemplo 7.10. Usa el metodo de Euler para aproximar la solucion del siguienteproblema de valor inicial:

dy

dx= xy, y(0) = 1

para h = 0,1. Determina tambien la solucion exacta y compara los resultados.

Solucion. Empezamos definiendo la funcion f(x, y) = xy y la condicion inicial.Tambien se da la formula recursiva para x e y. Observese que, debido a la maneracomo se define y, todos los valores previos de y se almacenan en la memoria.

Clear[f,x,y,h]f[x_,y_] = x y;h = 0.1;y[0] = 1;x[n_] = n h;y[n_]:= y[n] = y[n-1] + h f[x[n-1],y[n-1]];

Podemos formar una tabla con los valores aproximados proporcionados por estaformula recursiva ası:

ytabla = Table[ y[i], {i,0,10} ];

y una lista de pares ordenados como

89

Page 96: Fundamentos Matemáticos de la Ingeniería. Prácticas con

euler = Table[ {x[i-1],ytabla[[i]]}, {i,1,Length[ytabla]}];

Notese que el ındice de x ha de ser uno mas pequeno que el de y, ya que ytabla[[i]]representa el elemento i-esimo de la lista, mientras que x[i] sustituye i en la formulaque determina x. Estos puntos se pueden representar graficamente con ListPlot,de manera que la aproximacion se puede comparar con la solucion exacta, que eneste caso es

y(x) = ex2/2.

La solucion aproximada obtenida con el metodo de Euler y la solucion exacta sedibujan ası:

plot1 = ListPlot[ euler, PlotJoined -> True,DisplayFunction -> Identity ];

exactplot = Plot[ Exp[(x^2)/2], {x,0,1},PlotStyle -> GrayLevel[0.2],DisplayFunction -> Identity ];

Show[ plot1, exactplot,DisplayFunction -> $DisplayFunction ];

Damos a continuacion el procedimiento correspondiente al metodo de Runge–Kutta de cuarto orden.

rungeKutta[{x_, y_}] :=Module[{k1, k2, k3, k4},

k1 = h * f[x, y];k2 = h * f[x + h/2, y + k1/2];k3 = h * f[x + h/2, y + k2/2];k4 = h * f[x + h, y + k3];{x + h, y + 1/6 (k1 + 2 k2 + 2 k3 + k4)}

]

Utilizando este algoritmo, vamos a calcular una aproximacion de la solucion delproblema de valor inicial y′ = xy, y(0) = 1, con tamano de paso h = 0,1, en elintervalo [0, 1].

f[x_, y_] = x y;h = 0.1;

Para obtener la aproximacion de la solucion requerida utilizamos la funcion in-corporada NestList. La sintaxis de esta funcion es como sigue

NestList[funcion, expresion, n]

Mathematica, en este caso, devuelve una lista de los resultados de aplicar funcion

sobre expresion desde 0 hasta n .

rk = NestList[rungeKutta, {0, 1}, 10];ListPlot[rk, PlotStyle -> Thickness[0.01],

PlotJoined -> True];

90

Page 97: Fundamentos Matemáticos de la Ingeniería. Prácticas con

0.2 0.4 0.6 0.8 1

1.1

1.2

1.3

1.4

1.5

1.6

Las opciones PlotStyle -> Thickness[0.01] y PlotJoined -> True las uti-lizaremos cuando tengamos que comparar dos o mas graficos.

7.2.3. Sistemas de ecuaciones diferenciales

Vamos a ver ahora como el metodo de Runge–Kutta de orden 4 se puede aplicartambien a la resolucion de sistemas de ecuaciones diferenciales. Para ello considera-mos un par de ejemplos sencillos en los que sera posible comparar la aproximacioncon la solucion exacta.

En el primer caso, aproximamos la solucion del problema de valor inicial definidopor

x′ = x− y + 1y′ = x+ 3y + e−t

x(0) = 0, y(0) = 1

utilizando un tamano de paso h = 0,1. En este caso programamos el metodo deRunge–Kutta (con un estilo particularmente ineficiente) por medio de la construc-cion Module.

In[28]:= xrk@n_D := Module@8k1, k2, k3, k4<,k1 = f@t@n - 1D, xrk@n - 1D, yrk@n - 1DD; m1 = g@t@n - 1D, xrk@n - 1D, yrk@n - 1DD;k2 = f@t@n - 1D + h�2, xrk@n - 1D + h*k1�2, yrk@n - 1D + h*m1�2D;m2 = g@t@n - 1D + h�2, xrk@n - 1D + h*k1�2, yrk@n - 1D + h*m1�2D;k3 = f@t@n - 1D + h�2, xrk@n - 1D + h*k2�2, yrk@n - 1D + h*m2�2D;m3 = g@t@n - 1D + h�2, xrk@n - 1D + h*k2�2, yrk@n - 1D + h*m2�2D;k4 = f@t@n - 1D + h, xrk@n - 1D + h*k3, yrk@n - 1D + h*m3D;m4 = g@t@n - 1D + h, xrk@n - 1D + h*k3, yrk@n - 1D + h*m3D;xrk@nD = xrk@n - 1D + Hh�6L * Hk1 + 2*k2 + 2*k3 + k4LD

In[29]:= yrk@n_D := Module@8k1, k2, k3, k4<,k1 = f@t@n - 1D, xrk@n - 1D, yrk@n - 1DD; m1 = g@t@n - 1D, xrk@n - 1D, yrk@n - 1DD;k2 = f@t@n - 1D + h�2, xrk@n - 1D + h*k1�2, yrk@n - 1D + h*m1�2D;m2 = g@t@n - 1D + h�2, xrk@n - 1D + h*k1�2, yrk@n - 1D + h*m1�2D;k3 = f@t@n - 1D + h�2, xrk@n - 1D + h*k2�2, yrk@n - 1D + h*m2�2D;m3 = g@t@n - 1D + h�2, xrk@n - 1D + h*k2�2, yrk@n - 1D + h*m2�2D;k4 = f@t@n - 1D + h, xrk@n - 1D + h*k3, yrk@n - 1D + h*m3D;m4 = g@t@n - 1D + h, xrk@n - 1D + h*k3, yrk@n - 1D + h*m3D;yrk@nD = yrk@n - 1D + Hh�6L * Hm1 + 2*m2 + 2*m3 + m4LD

91

Page 98: Fundamentos Matemáticos de la Ingeniería. Prácticas con

A continuacion definimos la ecuacion e inicializamos las variables:In[14]:= f@t_, x_, y_D := x - y + 1; g@t_, x_, y_D := x + 3 y + E^H-tL;

In[15]:= h = 0.1; xrk@0D = 0; yrk@0D = 1; t@n_D = h*n;

La solucion se da en forma de tabla:In[16]:= solaprox = Table@8t@iD, xrk@iD, yrk@iD<, 8i, 0, 10<D

Out[16]= 880, 0, 1<, 80.1, -0.0226878, 1.46031<, 80.2, -0.10332, 2.06541<,80.3, -0.265382, 2.85897<, 80.4, -0.540021, 3.8967<,80.5, -0.968273, 5.24956<, 80.6, -1.60391, 7.00778<, 80.7, -2.51707, 9.28596<,80.8, -3.79882, 12.2294<, 80.9, -5.56704, 16.0223<, 81., -7.97379, 20.8975<<

Seguidamente, calculamos la solucion exacta y comparamos con los resultadosproporcionados por el metodo de Runge–Kutta.

In[17]:= de = DSolve@8x1'@tD � x1@tD - y1@tD + 1,y1'@tD � x1@tD + 3 y1@tD + E^H-tL, x1@0D � 0, y1@0D � 1<, 8x1@tD, y1@tD<, tD

Out[17]= ::x1@tD ® -1

36ã-t I4 + 27 ãt - 31 ã3 t + 66 ã3 t tM, y1@tD ®

1

36ã-t I-8 + 9 ãt + 35 ã3 t + 66 ã3 t tM>>

In[18]:= xexacta@t_D = de@@1, 1, 2DD; yexacta@t_D = de@@1, 2, 2DD;

In[21]:= comparexrk = Table@8t@iD, xrk@iD, xexacta@t@iDD, yrk@iD, yexacta@t@iDD<, 8i, 0, 10<D;

In[22]:= TableForm@comparexrkDOut[22]//TableForm=

0 0 0 1 1

0.1 -0.0226878 -0.0226978 1.46031 1.46032

0.2 -0.10332 -0.103346 2.06541 2.06545

0.3 -0.265382 -0.265432 2.85897 2.85904

0.4 -0.540021 -0.540105 3.8967 3.89682

0.5 -0.968273 -0.968408 5.24956 5.24975

0.6 -1.60391 -1.60412 7.00778 7.00806

0.7 -2.51707 -2.51737 9.28596 9.28638

0.8 -3.79882 -3.79926 12.2294 12.23

0.9 -5.56704 -5.56767 16.0223 16.0232

1. -7.97379 -7.97468 20.8975 20.8987

El metodo de Runge–Kutta tambien puede ser aplicado para resolver numerica-mente ecuaciones diferenciales de orden superior al primero. Para ello se ha trans-formar primero la ecuacion diferencial en un sistema de ecuaciones. Ilustramos acontinuacion el procedimiento con la ecuacion

x′′ + sinx = 0, x(0) = 0, x′ = 0.

Empezamos transformando esta ecuacion de segundo orden en un sistema de dos

92

Page 99: Fundamentos Matemáticos de la Ingeniería. Prácticas con

ecuaciones de primer orden escribiendo x′ = y, y′ = x′′ = − sinx.

In[23]:= Clear@f, g, h, xrk, yrk, tD

In[24]:= f@t_, x_, y_D := y; g@t_, x_, y_D := -Sin@xD;

In[25]:= h = 0.1; xrk@0D = 0; yrk@0D = 1; t@n_D = h*n;

A continuacion ejecutamos de nuevo los procedimientos xrk e yrk anteriores yrepresentamos tanto la solucion aproximada como la exacta. ¿Notas alguna similitudcon el tratamiento sobre integracion numerica en la practica 5?

In[30]:= sols = Table@8xrk@iD, yrk@iD<, 8i, 0, 70<D;

In[32]:= plot1 = ListPlot@sols, AspectRatio ® 1, DisplayFunction ® IdentityD;

In[33]:= plot2 =

ParametricPlot@8Cos@xD, Sin@xD<, 8x, 0, 2 Pi<, AspectRatio ® 1, DisplayFunction ® IdentityD;

In[34]:= Show@plot1, plot2, DisplayFunction ® $DisplayFunctionD

-1.0 -0.5 0.5 1.0

-1.0

-0.5

0.5

1.0

7.3. Ejercicios

Ejercicio 7.1. Utiliza los algoritmos vistos en esta seccion con tamano de pasoh = 0,1 para obtener una aproximacion del problema de valor inicial dado en elintervalo especificado:

1. y′ = x+ 2y , y(1) = 1/2 en el intervalo [1, 2].

2. y′ = 3 cos(y − 5x) , y(0) = 0 en el intervalo [0, 1].

Ejercicio 7.2. Compara los resultados obtenidos en el apartado anterior para cadauno de los metodos. Representa graficamente cada una de las aproximaciones y com-

93

Page 100: Fundamentos Matemáticos de la Ingeniería. Prácticas con

paralas con la solucion del problema de valor inicial dado (si es que se puede calcularla solucion).

Ejercicio 7.3. Usa el metodo de Runge–Kutta de orden 4 para aproximar la soluciondel problema de valor inicial no lineal

y′ = x√y, y(1) = 1

con h = 0,1. Determina la solucion exacta de esta ecuacion y compara los resultadosde la solucion aproximada con los de la solucion exacta.

Ejercicio 7.4. Haz lo propio con la ecuacion

dy

dx= 2 y3/2, y(0) = 1

con h = 0,1.

Ejercicio 7.5. Resuelve los sistemas siguientes:

1.x′ = 2x− yy′ = −x+ 3y

,

2.x′ = 2xy′ = 3x+ 2y

, con la condicion inicial x(0) = 1, y(0) = 1.

3.x′ = x+ 4yy′ = −2x− y

Ejercicio 7.6. Usa el metodo de Runge–Kutta de orden 4 para aproximar la soluciondel problema de valor inicial definido por

x′ = x− y + 1y′ = x+ 3y + e−t

y x(0) = 0, y(0) = 1, con h = 0,1. Compara estos resultados con los de la solucionexacta del sistema.

94

Page 101: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Practica 8

Derivadas parciales. Extremosen funciones de varias variables

8.1. Derivadas parciales

Las derivadas parciales de una funcion de varias variables se calculan medianteel comando D[f[x,y,],{x,n1},{y,n2},...].

Ejemplo 8.1. Si f(x, y, z) = x2 sin(πx) cos(y2)/(x+ z), obtener:

a) Expresiones para las funciones:

∂3f

∂x3(x, y, z),

∂3f

∂x2∂yy

∂3f

∂x∂y∂x.

b) El valor de:

∂3f

∂x3(0, 0, 1),

∂3f

∂x2∂y(1, 1, 1) y

∂3f

∂x∂y∂x(1, 1, 1).

Solucion. En primer lugar definimos f :f!x_, y_, z_" :! x^2 Sin!" x" Cos!y^2"#$x # z%A continuacion obtenemos las derivadas pedidas en el apartado (a). Utilizamos

el comando FullSimplify para obtener expresiones sencillas:

95

Page 102: Fundamentos Matemáticos de la Ingeniería. Prácticas con

D!f!x, y, z", #x, 3$"!"3 x2 Cos!" x" Cos!y2"########################################################

x $ z$ 3 " #$%% 2 x2

####################&x $ z'3 ! 4 x####################&x $ z'2 $ 2

############x $ z

()** Cos!" x" Cos!y2" $#$%%! 6 x2####################&x $ z'4 $ 12 x

####################&x $ z'3 ! 6####################&x $ z'2 ()** Cos!y2" Sin!" x" !

3 "2 #$%%! x2####################&x $ z'2 $ 2 x

############x $ z

()** Cos!y2" Sin!" x"FullSimplify!%"!Cos!y2" &" &x $ z' &!6 z2 $ "2 x2 &x $ z'2' Cos!" x" $ 3 &2 z2 $ "2 x &x $ z'2 &x $ 2 z'' Sin!" x"'#######################################################################################################################################################################################################################################&x $ z'4

Finalmente asignamos los valores indicados a las variables:D!f!x, y, z", #x, 3$" %. #x ! 0, y ! 0, z ! 1$6 !

D!f!x, y, z", #x, 2$, #y, 1$" %. #x ! 1, y ! 1, z ! 1$3 ! Sin!1"D!f!x, y, z", #x, 1$, #y, 1$, #x, 1$" %. #x ! 1, y ! 1, z ! 1$3 ! Sin!1"Ejercicio 8.1. Si sabemos que sin

(f(x, y)x4y2

)=y

x, obtener:

∂2f

∂x∂y(1,

12

), y x∂f

∂x(x, y) + y

∂f

∂y(x, y)− 6f(x, y).

Ejemplo 8.2. Consideramos la funcion f(x, y) = −2x2 − y2. Dibujar el planotangente a la grafica de f(x, y) en el punto (1, 2).

Solucion. El plano tangente a la grafica de f(x, y) en el punto (1, 2) tiene comoecuacion:

z =∂f

∂x(1, 2)(x− 1) +

∂f

∂y(1, 2)(y − 2) + f(1, 2).

Para obtener la grafica de f y la del plano tangente, dibujamos ambas graficas conel comando Plot3D. Podemos tambien situar el punto (1, 2) sobre la grafica paracentrar nuestra atencion (se utiliza el comando Graphics3D[Point[]]).

f!x_, y_" :! "2#x^2 " y^2;planotang ! Plot3D!"4##x " 1$ " 4##y " 2$ " 6, %x, "3, 3&, %y, "3, 3&";parab ! Plot3D!f!x, y", %x, "4, 4&, %y, "4, 4&";point ! Graphics3D!%PointSize!0.02", Point!%1, 2, f!1, 2"&"&";Show!planotang, point, parab"El resultado obtenido debe ser similar a:

96

Page 103: Fundamentos Matemáticos de la Ingeniería. Prácticas con

-4-2

02

4 -4

-2

0

2

4

-40-200

20

-4-2

02

Ejercicio 8.2. Consideramos la funcion f(x, y) = xyx2 − y2

x2 + y2.

a) Utilizar el comando Plot3D para obtener la grafica de f . Situar sobre lagrafica los puntos (0, 0) y (2, 1).

b) Dibujar la grafica de f junto con su plano tangente en el punto (2, 1).

c) Escribir f(x, y) en coordenadas polares, simplificar y deducir que lım(x,y)→(0,0)

f(x, y) = 0.

d) Obtener utilizando los lımites pertinentes∂f

∂x(0, 0),

∂f

∂y(0, 0),

∂2f

∂x∂y(0, 0) y

∂2f

∂y∂x(0, 0).

e) ¿Admite la grafica de f plano tangente en (0, 0)?

8.2. Extremos libres

Recordemos que si x = (x1, · · · , xn) es un extremo local de una funcion de nvariables f , entonces ∇f(x) = (0, . . . , 0) = 0, es decir, x es un punto crıtico de f .

No todos los puntos crıticos son maximos o mınimos. El criterio de la segundaderivada permite en muchos casos reconocer si un punto crıtico es o no un extremoutilizando la matriz hessiana y su determinante, el hessiano. Para funciones de dosvariables el criterio puede enunciarse como sigue: Si f : R2 → R es una funcion dedos variables con derivadas continuas de primer y segundo orden en un entorno de(a, b), consideramos el determinante hessiano de f en (a, b):

Hf(a, b) =

∣∣∣∣∣∣∣∣∂2f

∂x2(a, b)

∂2f

∂x∂y(a, b)

∂2f

∂y∂x(a, b)

∂2f

∂y2(a, b)

∣∣∣∣∣∣∣∣ .El punto (a, b) es entonces:

97

Page 104: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Un mınimo relativo si, Hf(a, b) > 0 y ∂2f∂x2 (a, b) > 0.

Un maximo relativo si Hf(a, b) > 0 y ∂2f∂x2 (a, b) < 0.

Un punto de silla cuando Hf(a, b) < 0.

Es necesario observar que el criterio no ofrece informacion alguna cuando Hf((a, b)) =0.

Ejemplo 8.3. Clasificar en maximos, mınimos y puntos de silla los puntos crıticosde la funcion: f(x, y) = xy(1− x2 − y2).

Solucion. En primer lugar obtenemos los puntos crıticos. Para ello, podemos definirun gradiente ad-hoc:

f!x_, y_" :! x y"#1 # x^2 # y^2$;gradf ! %D!f!x, y", x", D!f!x, y", y"&O podemos definir una funcion gradiente que luego podamos utilizar repetidas

veces. La funcion que sigue define la funcion gradiente de cualquier funcion g con nvariables cuyas variable vengan escritas como x[1], . . . , x[n]:

grad!g_, n_" :! Table!D!g, x!i"", #i, 1, n$";¡Atencion! esta definicion de gradiente unicamente funciona si las variables de las

funciones son de la forma (x[1], x[2], . . . , x[n]) (no podemos usar (x, y, z) o (x1, x2, x3),solo (x[1], x[2], x[3])). Si definimos de esta manera el gradiente grad[g−, n−], obten-dremos el gradiente de f en (x, y) escribiendo:

f!x_, y_" :! x y #1 " x^2 " y^2$;grad!f!x!1", x!2"", 2" %. &x!1" # x, x!2" # y 'Una vez hemos obtenido el gradiente de f , resolvemos el sistema de ecuaciones

(podemos usar el comando Solve) que permite obtener los puntos crıticos. De nuevopodemos definir una funcion que nos permita obtener los puntos crıticos de cualquierfuncion g con n variables x[1], . . . , x[n]:

cer!n_" :! Table!0, #i, 1, n$"; inc!n_" :! Table!x!i",#i, 1, n$";Crit!g_, n_" :! Solve!grad!g, n" !! cer!n", inc!n""donde las dos primeras lıneas se han utilizado para crear una lista de n ceros y

la lista de las variables x[1], . . . , x[n].De este modo, al hacer Crit[f [x[1], x[2]], 2] obtendremos la lista de puntos crıti-

cos:Crit!f!x!1", x!2"", 2"!"x#1$ ! "1, x#2$ ! 0%, !x#1$ ! " 1####

2, x#2$ ! " 1####

2&, !x#1$ ! " 1####

2, x#2$ ! 1

####2&,

"x#1$ ! 0, x#2$ ! 0%, !x#1$ ! 1####2, x#2$ ! " 1####

2&, !x#1$ ! 1

####2, x#2$ ! 1

####2&,"x#1$ ! 1, x#2$ ! 0%, "x#2$ ! "1, x#1$ ! 0%, "x#2$ ! 1, x#1$ ! 0%&

Una vez sabido que los puntos crıticos son (0, 0), (±1, 0), (±1/2,±1/2) (siete entotal) se trata de definir la matriz hessiana para poder distinguir los maximos de losmınimos y de los puntos de silla.

El comando que sigue define la matriz hessiana:

98

Page 105: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Hess!f_, n_" :! Table!Table!D!f, x!i", x!j"", #j, 1, n$", #i,1, n$";Y podemos extraer el valor del determinante de cada hessiano definiendolistHess!f_, n_" :! Table!Det!Hess!f, n"" #. Crit!f, n"!!j"",$j, 1, Length!Crit!f, n""%";Se puede implementar una definicion similar para obtener una lista de valores de

∂2f

∂x2en cada punto crıtico. El resultado final es que (−1/2, 1/2) y (1/2,−1/2) son

mınimos locales y que los puntos (1/2, 1/2) y (−1/2,−1/2) son maximos locales. Elresto de puntos crıticos son puntos de silla.

Se muestra finalmente la grafica de f con un maximo, un mınimo y un punto desilla marcados sobre ella.

-1

-0.5

0

0.5

1

X-0.5

0

0.5

Y

-0.2

-0.1

0

0.1

0.2

Z

-1

-0.5

0

0.5X

Ejercicio 8.3. Representar graficamente la funcion f(x, y) = 32x3 − 27xy+ y3x, acontinuacion obtener sus maximos y mınimos locales.

Ejercicio 8.4.

a) Definir una funcion de una variable con un unico maximo local y ningunotro punto crıtico. ¿Es este punto un maximo absoluto? ¿Podemos encontraralguna funcion de una variable con unico punto crıtico que sea maximo localy que no sea maximo absoluto?

b) Comprobar que la funcion f(x, y) = e−y2 (

2x3 − 3x2 + 1)

+ e−y(2x3 − 3x2

)tiene un unico punto crıtico y que este es un maximo.

c) ¿Es el punto obtenido un maximo absoluto de f(x, y)?

Mathematica tiene implementadas las funciones FindMaximum y FindMinimumpara encontrar maximos y mınimos locales. Es necesario indicar un punto x0 apartir del cual pueda buscar.

Ejemplo 8.4. La funcion f(x, y) = (x2 + y2) tiene un unico punto crıtico que esun mınimo absoluto, el (0, 0). Eelgimos comenzar la busqueda desde el punto (1, 2),la funcion

99

Page 106: Fundamentos Matemáticos de la Ingeniería. Prácticas con

FindMaximum[x2 + y2, {x, 1}, {y, 2}] localiza rapidamente el maximo.

Ejercicio 8.5. Repetir el Ejercicio 8.3 utilizando los comandos FindMaximum yFindMinimum. Sera necesario escoger cuidadosamente los puntos de partida.

8.3. Extremos condicionados. Multiplicadores de Lagran-ge

El metodo de los multiplicadores de Lagrange consiste en observar que los extre-mos de la funcion de n variables f(x1, . . . , xn) en aquellos puntos (x1, . . . , xn) quesatisfacen las k condiciones g1(x1, . . . , xn) = 0, . . . , gk(x1, . . . , xn) = 0 se encuentranentre los puntos crıticos de la funcion de n+ k variables:

L(x1, . . . , xn, λ1, . . . , λk) = f(x1, . . . , xk)−λ1g1(x1, . . . , xn)− · · ·−λkgk(x1, . . . , xn).

Aunque existen metodos para diferenciar cuales de los puntos crıticos obtenidosson maximos, cuales son mınimos y cuales son puntos de silla, nos conformaremosaquı con dar una lista de todos los puntos crıticos y determinar cuales son los puntosmaximo y mınimo absoluto a partir del valor de la funcion f en cada punto crıtico.

Ejercicio 8.6. La temperatura de cada punto (x, y, z) de una caja viene dada porla funcion T (x, y, z) = 20 + 2x + 2y + z2. ¿Cual sera el punto mas caliente en elcırculo que aparece al cortar la esfera x2 + y2 + z2 = 11 con el plano x+ y + z = 3?

Ejercicio 8.7. Consideramos la parabola y2 = x− 1. Encontrar el mınimo absolutode la funcion f(x, y) = x2 + y2 en el recinto limitado por esta parabola (es decirlos puntos (x, y) con y2 − x ≤ 1). Para encontrar el mınimo sobre la frontera (lospuntos (x, y) con y2 = x − 1) utilizaremos dos metodos: en primer lugar reducire-mos la funcion f(x, y) a una sola variable; a continuacion lo haremos utilizandolos multiplicadores de Lagrange. Dibujar la parabola y deducir cual es el resultadocorrecto.

100

Page 107: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Apendice A

Sistemas de ecuacionesdiferenciales no lineales

En este apendice estudiamos los sistemas de ecuaciones diferenciales no linea-les. No podemos obtener solucion analıtica de las ecuaciones y sistemas no lineales,pero mediante estudios geometricos y cualitativos es posible determinar su compor-tamiento. Para realizar este estudio resulta muy util el programa Mathematica.

Los metodos cualitativos que introducimos nos permiten obtener propiedades delas soluciones incluso aunque estas no sean conocidas. De esta manera podremosobtener una vision del comportamiento de las soluciones sin la expresion analıticade ellas. Cuestiones como estabilidad o comportamiento asintotico de las solucionesa lo largo del tiempo se investigan con la ayuda de este tipo de metodos.

Consideremos un sistema que depende del tiempo t y de n funciones incognitaque satisfacen la ecuacion diferencial

x′ = f(t,x)

para una cierta funcion vectorial x = (x1(t), · · · , xn(t)).En primer lugar consideraremos sistemas autonomos, es decir, que no dependen

del tiempo explıcitamente,

x′ = f(x), x ∈ Rn.

En caso contrario se denomina no autonomo. Un sistema no autonomo de ecua-ciones diferenciales de la forma x′ = f(t,x) es equivalente a un sistema autonomo,obtenido definiendo una nueva variable como sigue

x′ = f(t,x)t′ = 1.

De esta manera podemos hacer el estudio para sistemas autonomos y extenderlo a losno autonomos. Centramos dicho estudio en los sistemas de dos ecuaciones llamadossistemas planos autonomos {

x′ = f(x, y)y′ = g(x, y).

(A.1)

101

Page 108: Fundamentos Matemáticos de la Ingeniería. Prácticas con

A.1. Estudio geometrico: campos de direcciones

Un campo vectorial de un sistema de ecuaciones diferenciales

x′ = f(x)

consiste en todos los vectores con origen en los puntos de coordenadas x ∈ Rn

y orientados en la direccion del vector f(x). Podemos imaginar que los vectoresrepresentan la velocidad de un objeto moviendose en el espacio, estos vectores sontangentes a su trayectoria.

Aunque dibujamos los campos de direcciones mediante el uso de ordenadores,hay un aspecto que los hace mas difıciles de representar graficamente que los cam-pos de pendientes (para las ecuaciones). Por definicion, los vectores en un campovectorial tiene varias longitudes determinadas por el sistema de ecuaciones; algunospueden ser muy cortos y otros muy largos. Por tanto, si dibujamos un campo vec-torial evaluandolo sobre una malla regular del plano, a menudo obtenemos vectoresque se solapan. Para evitar la confusion de los vectores, se escalan los vectores demanera que todos ellos tengan la misma longitud. La imagen resultante se llamacampo de direcciones asociado al campo de vectores original. Pero se tiene algu-na perdida de informacion ya que la longitud del vector corresponde a la rapidez dela solucion cuando esta pasa por el punto asociado en el plano. Aun ası podemos ob-tener informacion de los campos de direcciones sobre la geometrıa de las solucionespero no resulta tan eficiente como en el caso de las ecuaciones de orden uno.

Para ilustrar estos conceptos vamos a analizar en detalle dos ejemplos especial-mente relevantes por su importancia historica y sus aplicaciones.

Ejemplo 1: Sistemas depredador-presa

Consideremos la situacion en la que una especie (los depredadores) cazan a laotra especie (la presa), mientras la presa se alimenta de otra fuente de comida.Por ejemplo, los zorros y los conejos en un entorno cerrado (bosque): los zorros sealimentan de conejos y los conejos de la vegetacion del bosque.

Sean x e y las poblaciones de las presas y los depredadores, respectivamente,en un tiempo t. Para la construccion de un modelo de interaccion, hacemos lassiguientes suposiciones:

En ausencia de depredador la presa crece proporcionalmente a la poblacionactual, por tanto dx/dt = ax, a > 0, cuando y = 0.

En ausencia de presa, el depredador se extingue, por tanto dy/dt = −cy, c > 0,cuando x = 0.

El numero de encuentros entre depredador y presa es proporcional al productode sus poblaciones. Cada encuentro promueve el crecimiento de los depreda-dores e inhibe el crecimiento de las presas. Por tanto, la tasa de crecimientodel depredador se incrementa por un termino de la forma γxy, mientras que latasa del crecimiento de la presa disminuye mediante un termino −αxy, dondeγ y α son constantes positivas.

102

Page 109: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Como consecuencia, se obtiene el siguiente sistema de ecuaciones diferenciales,dx

dt= ax− αxy = x(a− αy)

dy

dt= −cy + γxy = y(−c+ γx)

(A.2)

donde a, c, α y γ son constantes positivas; a y c son las constantes de proporcionali-dad del crecimiento de la presa y la tasa de mortalidad del depredador, respectiva-mente; α y γ son las medidas del efecto de interaccion entre las dos especies. Estasecuaciones se conocen como ecuaciones de Lotka–Volterra y caracterizan unaamplia clase de problemas.

Estudiemos el campo de direcciones para el sistema de Lotka–Volterra dondea = 2, α = 1, c = 3 y γ = 1,

dx

dt= 2x− xy

dy

dt= −3y + xy.

(A.3)

En primer lugar, cargamos el paquete que dibuja los campos de direcciones,

In[1]:= << Graphics`PlotField`

La sentencia de Mathematica que dibuja los campos de direcciones viene dada en laforma,

campdir = PlotVectorField@82 x - x y, -3 y + x y<, 8x, 0, 15<,8y, 0, 15<, ScaleFunction ® H1 &L, Axes ® TrueD

5 10 15

5

10

15

103

Page 110: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Los campos de direcciones nos dan una idea de la forma geometrica de las curvassolucion dadas en su forma parametrica (x(t), y(t)).

Ejercicio A.1. Esboza el campo de direcciones para el oscilador armonico dado porel sistema

dx

dt= v

dv

dt= −x.

(A.4)

Aunque no vamos a ver el estudio de sistemas de tres ecuaciones, resulta intere-sante ver como se representan los campos de direcciones tridimensionales. Para elloconsideramos el sistema

dx

dt= 3x

dy

dt= x− 4y + 2z

dz

dt= −4y + z.

(A.5)

El paquete que dibuja los campos de direcciones tridimensionales es el siguiente,

<< Graphics`PlotField3D`

y la sentencia,campo = PlotVectorField3D@83 z, x - 4 y + 2 z, -4 y + z<, 8x, -4, 4<,

8y, -4, 4<, 8z, -3, 3<, VectorHeads® True, ViewPoint -> 81.240, -1.521, 2.757<D

Observamos que a veces el resultado no es tan grafico como en el caso bidimen-sional.

104

Page 111: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Ejemplo 2. La ecuacion de van der PolEsta ecuacion describe el comportamiento de circuitos electricos no lineales como

los que fueron usados en los primeros aparatos de radio. Fue introducida por LordRayleigh en 1883 y B. van der Pol en 1926 la estudio mas exhaustivamente comomodelo del voltaje en un circuito electrico. Pero esta ecuacion tambien modelizaotros tipos de fenomenos fısicos. Por ejemplo, justo dos anos despues del artıculode van der Pol, el mismo junto con J. van der Mark propuso esta ecuacion comomodelo para los latidos del corazon.

Este tipo de circuito se usaba en los dıas de los tubos de vacıo. Los tubos actuancomo una resistencia normal cuando la corriente es elevada, y como una resistencianegativa cuando la corriente es baja. Por tanto un circuito de este tipo favorece osci-laciones pequenas y amortigua las grandes oscilaciones (oscilaciones de relajacion).La ecuacion que describe este sistema es:

d2x

dt2+ ε(x2 − 1)

dx

dt+ x = 0

siendo ε es un parametro que mide la no linealidad del sistema. Para ε = 0, elsistema es un oscilador lineal.

Convertimos la ecuacion de orden dos en un sistema plano,{x = yy = −x− ε(x2 − 1)y.

(A.6)

que estudiamos en el ejercicio siguiente para diversos valores del parametro.

Ejercicio A.2. Consideramos la condicion inicial x(0) = 1, y(0) = 0. Estudia loscampos de direcciones para los valores de ε =0, 0.1, 0.2, 0.5, 0.8, 1. ¿Que puedesdecir de las soluciones para cada caso? ¿Como evoluciona el sistema a medida quecrece el parametro ε?

A.2. Estudio cualitativo. Retrato de fases

El estudio cualitativo nos permite hacernos una idea de como son las solucionesa partir de las propiedades geometricas de las mismas. Recordemos que podemosobtener soluciones aproximadas de estas mediante metodos numericos que junto conlos otros metodos nos ayudan a conocer las soluciones del sistema y ası obtenerconclusiones determinantes del problema planteado,{

x′ = f(x, y)y′ = g(x, y).

(A.7)

En el estudio cualitativo lo que dibujamos no son las soluciones en funcion del tiempox(t) y y(t), sino las ecuaciones parametricas de la curva solucion (x(t), y(t)).

Para entender los problemas de este tipo introducimos algunos conceptos. Unpunto (x0, y0) es un punto de equilibrio del sistema si cumple

f(x0, y0) = 0, g(x0, y0) = 0. (A.8)

105

Page 112: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Por ejemplo, dado {x′ = 2x− yy′ = −x+ 3y

para hallar los puntos de equilibrio hemos de resolver el sistema{2x− y = 0−x+ 3y = 0

obteniendo como unica solucion el punto (0, 0).La solucion del sistema linealizado solo aproxima la solucion del sistema no lineal,

el comportamiento de las soluciones del sistema no lineal cerca de cada punto deequilibrio es la misma que la del correspondiente sistema linealizado en muchos casos.

El primer paso para la aproximacion de un sistema no lineal cerca de cada puntode equilibrio es encontrar dichos puntos y la matriz de linearizacion cerca de cadapunto de equilibrio se define de la forma

∂f(x0, y0)∂x

∂f(x0, y0)∂y

∂g(x0, y0)∂x

∂g(x0, y0)∂y

. (A.9)

Despues de determinar la matriz de linearizacion para cada punto de equilibrio,tenemos que calcular los valores propios de la matriz. La clasificacion de los puntosde equilibrio se hace segun el siguiente criterio:

Sea (x0, y0) un punto de equilibrio del sistema (A.7) y sean λ1 y λ2 los valorespropios de (A.9). Entonces,

Si λ1 y λ2 son no nulos, distintos y positivos, (x0, y0) es un nodo inestable.

Si λ1 y λ2 son no nulos, distintos y negativos, (x0, y0) es un nodo estable.

Si λ1 y λ2 son no nulos y de distinto signo, (x0, y0) es un punto de silla.

Si λ1,2 = α± βi, β 6= 0 (x0, y0) es un punto espiral estable si α < 0.

Si λ1,2 = α± βi, β 6= 0 (x0, y0) es un punto espiral inestable si α > 0.

Si λ1,2 = α± βi, β 6= 0 (x0, y0) es un centro si α = 0.

No estudiamos el caso en que los valores propios son iguales o son cero.Si (x0, y0) es un punto de equilibrio del sistema, entonces las funciones constantes

x(t) ≡ x0, y(t) ≡ y0

satisfacen el sistema. Una solucion constante del sistema se denomina solucion deequilibrio. Notemos que la trayectoria de la solucion de equilibrio se reduce alpunto (x0, y0). Ademas los puntos de equilibrio son fundamentales para determinarel comportamiento de otras soluciones del sistema alrededor de ellos. Por una parte,el teorema de existencia y unicidad establece que por un punto del plano solo puede

106

Page 113: Fundamentos Matemáticos de la Ingeniería. Prácticas con

pasar una solucion. Luego, una solucion que pasa por un punto de equilibrio es unasolucion constante.

Si el punto inicial (x0, y0) no es un punto de equilibrio, las ecuaciones parametri-cas de las soluciones, x(t) y y(t), dadas en la forma (x(t), y(t)) definen una curva enel plano xy que denominaremos trayectoria del sistema. Distinguimos entre solu-ciones del sistema y trayectorias, ambos terminos no son sinonimos. Por una parte,una solucion del sistema (A.7) es un par ordenado de funciones (x(t), y(t)) talesque satisfacen simultaneamente las dos ecuaciones de dicho sistema; por otra parte,una trayectoria de (A.7) es una curva del plano xy de fases que puede ser defini-da parametricamente por mas de una solucion delsistema. Mas adelante veremos ladiferencia entre ambos conceptos mediante un ejemplo.

Podemos ver cualitativamente el comportamiento del sistema mediante la cons-truccion de su retrato de fase (representacion en el plano de los puntos de equi-librio y las trayectorias). El plano xy se denomina plano de fase y el conjunto detrayectorias es lo que conocemos como retrato de fase.

El comportamiento de las trayectorias proximas a los puntos de equilibrio aisla-dos resulta de particular interes porque nos permite saber si son estables e inestables.Sin profundizar mas en este tema ya que nos extenderıamos demasiado veamos comoobtener el retrato de fase mediante Mathematica.

Ejemplo A.1. Sea el sistema{x′ = 60x− 3x2 − 4xyy′ = 42y − 3y2 − 2xy,

que corresponde a un sistema depredador-presa. Calcula y clasifica los puntos deequilibrio.

Resolvemos el sistema {60x− 3x2 − 4xy = 042y − 3y2 − 2xy = 0,

In[9]:= Solve@860 x - 3 x^2 - 4 x y � 0, 42 y - 3 y^2 - 2 x y � 0<, 8x, y<D

Out[9]= 88x ® 0, y ® 0<, 8x ® 0, y ® 14<, 8x ® 12, y ® 6<, 8x ® 20, y ® 0<<

y obtenemos: (0, 0), (0, 14), (12, 6) y (20, 0). Dado que x(t) indica el numero de zorrosy y(t) el numero de conejos respectivamente, y si ambas poblaciones son constantes sededuce que las ecuaciones permiten solamente tres posibilidades no triviales: no hayzorros y hay 14 conejos, o son 20 zorros y ningun conejo, o 12 zorros y 6 conejos. Enparticular, el punto crıtico (12, 6) describe la unica posibilidad para la coexistenciade poblaciones constantes no nulas de ambas especies. Estudiamos la linearizacionde este caso.

107

Page 114: Fundamentos Matemáticos de la Ingeniería. Prácticas con

In[16]:= f@x_, y_D = 60 x - 3 x^2 - 4 x y;

g@x_, y_D = 42 y - 3 y^2 - 2 x y;

matlin = 99¶x f@x, yD, ¶y f@x, yD=, 9¶x g@x, yD, ¶y g@x, yD==�. 8x ® 12, y ® 6<

Out[23]= 88-36, -48<, 8-12, -18<<

In[24]:= MatrixForm@matlinD

Out[24]//MatrixForm=

-36 -48

-12 -18

A continuacion calculamos los valores propios de la matriz obtenida utilizandoel comando Eigenvalues.

In[26]:= Eigenvalues@matlinD �� N

Out[26]= 8-52.632, -1.36799<Como los valores propios son no nulos, distintos y negativos, el punto de equilibrio

es un nodo estable. La poblacion de zorros y conejos tendera con el tiempo a estepunto. 2

Cuando consideramos sistemas lineales como por ejemplo{x′ = 5x+ 3y − 4y′ = −4x− 3y + 2.

podemos hacer un estudio bastante completo ya que disponemos de las soluciones demanera explıcita. Buscamos el punto de equilibrio definiendo las funciones f(x, y) =5x+ 3y − 4 y g(x, y) = −4x− 3y + 2 y resolviendo el sistema,{

5x+ 3y − 4 = 0−4x− 3y + 2 = 0

El sistema posee un unico punto de equilibrio (2,−2) y calculamos los valorespropios,

Eigenvalues@885, 3<, 8-4, -3<<DLos valores propios son de distinto signo, luego es un punto de silla. Estudiamos

como son las trayectorias alrededor de este punto de silla mediante el comandoDSolve, el cual proporciona las soluciones exactas ya que el sistema es lineal.

In[29]:= sol = DSolve@8x'@tD � 5 x@tD + 3 y@tD - 4,

y'@tD � -4 x@tD - 3 y@tD + 2<,8x@tD, y@tD<, tD �� Simplify

Out[29]= ::x@tD ®1

4ã-t I8 ãt - 2 C@1D - 3 C@2D + 3 ã4 t H2 C@1D + C@2DLM,

y@tD ®1

2ã-t I-4 ãt + 2 C@1D + 3 C@2D - ã4 t H2 C@1D + C@2DLM>>

108

Page 115: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Asignamos valores a las constantes C[1] y C[2] creando una tabla de funciones,reemplazaremos C[1] y C[2] por los parametros a y b respectivamente y le daremosvalores a estos parametros. La tabla de funciones solucion viene dada con parentesisque agrupan las funciones segun los valores de los parametros, con el fin de que lasasignaciones sean mas faciles de hacer quitamos los parentesis usando Flatten.

In[31]:= tabsol = Table@8x@tD, y@tD< �. sol@@1DD �. 8C@1D ® a,

C@2D ® b<, 8a, -4, 4<, 8b, -3, 3<D;

In[32]:= tabgraf = Flatten@tabsol, 1D;

ParametricPlot nos permite dibujar las funciones de la tabla para valores del tiem-po −2 ≤ t ≤ 2.

In[34]:= grafica = ParametricPlot@Evaluate@tabgrafD, 8t, -2, 2<,PlotRange® 88-2, 4<, 8-4, 2<<D

El grafico corresponde a las ecuaciones parametricas de las soluciones para dis-tintas condiciones iniciales, el retrato de fase caracterıstico de un punto de silla.

Out[34]=

-2 -1 1 2 3 4

-4

-3

-2

-1

1

2

Comparamos con el campo de direcciones del sistema,

In[39]:= campdir = PlotVectorField@85 x + 3 y - 4, -4 x - 3 y + 2<, 8x, -2, 4<,8y, -4, 2<, ScaleFunction® H1 &L, Axes ® TrueD

109

Page 116: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Out[39]=

-2 -1 1 2 3 4

-4

-3

-2

-1

1

2

y superponemos ambos graficos,

In[17]:= Show@grafica, campdirD

Out[17]=

-2 -1 1 2 3 4

-4

-3

-2

-1

1

2

Un estudio similar se puede hacer para los sistemas no lineales aunque no obten-gamos las soluciones analıticas utilizando el teorema siguiente.

Teorema A.2.1. Supongamos que (x0, y0) es un punto de equilibrio del sistema nolineal {

x′ = f(x, y)y′ = g(x, y).

Entonces, las relaciones entre los puntos de equilibrio de sistemas lineales y no li-

110

Page 117: Fundamentos Matemáticos de la Ingeniería. Prácticas con

neales aparece en la tabla siguiente.

Sist. lineal Sist. no lineal

Nodo estable Nodo estableNodo inestable Nodo inestableEspiral estable Espiral estableEspiral inestable Espiral inestablePunto de silla Punto de sillaCentro ?

Aplicamos este teorema a las ecuaciones de Loka-Volterra,dx

dt= 2x− xy

dy

dt= −3y + xy, x(0) = 1, y(0) = 1.

(A.10)

El sistema es no lineal y hay que resolverlo numericamente mediante el comandoNDSolve.

In[26]:= sol = NDSolve@8x'@tD == 2 x@tD - x@tD y@tD,y'@tD == -3 y@tD + x@tD y@tD,x@0D � 1, y@0D � 1<, 8x@tD, y@tD<, 8t, 0, 10<D

Out[26]= 88x@tD ® InterpolatingFunction@880., 10.<<, <>D@tD,y@tD ® InterpolatingFunction@880., 10.<<, <>D@tD<<

Mathematica obtiene una serie de puntos de la trayectoria (x(t), y(t)) utilizandoel metodo de resolucion numerica de ecuaciones diferenciales (Runge–Kutta, Adam–Basford, Heun,...) que considera adecuado y utiliza una funcion interpoladora dedichos puntos, que almacena en su memoria y que nos da como respuesta de NDSolve.A continuacion dibujamos las graficas de las soluciones x(t) y y(t) y establecemosla diferencia de estas con las trayectorias.

111

Page 118: Fundamentos Matemáticos de la Ingeniería. Prácticas con

In[11]:= grafsol = Plot@Evaluate@8x@tD, y@tD< �. solD, 8t, 0, 10<,PlotStyle ® 8Red, Blue<, PlotRange ® 880, 10<, 80, 10<<,AspectRatio ® 1, AxesLabel -> 8t, "x HtL,yHtL"<D

Out[11]=

0 2 4 6 8 10t0

2

4

6

8

10

x HtL,yHtL

En la figura siguiente tenemos las graficas de las soluciones x(t) y y(t) sobre elmismo sistema de ejes; x(t) que corresponde a la poblacion de presas (aparece pordebajo de la otra) y y(t) corresponde a la poblacion de depredadores. Esta informa-cion no es tan facil de ver si las dibujamos en distintos ejes. Notamos que ambas sonfunciones periodicas en t, esto explica las fluctuaciones que se observan experimen-talmente en las poblaciones depredador-presa. Para esta solucion particular vemosque los incrementos en la poblacion depredador estan retardados respecto de losaumentos en la poblacion presa y que la poblacion depredador continua creciendopor un corto tiempo despues que la poblacion presa comienza a declinar. Tal vezla observacion mas importante que podemos hacer sobre esta grafica es que ambaspoblaciones parecen repetirse con el mismo periodo aunque con cierto desfase.

Observamos que tenemos una grafica para cada una de las soluciones con variableindependiente t pero tendremos mas informacion sobre el comportamiento dinamicodel sistema mediante de la relacion entre ambas soluciones a traves del tiempo t.Dados x(t) y y(t) podemos formar el par (x(t), y(t)) y considerarlo como un puntoen el plano xy para un valor fijo de t. Conforme varıa t, el par (x(t), y(t)) dibuja unacurva en el plano de fase xy. Las coordenadas de cada punto sobre la curva son laspoblaciones presa y depredador en el tiempo t y el punto inicial (x0, y0). Para cadacondicion inicial tenemos una trayectoria en el plano de fase y el conjunto de todaslas trayectorias sobre el mismo plano xy conforma el retrato de fase. Para dibujarlas trayectorias utilizaremos la funcion ParametricPlot.

La trayectoria es una curva cerrada simple. Si seguimos la trayectoria, comenzan-do en un punto en que la poblacion de la presa es maxima, vemos que x disminuye y

112

Page 119: Fundamentos Matemáticos de la Ingeniería. Prácticas con

y aumenta hasta que la poblacion depredadora y es maxima. Despues ambas dismi-nuyen hasta que x es mınima. Y ası sigue la trayectoria hasta llegar al punto inicial.En particular, vemos que si tanto x0 > 0 como y0 > 0, entonces tanto x(t) > 0 comoy(t) > 0 para todo t, por lo que ambas especies sobreviven en mutua coexistencia.Si las fluctuaciones son tan amplias que x(t), presa, llegue a estar cerca de cero,existe la posibilidad de que las ultimas pocas presas sean devoradas, resultando suinmediata extincion y la eventual extincion consecuente de los depredadores.

In[17]:= fase1 = ParametricPlot@Evaluate@8x@tD, y@tD< �. solD,8t, 0, 10<, PlotStyle ® Orange,

PlotRange ® 880, 10<, 80, 10<<,AspectRatio ® Automatic, AxesLabel ® 8"x", "y"<D

Out[17]=

0 2 4 6 8 10x0

2

4

6

8

10

y

Podemos mostrar los dos graficos juntos con la opcion GraphicsArray.

113

Page 120: Fundamentos Matemáticos de la Ingeniería. Prácticas con

In[18]:= Show@GraphicsArray@8grafsol, fase1<DD

Out[18]=

0 2 4 6 8 10t0

2

4

6

8

10

x HtL,yHtL

0 2 4 6 8 10x0

2

4

6

8

10

y

Para realizar un estudio completo y obtener el retrato de fase mas completo con-sideramos el sistema dado dejando la condicion inicial en terminos de un parametro,{

x = 2x− xyy = −3y + xy; x(0) = 3s, y(0) = 2s

(A.11)

Obtenemos el retrato de fases con un programa sencillo. Este programa resuelvenumericamente el sistema para el parametro que aparece en la solucion inicial y ob-tiene las trayectorias sin mostrar el dibujo ya que aparece en terminos del parametro.

In[20]:= soluc@s_D := Module@8solt, y, x, t, ec1, ec2<,ec1 = x'@tD == 2 x@tD - x@tD y@tD;ec2 = y'@tD == -3 y@tD + x@tD y@tD;solt =

NDSolve@8ec1, ec2, x@0D � 3 s, y@0D � 2 s<,8x@tD, y@tD<, 8t, 0, 10<D;

ParametricPlot@8x@tD, y@tD< �. solt, 8t, 0, 10<,Compiled ® False,

DisplayFunction ® Identity, PlotStyle ® BlueDD

Hacemos una tabla para diversos valores del parametro s,

In[21]:= graf = Table@soluc@sD, 8s, 1 � 8, 7 � 8, 3 � 40<D;

y las mostramos mediante la funcion Show.

114

Page 121: Fundamentos Matemáticos de la Ingeniería. Prácticas con

In[7]:= retfase = Show@graf, PlotRange ® All, DisplayFunction ® $DisplayFunctionD

Out[7]=

2 4 6 8 10 12

2

4

6

8

10

Podemos completar el estudio del problema comparando el campo de direccionescon las trayectorias, superponiendo los graficos.

In[23]:= Show@retfase, campdir, PlotRange ® 880, 15<, 80, 15<<,AspectRatio ® 1D

Out[23]=

2 4 6 8 10 12 14

2

4

6

8

10

12

14

Las soluciones oscilan alrededor de una solucion centro. Podemos deducir larelacion entre las dos poblaciones presa, x(t), y depredador, y(t): si seguimos unciclo en sentido antihorario comenzando cerca del punto (2, 0), podemos observar quecuando x(t) aumenta, entonces y(t) aumenta hasta que hay sobrepoblacion. Comola poblacion de las presas es demasiado pequena para alimentar a los depredadores,

115

Page 122: Fundamentos Matemáticos de la Ingeniería. Prácticas con

y(t) disminuye, lo que lleva a un aumento en la poblacion de x(t). Como el numerode depredadores se hace demasiado pequeno para controlar la poblacion de x(t), estaaumenta y se repite el ciclo. En este caso diremos que las soluciones son periodicas.

En el ejemplo descrito los valores de la condicion inicial estaban relacionados porel mismo parametro s. Si queremos hacer un estudio del retrato de fases tomandovalores cualesquiera solo tenemos que modificar un poco el proceso anterior.

In[25]:= soluc1@a_, b_D := Module@8solt, y, x, t, ec1, ec2<,ec1 = x'@tD == 2 x@tD - x@tD y@tD;ec2 = y'@tD == -3 y@tD + x@tD y@tD;solt =

NDSolve@8ec1, ec2, x@0D � a, y@0D � b<, 8x@tD, y@tD<,8t, 0, 10<D; ParametricPlot@8x@tD, y@tD< �. solt,

8t, 0, 10<, Compiled ® False,

DisplayFunction ® Identity, PlotStyle ® BlueDD

El programa lo construimos para los valores de la condicion inicial x0 = a yx0 = b, en la que no hay relacion entre ambos. Aparece en la primera lınea elnombre del programa en funcion de dos variables a y b. Despues construimos latabla de soluciones para valores de los dos parametros.

In[26]:= graf1 = Table@soluc1@a, bD, 8a, 1, 3<, 8b, 1, 3<D;

Y por ultimo el retrato de fases cuya sentencia no difiere en nada de la anterior,

In[27]:= retfase = Show@graf1, PlotRange ® All, DisplayFunction ® $DisplayFunctionD

Out[27]=

1 2 3 4 5 6 7

1

2

3

4

5

116

Page 123: Fundamentos Matemáticos de la Ingeniería. Prácticas con

A.3. Ejercicios

Ejercicio A.3. Estudia la estabilidad del punto crıtico (0, 0) del sistema{x′ = −x− xy2

y′ = −y − x2y.

Ejercicio A.4. Demuestra que el punto crıtico (0, 0) del sistema{x′ = −y + xy2 + 2x3

y′ = x+ x2y + 3y3

es inestable.

Ejercicio A.5. Haz un estudio similar para el ejercicioemplo del oscilador armonicodx

dt= v

dv

dt= −x.

para diversos valores de la condicion inicial x(0) = a, y(0) = b.

Ejercicio A.6. Estudia el sistema de Van der Pol{x = yy = −x− ε(x2 − 1)y.

para diversos valores del parametro ε de forma que salgan puntos de equilibrio dediferente tipo.

Ejercicio A.7. Estudia el retrato de fases del sistema{x = 4x+ 2y + 2x2 − 3y2

y = 4x− 3y + 7xy.

Ejercicio A.8. La modelacion de un edificio oscilante mediante la ecuacion de unoscilador armonico es poco realista. Las fuerzas presentes en un edificio en oscilacionno son identicas a las de un resorte. El oscilador armonico es solo una primera apro-ximacion a un sistema fısico complicado. Para extender la utilidad de este modelo,debemos considerar otros factores que rigen el movimiento de un edificio oscilante.

Un aspecto del modelo del edificio oscilante que no hemos incluido en el ejemploanterior es el efecto de la gravedad. Cuando el edificio sufre pequenas oscilaciones,este parametro no juega un papel importante. Sin embargo, si las oscilaciones sonsignificativas, entonces la gravedad puede tener un efecto importante. Cuando y(t)adquiere su valor maximo, una porcion del edificio no esta directamente arriba deninguna otra parte de este. En consecuencia, la gravedad “estira”hacia abajo dichaparte del edificio y esta fuerza tiende a flexionar mas aun el edificio. Este es el efecto“P-Delta” (“Delta” es la distancia en voladizo y “P” es la fuerza de la gravedad).

117

Page 124: Fundamentos Matemáticos de la Ingeniería. Prácticas con

El efecto P-Delta es muy pequeno cuando y es pequena, mucho mas aun que lafuerza restauradora. cuando y crece, el efecto P-Delta se vuelve muy grande. Comoun primer modelo, podemos suponer que la fuerza proporcionada por el efecto P-Delta es proporcional a y3. Agregar esta fuerza equivale a aumentar un termino ala expresion para la aceleracion de y, es decir, anadir un termino proporcional ay3 al lado derecho de la ED de segundo orden. Para estudiar el comportamientocualitativo de las soluciones, suponemos que el coeficiente del termino y3 es 1. Portanto, nuestro nuevo modelo es

d2y

dt2+ 0,2

dy

dt+ 0,25y = y3.

Estudia el comportamiento del sistema.

118

Page 125: Fundamentos Matemáticos de la Ingeniería. Prácticas con

Bibliografıa

[1] M. L. Abell, J.P. Braselton, Differential Equations with Mathematica, AcademicPress, 1993.

[2] M. L. Abell, J.P. Braselton, Mathematica by Example, 4th Ed., Academic Press,2008.

[3] R. Barrio, C. Lopez, E. Martınez, Calculo Vectorial. Practicas con Mathematicay Maple, Prensas Universitarias de Zaragoza, 1997.

[4] N. Blachman, Mathematica: Un enfoque practico, Ariel Informatica, 1993.

[5] A. Carrillo de Albornoz, I. Llamas, Mathematica 5. Aplicaciones para PC, Edi-torial RA-MA, 2005.

[6] D. Dubin, Numerical and Analytical Methods for Scientists and Engineers UsingMathematica, John Wiley & Sons, 2003.

[7] J. Glynn, T.W. Gray, The Beginner’s Guide to Mathematica Version 4, Cam-bridge University Press, 2000.

[8] A. Gray, M. Mezzino, M.A. Pinsky, Introduction to Ordinary Differential Equa-tions with Mathematica, Springer, 1997.

[9] H.F. Hoft, M.H. Hoft, Computing with Mathematica, 2nd. Ed., Academic Press,2003.

[10] S. Lynch, Dynamical Systems with Applications using Mathematica, Birkhauser,2007.

[11] R. Maeder, Programming in Mathematica, 3rd Ed., Addison Wesley, 1997.

[12] J.L. Malaina, A.I. Martın, Fundamentos Matematicos con Mathematica, Servi-cio Editorial de la Universidad del Paıs Vasco, 1997.

[13] V. Ramırez et al., Calculo numerico con Mathematica, Ariel Ciencia, 2001.

[14] J.S. Robertson, Engineering Mathematics with Mathematica, McGraw-Hill,1995.

[15] F.J. Rodrıguez Gomez, F. Garcıa Merayo, Fundamentos y Aplicaciones de Mat-hematica, Ed. Paraninfo, 1998.

119

Page 126: Fundamentos Matemáticos de la Ingeniería. Prácticas con

[16] J.M. Sanz Serna, Diez lecciones de calculo numerico, Universidad de Valladolid,1998.

[17] M. Trott, The Mathematica GuideBook for Numerics, Springer-Verlag, 2006.

[18] M. Trott, The Mathematica GuideBook for Programming, Springer-Verlag,2004.

[19] M. Trott, The Mathematica GuideBook for Symbolics, Springer-Verlag, 2006.

[20] S. Wolfram, The Mathematica Book, Fifth Edition, Wolfram Media, Inc., 2003.

120