Documente Academic
Documente Profesional
Documente Cultură
DEPARTAMENT DE MATEMATIQUES
UNIVERSITAT JAUME I
FUNDAMENTOS
MATEMATICOS
DE LA INGENIERIA
Cristina Chiralt
Fernando Casas
Jorge Galindo
Sergio Macario
Manuel Sanchis
Prefacio
El presente manual est a destinado a la realizacion de las practicas de laboratorio
correspondientes a las asignaturas de Fundamentos Matem aticos de la Ingeniera I
y II de la Ingeniera Industrial en la Universitat Jaume I. Cada una de ellas tiene
asignado 1 credito (equivalente a 10 horas lectivas) dedicado a la realizacion de
practicas con el ordenador. Esas 10 horas se reparten en cuatro sesiones de 2.5 horas
cada una, a raz on de dos sesiones en cada cuatrimestre. Las practicas se desarrollan
utilizando el programa Mathematica, y el objetivo de las mismas es doble. Por una
parte, se trata de afianzar e ilustrar la materia impartida en el aula (clases de
teora y de problemas) y por otra de cubrir aquellos aspectos del programa que
difcilmente pueden desarrollarse durante dichas clases, como es todo lo relativo al
calculo numerico. En este sentido, se ha considerado importante dedicar una sesion
entera a los aspectos gr aficos que el programa Mathematica ofrece.
El manual se ha dividido en ocho captulos o practicas, cada uno de los cuales
corresponde aproximadamente al material impartido en cada sesion de 2.5 horas.
Como complemento, se ha incluido un apendice con material relativo a ecuaciones
diferenciales no lineales, haciendo especial hincapie en los aspectos cualitativos de la
teora. Este captulo adicional se incluye por completitud y tambien porque puede
darse el caso de que la primera pr actica (una introduccion generica a Mathematica)
pueda reducirse al mnimo si los estudiantes ya disponen de conocimientos previos
sobre el programa.
Cada pr actica dispone de una peque na introduccion teorica, siendo esta mas
amplia cuando el material tratado en la misma no se ha impartido previamente
en el aula de teora. Esto es especialmente relevante en el caso de la practica 4
(interpolacion y aproximaci on de funciones) y la practica 5 (integracion numerica).
Se ha intentado que el desarrollo de cada practica este suficientemente detallado
en 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 asimilaci on de los conceptos sea mas sencilla.
Esperamos que este manual sea una herramienta u til para nuestros estudiantes
en su proceso de aprendizaje de los Fundamentos Matem aticos de la Ingeniera.
Los autores
Indice general
1. Introducci on a Mathematica 1
1.1. Convenios sobre notaci on . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. El Front End y el N ucleo . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3. Notaci on matem atica de Mathematica . . . . . . . . . . . . . . . . . 3
1.4. Corchetes, parentesis y llaves . . . . . . . . . . . . . . . . . . . . . . 6
1.5. Funciones incorporadas . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.6. Definiendo funciones no incorporadas . . . . . . . . . . . . . . . . . . 8
1.7. Listas y matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.8. Resoluci on de ecuaciones . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.9. Reglas de sustitucion . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.10. Ayudas incorporadas . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.11. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2. Algebra Lineal 16
2.1. Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.1.1. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2. Conicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
i
Fundamentos Matem
aticos de la Ingeniera II ii
6. Sucesiones y series 60
6.1. Sucesiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
6.2. Series de n
umeros reales . . . . . . . . . . . . . . . . . . . . . . . . . 64
6.3. Series de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Introducci
on a Mathematica
1
En el siguiente ejemplo la expresion 2 + 2 corresponde al input, y por tanto se
debe 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
Al igual que con los tipos de parentesis, cada signo de puntuacion tiene tambien
su propio significado.
2
ellos se pueden incluir gr aficos. Los documentos realizados en un Front End tipo
notebook se pueden imprimir tal y como aparecen en pantalla.
El Front End y el Kernel est an separados. El Front End solo enva un calculo al
Kernel solo cuando as se le ordena. Tal peticion se efect
ua mediante la combinacion
de teclas Shift-Return (may usculas y retorno de carro)o mediante la tecla Intro
del teclado numerico.
No es necesario que el Front End y el Kernel se encuentren instalados en el mismo
ordenador. Por ejemplo, se puede utilizar la manejabilidad de un ordenador personal
para editar los comandos en un Front End tipo notebook, y mandar a realizar los
calculos a un Kernel instalado en una estacion de trabajo (kernel remoto). Por
supuesto, los outputs aparecen en el ordenador personal de la misma forma que si
el 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. Notaci
on matem
atica de Mathematica
Mathematica es un programa interactivo. En las versiones de Mathematica que
utilizaremos con Front End tipo Notebook, cuando introducimos una expresion, co-
mo por ejemplo una operaci on matematica, no ocurre nada. Al ejecutar esta expre-
sion (cosa que en las versiones actuales puede hacerse presionando simultaneamente
Intro+ May usculas o la tecla de Intro del teclado numerico) Mathematica la proce-
sa, inserta In[n]:= despues de que Mathematica haya calculado el resultado y, si
corresponde, muestra el resultado, con una etiqueta de la forma Out[n]= . A con-
tinuacion Mathematica muestra un nuevo indicador de input, y el ciclo comienza
otra vez. El numero comprendido entre corchetes se va incrementando al introducir
nuevas expresiones. En ning un caso hay que introducir los indicadores In[n]:= y
Out[n]= . En la primera expresi on a evaluar n = 1 . Es posible referirse a expresiones
ya introducidas o a resultados ya obtenidos gracias a estos indicadores.
Mathematica tiene incorporados la mayora de los smbolos matematicos con los
que se trabaja habitualmente. Entre ellos estan las operaciones basicas: suma (+),
diferencia (-), producto (*), divisi
on (/) y potencia (^). Como se ha indicado en el
apartado 1.1, los nombres de todas las funciones incorporadas de Mathematica em-
piezan con may uscula. Los nombres de las funciones incorporadas correspondientes
a los smbolos anteriores los podemos ver en la siguiente tabla.
Smbolo matem
atico Funcion incorporada
+ Plus
- Minus, Subtract
* Times
/ Divide
^ Power
3
2+4
Plus@2, 4D
Utilizaci
on de resultados obtenidos previamente ( %n): Se puede hacer
referencia a un resultado anterior mediante uno o mas signos de porcentaje; es
decir, % se refiere al u
ltimo resultado, % % al pen
ultimo, y as sucesivamente. Tambien
nos podemos referir a un resultado concreto mediante %n, donde n es el n umero de
la lnea de output.
Conservaci on y p erdida de datos del Kernel: Mathematica conserva todos
los datos de entrada y salida as como el valor de todas las variables definidas en
algun momento de la sesi on. Si se escribe por ejemplo x = 2, en un Notebook, a
partir de ese momento Mathematica identificara x con 2 (y producira errores si por
ejemplo escribimos Solve[x+1==7,x]). Cuando se cierra el Kernel (lo que ocurre
siempre al salir del programa, pero tambien se puede hacer sin salir utilizando Quit
Kernel en la pesta na Kernel ), se pierden los valores de las variables y ya no es
posible referirse a los resultados anteriores mediante %n.
Al combinar varios smbolos matematicos en un mismo input se deben tener en
cuenta los criterios de prioridad habituales entre ellos, que determinan el orden de
evaluacion de la expresi on.
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 u ltimo ejemplo hemos utilizado las dos formas alternativas de indicar
una multiplicaci on en Mathematica(mediante o bien dejando un espacio en blanco
entre ellos1 ).
1
Mathematica 6 a
nade, entonces, el aspa.
4
En algunas ocasiones puede ser conveniente asignar un nombre a un resultado
para ser utilizado despues. Esta asignacion permite trabajar con mayor comodidad
que refiriendonos al resultado mediante el numero de la lnea de output. La expre-
sion velocidadDeLaLuz = 300000 hace que Mathematica asocie el valor 300000 al
nombre velocidadDeLaLuz (se entiende que las unidades son Km/s en el vaco).
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 m as correcta de expresar este resultado con las unidades correspon-
dientes puede ser la siguiente:
velocidadDeLaLuz "Kms" - 269 000 "Kms"
31 000 Kms
Lneas y Celdas: Cada vez que llamamos al n ucleo para que procese las ordenes
introducidas, Mathematica ejecuta todas las instrucciones agrupadas en la misma
celda (el corchete que se ve en el extremo derecho del Notebook). Para a
nadir ordenes
dentro de una celda (cuando se tiene un input demasiado largo, o se desea que ejecute
varias ordenes sucesivamente) se puede continuar en sucesivas lneas, basta pulsar
Enter para descender una lnea sin cambiar de celda. Para cambiar de celda se
utiliza la flecha del cursor. Hay que poner atencion en lo siguiente: si queremos
truncar una lnea de input en una operacion matematica, por ejemplo una suma,
debemos comenzar una nueva lnea despues del signo +, o bien, encerrar el input
entre parentesis.
De esta forma obtenemos el resultado correcto:
7+4+
5
16
5
1.4. Corchetes, par
entesis y llaves
Hay varias clases de parentesis que se usan en Mathematica; algunos de ellos
los hemos utilizado en los apartados anteriores. Cada clase de parentesis tiene un
significado diferente.
Los parentesis ( ) se usan para agrupar expresiones tal y como sucede en la nota-
cion matem atica. Como se ha senalado en el apartado 1.3, los parentesis determinan
el orden de prioridad al evaluar una expresion.
1 + 2*3
H1 + 2L * 3
Sin@ID
Sinh@1D
En este u
ltimo ejemplo I representa el n
umero imaginario 1.
Las llaves se utilizan para definir conjuntos de elementos de forma similar a la
utilizada en la notacion matem atica para definir un conjunto por extension. En no-
tacion matem atica, el conjunto formado por los cinco primeros n umeros naturales
se 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 se
utilizan para definir vectores y matrices.
Por u
ltimo, el texto entre (* y *) no se eval ua. Estos parentesis se utilizan para
hacer comentarios en el notebook.
v = 87, 3, -1< H* Aqui v es un vector *L
87, 3, -1<
6
1.3); dentro de las constantes est
an las funciones Pi y I; ejemplos de opciones los
daremos m as adelante.
Los nombres de las funciones incorporadas consisten en palabras inglesas com-
pletas o abreviaciones matem aticas estandar, de forma que la primera letra de cada
palabra 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 matem aticas, en el sentido de que no tienen por que tomar siempre un valor
constante. La funci on trigonometrica sin(x) es una funcion no constante; la letra x
decimos que es su variable. En la notacion de Mathematica la funcion seno hemos
visto 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 en
la terminologa de Mathematica es el termino argumento.
Evidentemente, no todas las funciones requieren un u nico argumento. Cuando
una funcion requiere m as de un argumento, estos van separados por comas. Aqu cal-
culamos la derivada de x2 :
D@x ^ 2, xD
2x
0.23
Si una funci
on es invocada con mas, o menos, argumentos de los requeridos
Mathematica devuelve un mensaje de error y como output la expresion sin evaluar.
Sin@2, 3D
11
1 + 2 x + 3 x2 + 2 x3 + x4
7
En cambio la siguiente expresi
on no puede expandirla:
Expand@Sin@2 xDD
Sin@2 xD
Esta funci
on admite un argumento opcional, Trig -> True, que permite tratar
las 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
Una funci
on con el atributo Listable aplica la funcion a cada elemento de una
lista.
Sin@80, Pi 6, Pi 4, Pi 3, Pi 2<D
:0,
1 1 3
, , , 1>
2 2 2
8
f@2D
g@2, 3D
Definici
on aplazada de funciones: En ocasiones deseamos definir una funcion
o asignar un valor a una variable, pero no deseamos que la definicion se procese de
inmediato, sino cuando vaya a ser usada. En este caso el signo igual (=) debe ir
precedido por dos puntos (:=). Veamos por ejemplo la diferencia entre la definicion
inmediata y aplazada de una funci on como f (x) = x2 , cuando previamente hemos
definido x = 4. Con definici
on inmediata:
x = 8;
f@x_D = x ^ 2;
f@5D
64
Con definici
on aplazada:
x = 8;
f@x_D := x ^ 2;
f@5D
25
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 - 1D
factorial@4D
24
81, 2, 1, 3, 1, 4, 1, 5<
9
Como se ha se
nalado antes, los elementos de una lista no tienen por que ser
n
umeros reales.
82, x + 1, 2 x ^ 2 + 3 x + 7<
92, 1 + x, 7 + 3 x + 2 x2 =
Sin@80, Pi 6, Pi 4, Pi 3, Pi 2<D
:0,
1 1 3
, , , 1>
2 2 2
Una matriz es una lista de listas. Cada uno de los elementos de esta lista es otra
lista que representa los vectores fila de la matriz. As, la matriz
0 1 3
a=
7 2 4
Extraccion de datos de una lista: Los dobles corchetes se utilizan para extraer
un elemento de una lista. Por ejemplo, dado el vector v = {7, 3, -1} el primer
elemento de esta lista es 7.
v = 87, 3, -1<
87, 3, -1<
v@@1DD
-1
-1
10
Generaci
on de listas: Una forma de generar listas es mediante la funcion Table.
Table@i, 8i, 1, 5<D
81, 2, 3, 4, 5<
Las operaciones b
asicas con matrices son:
11
1.8. Resoluci
on de ecuaciones
Una funcion que se requiere en muchas ocasiones es la de resolver ecuaciones. El
comando Solve intenta resolver la ecuacion que se le plantea. Debemos indicar la
ecuacion o ecuaciones a resolver y cu
ales son las incognitas. Salvo que le indiquemos
lo contrario, Mathematica puede utilizar funciones inversas cuando las ecuaciones
no son polinomicas. En estos casos alguna solucion (o quiza una cantidad infinita de
ellas) pueden no aparecer explcitamente.
Solve@Sin@x + y - x ^ 2D 1 2, yD
::y - x + x2 >>
6
8x 0<
8x -<
x0
12
almacenar el valor de b sin hacer nada), mientras test sea verdadero. Cada vez b
aumenta en una unidad y cuando test es falso, para. En este momento b tendra el
valor 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 solucin con parte real mayor que -2.5 se obtiene con b igual a: ", bD
Print@"Esta parte real es: ", N@
Min@Re@ecu@bD@@1DD@@1DD@@2DDD, Re@ecu@bD@@2DD@@1DD@@2DDD, Re@ecu@bD@@3DD@@1DD@@2DDDDDD
Print@"que corresponde a la solucin: ", N@ecu@bDDD
La primera solucin con parte real mayor que -2.5 se obtiene con b igual a: 19
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 c alculo con el comando Simplify para obtener un resultado
simplificado); conviene observar que al ejecutar mas de una sustitucion es necesario
agrupar 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
13
? Sin
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, ?Sin
nos dara informaci
on acerca de todas las funciones que terminen en Sin.
? *Sin
System`
ArcSin Sin
14
?
Hay que poner atencion al pedir informacion acerca del smbolo , 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 este
problema hemos de entrar ?\*. La informacion solicitada acerca del operador nos
da una forma alternativa de indicar la multiplicacion en Mathematica: dejando un
espacio en blanco entre los factores.
1.11. Ejercicios
on gam tal que gam( 21 ) =
Ejercicio 1.1. Definir una funci , gam(0) = 1 y
x x2 x4x6 1
gam( ) = ,
2 2 2 2 2
si x es impar y tal que gam(n) = (n 1)!, si n es entero. Podremos obtener
gam[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 soluci
on.
doce soluciones.
ninguna soluci
on.
infinitas soluciones.
Ejercicio 1.3. Obtener una lista con todos los valores sin(k 2 ) para k {1, . . . , 50}.
x3 + x
Ejercicio 1.4. Definir la expresi
on p = . A continuaci
on
(x + a)(x3 3x2 + x 3)
resolver la ecuaci
on Denominadordep = 0, cuando a = 2. Obtener el valor numerico
de p cuando x = 2, a = 2. Descomponer p como suma de fracciones simples. A con-
tinuaci
on hacer denominador com un en la suma de fraccciones obtenida; comparar
con p (simplificar p puede ayudar). Escribir una lista con las races del denominador
de p cuando a = {0, 1, 2, . . . , 20}2 , utilizar la ayuda (F1) para conocer su sintaxis.
2
Aqu ser
a necesario utilizar algunos comandos que no hemos introducido a
un como: Apart,
Together, Denominator.
15
Pr
actica 2
Algebra Lineal
2.1. Matrices
Como ya hemos visto, en Mathematica los vectores se representan mediante
listas, 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 de
la matriz: (a, b) y (c, d).
DiagonalMatrix[lista]
IdentityMatrix[n]
El comando
MatrixForm[matriz]
16
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.
Transpose[m]
MatrixPower[m, k]
17
Sistemas de ecuaciones lineales
Para resolver un sistema de ecuaciones lineales dado, varias son las alternativas
que Mathematica ofrece. En primer lugar, puede ser conveniente escribir todas y
cada una de las ecuaciones explcitamente, y despues resolverlas usando el comando
Solve. En muchos casos, sin embargo, puede resultar mas adecuado convertir el
sistema en una ecuaci on matricial, y aplicar despues operaciones matriciales para
resolverlo, sobre todo si el n
umero de ecuaciones y de incognitas es elevado.
m x = b,
Las funciones incorporadas que Mathematica ofrece para resolver este tipo de
sistemas de ecuaciones son los siguientes:
LinearSolve[m,b]
on de la ecuacion matricial m x = b;
da un vector x que es soluci
NullSpace[m]
RowReduce[m]
Length[NullSpace[m]]
18
Valores y vectores propios
Como es bien sabido, los valores propios de una matriz m son los valores i para
los cuales existen vectores xi no nulos, llamados vectores propios, tales que m xi =
i xi . El calculo de los valores propios de una matriz n n supone, en principio,
resolver una ecuaci on polinomica de grado n. Si n 5 no es posible obtener, en
general, soluciones algebraicas explcitas de una ecuacion tal; Mathematica dispone
de los siguientes comandos para abordar este problema:
Eigenvalues[m]
Eigenvectors[m]
Eigensystems[m]
calcula al mismo tiempo los valores y los vectores propios y proporciona una lista
de valores propios y de vectores propios asociados. Por otra parte,
Eigenvalues[N[m]]
2.1.1. Ejercicios
Ejercicio 2.1. (1) Dadas las matrices
3 4 5 10 6 9
A= 8 0 3 , B= 6 5 7
5 2 1 10 9 12
19
(2) Resolver el sistema
x + 5y = a
2x + y = b
dependiente de dos par
ametros. El metodo m
as eficiente es usar LinearSolve.
con Mathematica ?
y otra con
obten la dimensi
on y una base del subespacio lineal que engendran.
20
(9) Dada la aplicaci
on lineal cuya matriz asociada en unas ciertas bases viene
dada por
0 3 1 3 1
A = 3 3 3 3 1
2 2 1 1 2
encuentra una base de su n ucleo. Halla tambien la imagen de los vectores
(4, 2, 0, 0, 6) y (1, 2, 1, 2, 3).
(12) Diagonaliza la matriz cuyas filas vienen dadas por los vectores
2.2. C
onicas
La circunferencia, la elipse y la parabola son curvas planas de todos conocidas.
Estas curvas aparecan ya en la geometra griega y fueron denominadas secciones
c
onicas ya que los griegos de la epoca de Platon consideraban que tales curvas
procedan de la intersecci
on de un cono con un plano tal como muestra la figura:
21
Cuando los matem aticos de los siglos XVI y XVII estudiaron los trabajos griegos,
empezaron a comprobar la falta de generalidad de los metodos de demostracion, lo
que llevo a sustituir la visi
on puramente geometrica de las secciones conicas por otra
que incorporaba la nociones de coordenadas y distancia. Esto llevo a la definicion de
estas curvas como lugares geometricos que verifican ciertas propiedades en terminos
de distancia. Finalmente se establecio una teora algebraica general que engloba
todas estas curvas y las describe como curvas cuadraticas. En esta teora esta basada
la presente practica.
Curvas cuadr
aticas
Una conica es el lugar geometrico de los puntos del plano que satisfacen una
ecuacion de segundo grado en dos variables:
X t AX + BX + a00 = 0 (EG)
donde
!
a11 a12
x
A= , B = 2a01 2a02 , X= .
a12 a22 y
A partir de la ecuacion general (EG) de una conica vamos a estudiar tres pro-
blemas: (1) Obtener su ecuaci on reducida, (2) obtener sus elementos geometricos, y
(3) analizar sus invariantes metricos.
22
Ecuaci
on reducida de una c
onica
Diremos que la ecuaci
on de una conica
X t AX + BX + a00 = 0 ,
es una ecuaci
on reducida si
1. La matriz A es diagonal.
3. Si 0 es valor propio de A, entonces de entre los elementos a0i hay a lo mas uno
no nulo.
Puesto que el primer requisito para tener una ecuacion reducida es que la matriz
de la conica sea diagonal, dada una ecuacion
X t AX + 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 P
ortogonal (que puede elegirse con det P = 1) tales que P t AP = D. Entonces, la
expresion
X = PZ con Z = (u, v)
23
u2 + 2b1 u = (u + b1 )2 b21
y de forma similar
v 2 + 2b2 v = (v + b2 )2 b22 .
Mediante la sustituci
on
(
t = u + b1
s = v + b2
x2 6xy 7y 2 + 10x + 2y + 9 = 0 .
Para realizar el Ejercicio 2.2 realizaremos los siguientes pasos utilizando algunos
de los comandos de Mathematica estudiados en la Practica 1:
PASO 5: Realizar el producto de las matrices que aparecen en la ecuacion (E) para
obtener una nueva ecuaci
on cuadr
atica de la conica.
Si todos los pasos han sido realizados correctamente se debe haber obtenido la
ecuacion:
16 28
8u2 + 2v 2 + u v + 9 = 0
10 10
24
donde u y v son las nuevas coordenadas tras realizar el giro.
14
2
2 v v = 2 v ??? )2 ???
10
Tras los c
alculos anteriores, las nuevas coordenadas tras realizar la traslacion
son:
1
t = u 10
7
s=v .
10
Ejercicio 2.3. Dibujar la c onica del ejercicio anterior, primero utilizando la ecua-
on x2 6xy 7y 2 + 10x + 2y + 9 = 0, luego la ecuaci
ci on (E) y luego la ecuaci on
reducida. Compara las gr aficas obtenidas.
Ejercicio
2.4. Hallar la ecuaci on reducida de la conica x2 + y 2 + 2xy + 6 2 x
2 2 y + 26 = 0. Dibujar la gr afica de esta conica, primero usando la ecuaci on
anterior, luego la ecuaci
on (E) y luego la ecuacion reducida, comparando las gr aficas
obtenidas.
C
alculo de los elementos geom
etricos
Una ecuaci on reducida X 00 = C + P t X de una elipse, hiperbola o parabola
significa que el nuevo sistema de referencia R00 tiene como origen el centro de la
conica (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 una
parabola) o el eje y la tangente en el vertice (en el caso de una parabola).
25
Puesto que las coordenadas del origen de R00 respecto de R00 son (0, 0), entonces
el centro (en el caso de la elipse o de la hiperbola) o el vertice (en el caso de la
parabola) es la soluci
on del sistema:
0 = C + P tX
Para calcular los ejes basta con recordar que la nueva base esta formada por los
vectores propios de la matriz de la c onica y, por tanto, estos vectores son los vectores
directores de los ejes de la c
onica. En el caso de la parabola, el vector propio asociado
a = 0 nos da la direcci on del eje y el otro vector propio proporciona la direccion
de la tangente en el vertice.
De forma similar al calculo del centro se pueden obtener los focos de la conica,
la directriz de la par
abola, las asntotas de la hiperbola, etc.
2xy 2x + 6y + 5 = 0
Representar gr
aficamente la c
onica e identifica su centro y sus ejes.
Representar gr
aficamente la c
onica.
Invariantes m
etricos de las c
onicas
A la ecuaci
on de una c
onica
y consideramos los n
umeros
26
Los n
umeros I1 , I2 y I3 no varan cuando la conica es afectada por un movimiento
rgido y se denominan invariantes metricos. Los invariantes metricos nos permiten
identificar el tipo de conica seg
un se refleja en la tabla 2.2:
2x2 4xy y 2 4x 8y + 14 = 0 .
En el caso en que I2 6= 0, la c
onica dada tendra una ecuacion reducida del tipo
ax2 + by 2 + d = 0
27
Pr
actica 3
Gr
aficas en dos y tres
dimensiones
3.1. Gr
aficas en dos dimensiones
3.1.1. Gr
aficas en coordenadas cartesianas
El comando
0.5
Out[12]=
1 2 3 4 5 6
-0.5
-1.0
Si queremos trabajar con varias graficas a la vez tenemos varias opciones. Una
de ellas es:
28
Ejemplo 3.1. Representa gr aficamente las funciones f (x) = sin x, 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 y
como vemos a continuaci on.
Ademas podemos obtener cada grafica por separado en una tabla de graficos;
para ello utilizaremos la opci
on que detallamos en el siguiente ejemplo.
10 25
20
5 15
10
5
-3 -2 -1 1 2 3
-3 -2 -1 1 2 3
Out[17]=
2 140
1 120
100
-3 -2 -1 1 2 3 80
-1 60
-2 40
20
-3
-4 -3 -2 -1 1 2 3
1.0
0.5
Out[39]=
1 2 3 4 5 6
-0.5
-1.0
29
Tambien podemos obtener lo mismo con la sentencia siguiente, en la que no
consideramos la opci
on AspectRatio:
In[36]:= Plot@8Sin@xD, Cos@xD<, 8x, 0, 2 Pi<, PlotStyle 8Red, Green<D
1.0
0.5
Out[36]=
1 2 3 4 5 6
-0.5
-1.0
Las opciones del comando Plot son muchas y enumerarlas resultara demasiado
extenso. Resulta muy util utilizar el Help que aparece en el men
u del programa o
bien el comando Options[Plot]. Algunas de ellas son:
Dashing: opci
on para hacer el dibujo con puntos o rayas en vez de un trazo
continuo.
FilledPlot: rellena el espacio limitado por las graficas de las funciones y las
ordenadas extremas consideradas.
PlotStyle->{}: nos proporciona opciones del dibujo tales como el grosor, color
y otros.
30
Plot@8Sin@xD, Sin@2 xD, Sin@3 xD<, 8x, 0, 2 Pi<, PlotStyle 8Red, Blue, Green<D;
1.0
0.5
Out[1]=
1 2 3 4 5 6
-0.5
-1.0
Dibujamos las gr
aficas y sombreamos la zona entre ambas:
In[13]:= graf1 = FilledPlot@8Sin@x + 1D, x ^ 3 - 3 x + 1<, 8x, -4, 4<D
2
Out[13]=
-4 -2 2 4
-2
-4
-6
31
FindRoot@Sin@x + 1D == x ^ 3 - 3 x + 1, 8x, -2<D
FindRoot@Sin@x + 1D == x ^ 3 - 3 x + 1, 8x, 2<D
In[2]:=
Out[2]= 8x -1.98099<
Out[3]= 8x 1.6383<
In[4]:= r1 = -1.980987201443789;
r2 = 1.6382951511934907;
Show@graf1, graf2D
8
2
Out[20]=
-4 -2 2 4
-2
-4
-6
(a) Modifica AspectRatio haciendo que la altura sea dos veces el ancho.
3.1.2. Gr
aficas en coordenadas polares
Para dibujar gr
aficas en coordenadas polares se requiere el cargar previamente
el paquete <<GraphicsGraphics. El comando para dibujar este tipo de graficas
es:
32
In[49]:= PolarPlot@2 Cos@tD - 1, 8t, 0, 2 Pi<, AspectRatio AutomaticD
1.5
1.0
0.5
Out[49]=
0.5 1.0 1.5 2.0 2.5 3.0
-0.5
-1.0
-1.5
Ejercicio 3.3. Dibuja una tabla con 4 gr aficas, 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
<<GraphicsFilledPlot y los comandos son:
FilledPlot[expr,{x,xmin,xmax}]:sombrea el espacio entre la curva y el eje
x.
3.1.3. Gr
aficas de funciones implcitas
Recordemos que la representaci on grafica de una curva en el plano dada de forma
implcita viene dada por la relaci
on F (x, y) = 0. Si se verifica el teorema de la funci
on
implcita, 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 cos x = 0; o
bien porque la expresi on que obtenemos al tratar de despejarla resulta complicada de
manejar, por ejemplo x y 2 7x y +cos x8 = 0. En estos casos Mathematica dispone
de la funci on ImplicitPlot incluida en el paquete GraphicsImplicitPlot que
nos permite dibujar funciones definidas de forma implcita. Veamos un ejemplo:
cargamos primero el paquete anterior (basta con hacerlo una vez en la sesion de
Mathematica) y luego dibujamos el Folium de Descartes:
33
In[56]:= ImplicitPlot@x ^ 3 + y ^ 3 - 3 x y 0, 8x, -2, 2<, PlotLabel "Folium de Descartes"D
Folium de Descartes
-2 -1 1 2
Out[56]=
-1
-2
-3
La funci
on ImplicitPlot tiene las mismas opciones que las de Plot salvo Compiled,
MaxBend y PlotDivision. Precisemos que para la funcion ImplicitPlot, la opcion
AspectRatio toma el valor Automatic por defecto.
34
In[58]:= ImplicitPlot@x ^ 2 + y ^ 2 9, 8x, -3, 3<, PlotStyle RedD
Out[58]=
-3 -2 -1 1 2 3
-1
-2
-3
3.2. Gr
aficas en tres dimensiones
3.2.1. Gr
aficas 3D en coordenadas cartesianas
El programa Mathematica tiene varias opciones para representar graficamente
superficies; 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}].
35
cuya gr
afica es la que aparece en el siguiente dibujo:
1
0.5 5
0
4
-0.5
-1 3
0
1 2
2
3 1
4
5 0
La funci
on Plot3D, igual que la funcion Plot, tiene asociado un conjunto de
opciones gr
aficas, especificadas por reglas que nos proporcionan diversas formas
de presentar la grafica. Estas opciones las podemos obtener mediante la funcion
Options,
In[65]:= Options@Plot3DD
Una de estas opciones es ViewPoint que permite cambiar el punto de vista desde
el que vemos la superficie. Este punto de vista se define con relacion a un cubo de
lado unidad centrado en el origen de coordenadas, siendo (1.3,-2.4,2) las coordenadas
del 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. A
continuacion vamos al comando Plot3D y pondremos al final una coma, volvemos al
36
3DViewPoint Selector y apretamos el comando Paste y aparecen las coordenadas
adecuadas en nuestro comando para que nos dibuje la grafica desde el punto de vista
deseado. Esto es,
In[67]:= Plot3D@Sin@x yD, 8x, 0, 5<, 8y, 0, 5<, ViewPoint 8-1.814, -2.855, -0.093<D
0
2
4
1.0
0.5
Out[67]=
0.0
-0.5
-1.0
0 2 4
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 caso
del paraboloide z = x2 + y 2 ,
8x, -15, 15<, 8y, -15, 15<, ViewPoint -> 83.650, 1.655, 1.023< D;
Plot3D@x ^ 2 + y ^ 2, -10
0
10
400
300
200
100
0
-10
0
10
Para evitarlo tenemos otra opcion: utilizar la funcion CountourPlot3D que dibuja
superficies de nivel. En primer lugar hay que cargar el paquete
<< Graphics`ContourPlot3D`
y escribir la orden
Ejercicio 3.5. Dibuja el cono z 2 = 3x2 + 3y 2 y elimina la malla del gr
afico con la
opci
on Mesh->False.
Ejercicio 3.6. Dibuja una esfera con centro en el origen y radio 4.
p
Ejercicio 3.7. Representa en 3D la superficie z = 10 sin (10 x2 + y 2 ) con x
[1, 1], y [1, 1] y 30 puntos a evaluar, adem
as que no aparezca la caja de los
ejes, ni los cuadrados del dibujo.
3.3. Animaci
on de gr
aficos
El programa Mathematica tiene una opcion para obtener una animacion de grafi-
cos. Para ello seguimos los pasos siguientes:
37
1 0
-1
ContourPlot3D@x ^ 2 + y ^ 2 - z, 8x, -4, 4<, 8y, -4, 4<,
8z,
3 -3, 3<, ViewPoint -> 83.159, 0.980, 0.713<, Axes TrueD;
0
-1 0
1
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}]
Una sentencia similar nos permite dibujar graficas de curvas en tres dimensiones
en parametricas,
38
ParametricPlot3D[{x(t),y(t),z(t)}, {t,a,b}]
1.0
0.5
Out[59]=
-1.0 -0.5 0.5 1.0
-0.5
-1.0
t2
t
Ejemplo 3.6. Representamos la funci
on parametrica r(t) = , en
1 + t 1 + t3
3
[0, 4]
0.5
0.4
0.3
Out[62]=
0.2
0.1
39
Ejemplo 3.7. Representaci on gr
afica de la circunferencia de radio 1 y centrada en
x2
(0, 0) y la elipse + y 2 = 1, ambas en coordenadas parametricas.
4
ParametricPlot@88Cos@tD, Sin@tD<, 82 Cos@tD, Sin@tD<<,
8t, 0, 2 Pi<, AspectRatio Automatic, PlotStyle 8Red, Blue<D
In[63]:=
1.0
0.5
Out[63]=
-2 -1 1 2
-0.5
-1.0
Gr
aficas 3D en forma param
etrica
La funci
on ParametricPlot3D nos permite representar superficies dadas en for-
ma parametrica. En primer lugar hemos de cargar el paquete
<<GraphicsParametricPlot3D
Por ejemplo, el tronco de cono cuyas coordenadas parametricas son (u, v) =
(v cos u, v sin u, v) donde 0 u 2, 0 v 4. Buscaremos el punto de vista
adecuado,
ParametricPlot3D@8u Cos@vD, u Sin@vD, u<,
8v, 0, 2 Pi<, 8u, 0, 40<, ViewPoint -> 8-2.711, -1.975, 0.447<D
In[2]:=
0 20 40
-40 -20
40
30
20
Out[2]=
10
0
40
20
0
-20
-40
40
Representaci
on gr
afica de curvas en el espacio
La funci on ParametricPlot3D nos permite tambien representar graficamente
curvas 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 de
ecuaciones parametricas ~ (t) = (2 cos t, 2 sin t, t), t [0, 6],
41
Pr
actica 4
Interpolaci
on y aproximaci
on de
funciones
La interpolacion, que es el c
alculo de valores para una funcion tabulada en puntos
que no aparecen en la tabla, es, hist oricamente, una tarea fundamental. Los nom-
bres de muchos matem aticos famosos estan asociados con metodos de interpolacion:
Newton, Gauss, Bessel, Stirling, Chebyshev, etc.
Aunque hoy en da, los estudiantes rara vez tiene que interpolar para valores de
senos, logaritmos y dem as funciones no algebraicas a partir de tablas, sus calculado-
ras y computadoras usan estas tecnicas para calcular esos valores y creemos que es
importante que los estudiantes entiendan como funcionan las calculadoras. Ademas,
estos metodos resultan interesantes ya que constituyen la base para muchos proce-
dimientos que estudiar an, como los de derivacion e integracion numerica, resolucion
de ecuaciones diferenciales, etc. Por otro lado, la interpolacion con polinomios sirve
como una excelente introducci on para ciertas tecnicas de aproximacion de curvas
suaves, tecnicas que resultan muy u tiles a los alumnos de ingeniera.
42
y = a0 + a1 x + a2 x2 + a3 x3 + a4 x4
para que pase por los puntos exigidos. Esto es equivalente a resolver un sistema
de 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.0
0.5
2 3 4 5 6
`j (xj ) = 1 y `j (xk ) = 0, si j 6= k
P (x) = f (x0 )`0 (x) + f (x1 )`1 (x) + + f (xn )`n (x).
43
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<D
polLagrange@t_D := Sum@y@@jDD * l@j, tD, 8j, 1, Length@xD<D
Print@polLagrange@tDD
H2 - tL H4 - tL H5 - tL H6 - tL +
1
60
Expand@polLagrange@tDD
x (x)
1.0 1.00000
1.1 0.95135
1.2 0.91817
1.3 0.89747
44
donde los coeficientes ci se calcular
an mediante las llamadas diferencias divididas,
definidas por recurrencia como sigue:
f [x1 , . . . , xi ] f [x0 , . . . , xi1 ]
ci = f [x0 , . . . , xi ] , i = 0, 1, . . . , n.
xi x0
La ventaja del polinomio interpolador de Newton es la sencillez de su formu-
lacion, junto con el hecho de que al a
nadir un nodo mas, pueden aprovecharse los
calculos realizados. El comando InterpolatingPolynomial[] utiliza el algoritmo
de diferencias divididas para calcular el polinomio interpolador. As, con los datos
del 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
Ejercicio 4.3. Dada la tabla siguiente para la funci on f (x) = ex , encuentra los
valores aproximados de 3 e por interpolaci
on lineal y c
ubica.
1. Interpolar con un polinomio c ubico que pase por los cuatro primeros puntos y
utilizarlo para calcular f (0,2).
f n+1 (x )
f (x) pn (x) = (x x0 ) (x x1 ) ... (x xn ) , x (a, b)
(n + 1)!
45
De la f
ormula anterior no se puede deducir que los polinomios de mayor grado
correspondan a una interpolaci on mejor. De hecho, esta interpolacion es peor al
aumentar el grado debido al caracter oscilatorio de los polinomios de grado alto. El
error tiene una dependencia directa de la derivada de orden n + 1 y de la proximidad
de los puntos a los nodos.
4.4. Interpolaci
on con un splin c
ubico
Una solucion al problema de la oscilacion de los polinomios de grado alto consiste
en subdividir el intervalo en intervalos mas peque nos e interpolar un numero menor
de nodos con polinomios de grado menor, se suele utilizar la interpolacion mediante
polinomios cubicos. Pero este metodo tambien es problematico porque las uniones
de los polinomios no tienen una pendiente continua. Para impedir este problema son
de utilidad los tipos especiales de polinomios denominados splines.
Por otro lado, el estudio de los splines conduce a algunas otras formas especiales
de polinomios (curvas de Bezier y splines-B) que no se interpolan, es decir, no pasan
exactamente por todos los puntos de la funcion, pero que son de mucha utilidad para
trazar curvas suaves. Aunque los splines pueden ser de cualquier grado, usaremos
los de grado tres por ser los m as conocidos.
El ajuste de una curva mediante splines c ubicos exige la creacion de una sucesion
de polinomios c ubicos sobre intervalos sucesivos de los datos con la condicion de que
la pendiente de los polinomios debe coincidir en los nodos en que se unen. As, se
escribe la ecuaci on para un polinomio c ubico, gi (x) , en el i-esimo intervalo, entre
los puntos (xi , yi ) y (xi+1 , yi+1 ) y la funcion splin c
ubico que se desea es de la forma
46
2. gi (xi+1 ) = gi+1 (xi+1 ) , i = 0, 1, ..., n 2; (para que sea continua)
De donde se obtiene
Ahora podemos hacer uso de la funcion SplineFit que calcula una curva pa-
rametrica (de clase C 1 ) que interpola los puntos dados. Esta curva esta formada
por la union de polinomios de grado 3 y puede ser representada por el comando
ParametricPlot como se ve a continuacion:
spline = SplineFit@puntos, CubicD
1
En la versi
on 6 de Mathematica el paquete se llama Splines
47
Show@Graphics@Point@puntosDD,
ParametricPlot@spline@tD, 8t, 0, 3<D, Axes True, PlotRange AllD
2.0
1.5
1.0
0.5
82, 2<
spline@1D
81, 0<
2.0
1.5
1.0
0.5
48
4.5. Ejercicios
Ejercicio 4.7. Los datos de la siguiente tabla provienen de observaciones astron
omi-
cas de un tipo de estrella variable denominada variable cefeida y representan mag-
nitudes en su variaci
on aparente con el tiempo:
Tiempo 0.0 0.2 0.3 0.4 0.5 0.6 0.7 0.8 1.0
Magnitud aparente 0.302 0.185 0.106 0.093 0.240 0.579 0.561 0.468 0.302
Dibujar una curva de interpolaci
on usando
1. un polinomio interpolador,
2. una aproximaci
on de splines c
ubicos.
Compara los resultados que se obtienen con las distintas aproximaciones para
t=0.25
5. Que valores obtienes para t = 0,90 con las distintas curvas de interpolaci
on
obtenidas?
3. Utiliza los dos resultados anteriores para calcular el valor de P cuando T = 98.
Que resultado consideras m as correcto?
49
Pr
actica 5
Integraci
on num
erica
donde f es una funci on integrable en el intervalo acotado (a, b). Por razones histori-
cas, el calculo de integrales se conoce como cuadratura, reservandose el termino
integraci
on 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 c alculo)? Varias pueden ser las razones:
50
Aunque la primitiva sea elemental y obtenible sin recurrir a ideas mas o menos
ingeniosas, encontrar esa primitiva puede ser un proceso largo y tedioso, o
requerir tecnicas numericas m
as complejas que las que se necesitan para hallar
(5.1) de modo directo. Por ejemplo, si f es una funcion racional la primitiva
se puede encontrar aplicando tecnicas sistematicas, pero que requieren hallar
todos los ceros del denominador. Ahora bien, esta tarea en general hay que
llevarla a cabo mediante aproximaciones numericas que son mas costosas que
aproximar (5.1) directamente.
51
5.2. Obtenci
on de reglas de cuadratura
Supondremos ahora que en (5.2) hemos elegido N y los nodos xi y tratemos de
determinar de manera razonable los pesos i . Para resolver este problema, varias
son los procedimientos posibles. Aqu analizaremos dos de ellos.
5.2.1. El m
etodo interpolatorio
Sustituyamos el integrando f por el polinomio R b P de grado N que coincide
con el en los N + 1 nodos xi . Podremos tomar a P (x)dx como aproximacion al
verdadero valor (5.1), es decir, definir una regla mediante
Z b
IN +1 (f ) = I(P ) = P (x)dx. (5.7)
a
Fijemonos en que el segundo miembro de (5.8) solo depende de las abscisas y es por
tanto independiente del integrando f . La regla (5.2) con los pesos (5.8) se llama regla
interpolatoria correspondiente a las abscisas xi . El siguiente teorema nos garantiza
una cota inferior para su grado de exactitud.
52
5.2.2. El m
etodo de coeficientes indeterminados
Esta basado en la observaci on de que la regla (5.2) tiene grado de exactitud k
si y solo si IN +1 (f ) = I(f ) cuando f (x) = 1, x, . . . , xk , es decir,
0 + 1 + + N = ba
0 x0 + 1 x1 + + N xN = (b2 a2 )/2
.. .. .. .. (5.9)
. + . + + . = .
0 xk0 + 1 xk1 + + N xkN = (bk+1 ak+1 )/(k + 1)
(b a)2 0
E R (f ) = f (). (5.10)
2
La regla del punto medio. Si f tiene dos derivadas continuas en [a, b], entonces existe
un punto [a, b] para el que
(b a)3 00
E P M (f ) = f (). (5.11)
24
La regla de los trapecios. Si f tiene dos derivadas continuas en [a, b], entonces existe
un punto [a, b] para el que
(b a)3 00
E T (f ) = f (). (5.12)
24
53
La regla de Simpson. Si f tiene cuatro derivadas continuas en [a, b], entonces existe
un punto [a, b] para el que
(b a)5 (iv)
E S (f ) = f (). (5.13)
2880
El punto depende obviamente tanto de la funcion a integrar f como de la regla
considerada. Observese que el orden de la derivada M + 1 que aparece es una unidad
superior al grado de exactitud M .
y aproximar cada una de las integrales en los subintervalos por la regla de Simpson.
As obtendremos una aproximacion
x1 x0 4(x1 x0 ) x1 x0
I SC (f ) = f (x0 ) + f (x1/2 ) + f (x1 ) (5.15)
6 6 6
+
xN xN 1 4(xN xN 1 ) xN xN 1
+ f (xN 1 ) + f (xN 1/2 ) + f (xN )
6 6 6
donde hemos denotado xi1/2 = (xi1 +xi )/2, i = 1, . . . , N . A esta regla de cuadratu-
ra la llamaremos regla de Simpson compuesta relativa a la particion . Observemos
que esta es una regla de la forma (5.2) cuyas abscisas son los puntos de la particion
y los puntos medios de los subintervalos de la particion. Si los puntos de esta estan
igualmente espaciados con longitud h = (b a)/N y denotando por simplicidad
fi f (xi ), la regla de Simpson compuesta se puede escribir de forma equivalente
como
h X X
I SC = f0 + fN + 4 fm + 2 fm
3 m par
m impar
54
Si en vez de aproximar las integrales del segundo miembro de (5.14) por la regla
de Simpson, lo hacemos por las reglas del rectangulo, punto medio o trapecios,
obtenemos las reglas del rect
angulo compuesta, punto medio compuesta o trapecios
compuesta relativas a la partici
on .
x1 x0 x1 x0
I T C (f ) = f (x0 ) + f (x1 ) (5.18)
2 2
+
xN xN 1 xN xN 1
+ f (xN 1 ) + f (xN )
2 2
En terminos de h, esta u
ltima tambien se escribe como
h
I T C (f ) = (f0 + 2f1 + 2f2 + + 2fN 1 + fN ).
2
Usando la f ormula (5.10) podemos escribir para integrandos con derivada continua
en [a, b]
(x1 x0 )2 0 (xN xN 1 )2 0
E RC (f ) = f (1 ) + + f (N ),
2 2
siendo los i puntos de [xi1 , xi ], i = 1, . . . , N . Se puede demostrar que existe un
[a, b] tal que
1
E RC (f ) = [(x1 x0 )2 + + (xN xN 1 )2 ]f 0 ().
2
A partir de esta expresi
on se puede obtener una cota como sigue. Tomemos valores
absolutos y mayoremos cada (xi xi1 )2 por h(xi xi1 ), con h = maxi (xi xi1 ).
Como
(x1 x0 ) + + (xN xN 1 ) = xN x0 = b a,
el resultado es
1
|E RC (f )| (b a)hK1 , (5.19)
2
55
con K1 una cota del valor absoluto de la derivada de f en [a, b]. De aqu se deduce
la convergencia: al hacer la partici on mas y mas fina el error de la cuadratura tiende
a cero. Adem as, la convergencia es de primer orden: dividir por dos el diametro de
la particion h divide por dos la cota del error.
De la misma forma, se obtiene para funciones con dos derivadas continuas en
[a, b],
1
|E P M C (f )| (b a)h2 K2 , (5.20)
24
1
|E T C (f )| (b a)h2 K2 , (5.21)
12
y para funciones con cuatro derivadas continuas en [a, b],
1
|E SC (f )| (b a)h4 K4 , (5.22)
2880
siendo Ki una cota del valor absoluto de la derivada i-esima en [a, b]. Estas formulas
muestran la convergencia de las respectivas reglas: cuadratica para la regla del punto
medio y la de los trapecios y cuartica para la regla de Simpson. Observese que en
general la convergencia es de orden M + 1 para una regla compuesta basada en una
simple de grado de exactitud M .
56
N[trapecios[Sin[x], {x, 0, Pi, 20}]]
N[trapecios[trapecios[Sqrt[1 - y^2],
{y, x, 1, 30}], {x, 0, 1, 30}]]
f[x_] = Sin[x];
N[simpson[f, {0, Pi, 20}]
f[x_] = Sin[x];
NIntegrate[f[x], {x, 0, Pi}]
La funci
on NIntegrate tambien permite obtener aproximaciones numericas para
integrales dobles:
57
5.6. Ejercicios
Ejercicio 5.1. Usar la regla de los trapecios con h = 0,5 para evaluar
Z 2
I= (x2 3x + 4)dx
0
y, mediante el c
alculo exacto de la integral, examinar la estimaci
on del error dada
por la f
ormula (5.21).
Ejercicio 5.2. Utilizar la regla de los trapecios y la regla de Simpson compuestas
con 10 puntos para calcular las siguientes integrales:
Z
1. sin x dx
0
Z
sin x
2. dx
x
2
Ejercicio 5.3. Calcular las integrales siguientes utilizando las reglas de cuadratura
estudiadas.
Z 1Z 1p
1. 1 y 2 dy dx
0 x
Z 0,5 Z x3
2. ey/x dy dx
0,1 x4
x f (x) x f (x)
1.6 4.953 2.8 16.445
1.8 6.050 3.0 20.086
2.0 7.389 3.2 24.533
2.2 9.025 3.4 29.964
2.4 11.023 3.6 36.598
2.6 13.464 3.8 44.701
58
sobre el intervalo comprendido entre x =1.8 y x =3.4. Emplead para ello la regla
de los trapecios y el metodo de Simpson. Dan resultados comparables?
Ejercicio 5.8. Repite el calculo, pero ahora con la regla de Simpson. Observa que
no s
olo los errores para cada h dado son m as pequenos, sino que la reducci
on del
error con h es ahora mucho m as r
apida que en la tabla anterior. Al dividir h entre
dos, por cuanto lo hace aproximadamente el error? (ayuda: muestra en la u ltima
columna 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 es
injusto compara los errores de los trapecios y Simpson correspondientes a un valor
de h dado. La regla de Simpson con h = 0,0625 precisa evaluar el integrando en 33
puntos; la de los trapecios con el mismo valor de h s olo eval
ua el integrando en 17
puntos, aproximadamente la mitad. Los metodos numericos deben compararse por
trabajo 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 grafica
de eficiencia. Se trata de una representacion doblemente logartmica: en cada eje, las
sucesivas potencias de 10 aparecen a intervalos de longitud constante. En ordenadas
se representa el error, y en las abscisas el trabajo medido en n
umero de evaluaciones
del integrando. Con las tablas obtenidas en los dos ejercicios precedentes, elabora el
correspondiente diagrama de eficiencia. Has de obtener dos curvas (una para la regla
de los trapecios y otra para la regla de Simpson) que son aproximadamente lneas
rectas de pendientes 2 y 4 por que? Para un trabajo dado, la regla de Simpson
da un error menor que la de los trapecios.
59
Pr
actica 6
Sucesiones y series
6.1. Sucesiones
Para nuestro estudio de sucesiones de n
umeros reales necesitamos conocer los
siguientes aspectos de Mathematica:
1
Ejemplo 6.1. Estudiar la sucesi
on an = .
n2 +1
Soluci
on. Definimos la sucesi
on como una funcion
1
a[30]=
901
60
y generar una tabla con algunos de sus terminos (por ejemplo, los 15 primeros)
mediante el comando Table que podemos utilizar para visualizar el comportamiento
de la sucesi
on usando el comando ListPlot:
term=Table[a[n],{n,1,15}]
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
, , , , , , , , , , , , , ,
2 5 10 17 26 37 50 65 82 101 122 145 170 197 226
ListPlot[term, PlotStyle->PointSize[0.02]]
0.2
0.15
0.1
0.05
2 4 6 8 10 12 14
La representaci
on grafica de los 15 primeros terminos de la sucesion nos sugiere
que la sucesi
on es monotona decreciente (an+1 < an ) y acotada inferiormente (por
cero). Dado que toda sucesi on estrictamente decreciente y acotada inferiormente es
convergente, el estudio gr afico nos sugiere que la sucesion tiene lmite (de hecho,
nos hace pensar que el lmite es cero). Vamos a ver como podemos comprobar estos
propiedades con Mathematica.
True
(2) Acotaci
on: El estudio gr
afico sugiere que la sucesion esta acotada inferior-
mente por 0 y superiormente por 1. Para comprobar este extremo utilizamos la
sentencia:
61
True
Limit[a[n]],n->Infinity]
0
n
on an = (1)n
Ejemplo 6.2. Estudiar la sucesi
n+1
Soluci
on. Consideramos la funci
on
term=Table[a[n],{n,1,15}]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
{ , , , , , , , , , , , , , , }
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
ListPlot[term, PlotStyle->PointSize[0.02]]
0.75
0.5
0.25
2 4 6 8 10 12 14
-0.25
-0.5
-0.75
El analisis de la representaci
on grafica de los 15 primeros terminos de la suce-
sion nos dice que la sucesi on es oscilante: los terminos impares son negativos y los
terminos pares positivos (esto es debido a la presencia del factor (1)n ). Ademas,
los lmites 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 sucesi
on de los terminos pares:
FullSimplify[a[2n], Element[n,Integers]]
62
2n
2n + 1
FullSimplify[a[2n+1], Element[n,Integers]]
1
1 +
2 + 2n
1
Dado que las subsucesiones {a2n } y {a2n+1 } tienen lmites diferentes, la sucesion
{an } es divergente.
Soluci
on. Al ser la sucesi
on recurrente, definimos la sucesion de la siguiente
forma:
x[3]
p
1+ 2
N[x[3],10]
1.553773974
63
term=Table[x[n],{n,1,15}];
1.6
1.575
1.55
1.525
2 4 6 8 10 12 14
1.475
Graficamente se observa que la sucesion es creciente (xn < xn+1 ) y esta acotada
superiormente (por ejemplo por 2), lo que implica que la sucesion es convergente. Si
intentamos calcular su lmite mediante el comando Limit, Mathematica cae en un
proceso recursivo y no es capaz de darnos el valor del lmite. Si lmn xn = L, debe
cumplirse la igualdad
L = 1 + L.
Usando esta igualdad podemos calcular el lmite mediante el comando Solve:
Solve[L == Sqrt[1+L], L]
1
{{L 1 + 5 }}
2
6.2. Series de n
umeros reales
Los siguientes comandos son los que utilizaremos para el estudio del caracter de
una serie y para el c
alculo (exacto o aproximado) de su suma:
(1) Limit
(2) Sum
(4) N, NSum
64
(5) EulerSum (hay que cargar el paquete NumericalMathNLimit
X 1
Ejemplo 6.4. Estudiar el car
acter de la serie . En caso de ser conver-
2n2+1
n=0
gente, calcular su suma.
Soluci
on. (1) Estudio del car
acter:
a[n_]:= 1/(n^2+1)
Por tanto, la serie puede ser convergente. Como es una serie de terminos positivos
aplicamos el criterio del cociente:
Sum[a[n],{n,0,Infinity}]
2 sinh
2
csch
2
cosh 2
+
2
2 2
N[Sum[a[n],{n,0,Infinity}, 17]]
65
1.6371602671179672
NSum[a[n],{n,0,Infinity}]
1.63716
Ejemplo 6.5. Aplica el criterio de Leibniz para series alternadas para demostrar
X (1)n
que la serie es convergente. Calcula un valor aproximado de su suma
2n 1
n=1
mediante el comando EulerSum.
Solucion. Tenemos que comprobar dos cosas: (1) el lmite del modulo del termino
general tiende a cero, y (2) el m
odulo del termino general es una sucesion monotona
decreciente.
a[n_]:= 1/(2n-1)
Limit[a[n], {n,0,n->Infinity}]
True
El criterio de Leibniz nos dice que la serie es convergente. Vamos a calcular un valor
aproximado de su suma:
<<NumericalMathNLimit
EulerSum[a[n],{n,1,Infinity}]
-0.785398
2
Ejercicio 6.1. (1) Dada la sucesi
on de termino general an = , se pide:
3n 2
66
(a) Escribir los 15 primeros terminos y representarlos gr
aficamente.
1 1
on recurrente xn+1 = + x2n para los valores x1 = 1, x1 =
(3) Estudiar la sucesi
4 2
1
y xn = .
4
X 1
(4) Probar que la serie es convergente y calcular su suma con una
(log n)n
n=2
aproximaci
on de 17 cifras significativas.
X (1)n
(5) Probar que la serie arm
onica alternada es convergente. Calcular su
n
n=2
suma con una aproximaci
on de 12 cifras significativas.
X
(6) Probar que la serie (1)n sin es convergente. Hallar el valor de su
n
n=2
suma o, en su defecto, un valor aproximado.
Ejemplo 6.6. Definir una funci on que calcule los polinomios de Taylor de la fun-
cion f (x) = cos(x) y utilizarla para realizar una animaci on que muestre c
omo se
aproximan a f .
67
Soluci
on. El comando Series[func,x,a,grado] calcula la serie de Taylor en la
variable x centrada en el punto a hasta el termino indicado por grado.
Series[Cos[x], {x,0,10}]
x2 x4 x6 x8 x10
1 + + + O[x]11
2 24 720 40320 3628800
Al final de la respuesta aparece el termino O[x]11 que nos indica el orden de error
que 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 terminos
de potencias impares son nulos, pero el comando usado no informa a Mathematica
de este detalle. Sin queremos que no aparezca el termino del error podemos usar el
comando
Normal[Series[Cos[x], {x,0,10}]]
x2 x4 x6 x8 x10
1 + +
2 24 720 40320 3628800
Para realizar la animaci
on que nos muestre la forma en que los polinomios de
Taylor aproximan a la funci
on en un entrono del origen, definiremos una funcion que
calcule los polinomios de Taylor en el origen:
Table[scos[n_,x_]= Normal[Series[Cos[x],{x,0,n},{n,0,100,2}];
Fjate que, como las derivadas de orden impar de la funcion coseno son nulas en el
origen, 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 los
100 primeros:
scos[10,x]
x2 x4 x6 x8 x10
1 + +
2 24 720 40320 3628800
scos[12,x]
x2 x4 x6 x8 x10 x12
1 + + +
2 24 720 40320 3628800 479001600
Ahora podemos definir una funcion que realice pero no muestre en pantalla el grafico
del coseno junto con el de scos[n,x] en un intervalo [a, b]:
68
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]
2
1.5
1
0.5
-6 -4 -2 2 4 6
-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[20,-2Pi,2Pi]
Una vez tengas todos los cuadros de la animacion, puedes activarla seleccionando uno
cualquiera de ellos y haciendo doble click. Puedes controlar la velocidad utilizando
los botones que habran aparecido en la esquina inferior izquierda de la pantalla.
(2) Deduce, a partir de los resultados obtenidos en (1), la serie de Taylor T (f, 0)
de f en el origen.
(4) Realiza una animacion para visualizar que T (f, 0) representa a f en el inter-
valo de convergencia.
69
(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 en
x = 1?, y en x = 1?
Soluci
on. (1)
Normal[Series[Log[1 + x], {x, 0,10}]]
x2 x3 x4 x5 x6 x7 x8 x9 x10
x + + + +
2 3 4 5 6 7 8 9 10
La animaci
on la realizamos siguiendo los pasos del ejemplo anterior. Primero
definimos una funci
on 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 continuaci
on, extraemos de la tabla el polinomio de Taylor que deseemos entre
los 100 primeros:
slog[10,x]
x2 x3 x4 x5 x6 x7 x8 x9 x10
x + + + +
2 3 4 5 6 7 8 9 10
que nos proporciona el mismo resultado que en el apartado (1).
70
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]}]
grafl[10,-1,1]
2
1.5
1
0.5
-1 -0.5 0.5 1
-0.5
-1
-1.5
-2
Ya sabemos que para obtener una animacion es necesario hacer todos los cuadros
de la animaci
on, como si se tratara de unos dibujos animados:
animalog[10,-1,1]
(1)n+1 xn
(5) Estudiamos la serie
P
n=1 en el punto x = 1. Primero calcula-
n
mos su termino general sustituyendo la x por 1:
Expand[(-1)^(n+1) (-1)^n/n]
(1)1+2n
n
a[n_]:= %
71
Se trata de una serie alternada. Aplicaremos el criterio de Leibniz para estudiar su
convergencia:
b[n_]:=Abs[a[n]]
Limit[b[n],{n,0,Infinity}]
True
P (1)n+1 xn
Por tanto la serie n=1 en el punto x = 1 es convergente. Obvia-
n
mente no representa a la funci on f (x) = log 1 + x en x = 1 porque la funcion no
esta definida en ese punto (por que?).
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 para
estudiar su convergencia:
d[n_]:=Abs[c[n]]
Limit[d[n],{n,0,Infinity}]
True
(1)1+n
Por tanto, la serie
P
n=1 es convergente. Como la funcion f (x) = log(1 + x)
n
es continua en el punto x = 1, el teorema de Abel nos dice que
X (1)1+n
log 2 =
n
n=1
72
Sum[(-1)^(1+n)/n,{n,1,Infinity}]
Log[2]
Ejercicio 6.2. (1) Definir una funci on que calcule los polinomios de Taylor de la
funcion f (x) = sen(x) y utilizarla para realizar una animacion que muestre
c
omo se aproximan a f .
on f (x) = ex . Calcular su
(2) Calcular la serie de Taylor en el origen de la funci
radio de convergencia y realizar una animacion para visualizar c
omo aproxima
la serie de Taylor a la funci
on.
73
Pr
actica 7
x2 + 8
y0 = .
(x2 5x + 6)y 2 cos y
74
En este caso, vamos a obtener una familia 1-parametrica de soluciones con el
comando DSolve:
ecdif1 = y '@xD Hx ^ 2 + 8L HHx ^ 2 - 5 x + 6L y@xD ^ 2 Cos@y@xDDL
I8 + x2 M Sec@y@xDD
y @xD ==
I6 - 5 x + x2 M y@xD2
DSolve@ecdif1, y@xD, xD
H-2 + xL12
F - 2 Sin@y@xDD + 2 Cos@y@xDD y@xD + Sin@y@xDD y@xD2 == C@1D, 8y@xD<F
H-3 + xL17
SolveB-x + LogB
Esta soluci
on implcita se puede obtener tambien con la siguiente secuencia de
calculos, 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
s2 = Integrate@rhs, xD
x + 17 Log@-3 + xD - 12 Log@-2 + xD
solucion = s1 - s2 == c
x2
y0 =
9 x2 ey cos y
con la condici
on inicial y(0) = 0.
y @xD ==
-y@xD x2 Sec@y@xDD
9 - x2
+ Log@3D , 8y@xD<F
9
- -
2 2 2
75
Observese que el mensaje tiene que ver con el hecho de que Mathematica no puede
despejar explcitamente y, esto es, que se obtiene una solucion implcita. Ademas,
aparecen cantidades complejas, de manera que la expresion final no es ciertamente
muy manejable. Por ello, a continuacion procedemos paso a paso, tal como haramos
con lapiz y papel al tratar de resolver una ecuacion de variables separables. Fijemonos
en que al introducir la condici on inicial podemos calcular el valor de la constante
arbitraria, pero que, efectivamente, obtenemos una solucion implcita. No obstante,
dicha soluci on tambien se puede representar graficamente con relativa facilidad con
el comando ImplicitPlot, cargando previamente el paquete correspondiente.
In[2]:= s1 = Integrate@lhs, yD
1
Out[2]= y HCos@yD + Sin@yDL
2
In[3]:= s2 = Integrate@rhs, xD
1 9 x
Out[3]= - x 9 - x2 + ArcSinB F
2 2 3
In[4]:= sol = s1 s2 + c
1 1 9 x
Out[4]= y HCos@yD + Sin@yDL c - x 9 - x2 + ArcSinB F
2 2 2 3
1
Out[5]= ::c >>
2
1 1 1 9 x
Out[6]= y HCos@yD + Sin@yDL - x 9 - x2 + ArcSinB F
2 2 2 2 3
76
3
-3 -2 -1 1 2
Out[8]=
-1
-2
-3
-4
Ecuaciones exactas
Ejemplo 7.3. Obten la soluci
on general de la ecuaci
on
77
Finalmente, representamos gr aficamente en el dominio [, ] [, ] algu-
nas de las soluciones obtenidas, considerando diferentes valores del parametro c
[10, 10]. Para ello utilizamos el comando ContourPlot.
True
x y - x + Sin@x yD
x y x + x Cos@x yD + g @yD
x y - x + y + Sin@x yD == c
-1
-2
-3
-3 -2 -1 0 1 2 3
78
Ecuaciones lineales
Ejemplo 7.4. Obten la soluci
on general de la ecuaci
on
xy 0 + 3y = x sin x.
::y@xD >>
C@1D 6 x Cos@xD - x3 Cos@xD - 6 Sin@xD + 3 x2 Sin@xD
+
x3 x3
yy@c_D = Hy@xD . sol@@1DDL . C@1D c
1 2 3 4 5 6
-1
-2
-3
79
de forma sencilla elaborar una gr afica con las soluciones para diferentes valores de
las constantes arbitrarias, tal como se pone de manifiesto a continuacion.
yy = y@xD . solu1@@1DD;
tograph = Table@yy . 8C@1D i, C@2D j<, 8i, -5, 5, 5<, 8j, -4, 4, 2<D Flatten;
10
-10
-20
e4x
y 00 4y = .
x3
80
sola = DSolve@y ''@xD - 4 y@xD E ^ H-4 xL x ^ 3, y@xD, xD
15
10
-5
-10
-15
-x x Sin@xD
Out[11]= + -
x x 2x
15
10
1 2 3 4
81
Ejemplo 7.8. Resuelve
1
2y 00 + 5y 0 + 5y = 0, y(0) = 0, y 0 (0) = .
2
F
15 x
2 -5 x4 SinB
::y@xD >>
4
15
0.1
1 2 3
-0.1
-0.2
-0.3
x0 = 5x + 2y
y 0 = 2x + 2y
Como se resolvera este problema con lapiz y papel? Si usamos metodos matri-
ciales, empezaramos escribiendo la matriz de coeficientes y calculando sus valores
propios y sus correspondientes subespacios propios. Despues, y dependiendo de la
multiplicidad de los valores propios y la dimension de los subespacios propios, es-
cribiramos dos soluciones linealmente independientes, con las cuales formaramos
una matriz fundamental del sistema. Naturalmente, esas soluciones independientes
dependeran de si los valores propios son reales o complejos. En Mathematica, este
82
proceso se lleva a cabo autom
aticamente 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
F
7 t
4 7 t2 C@2D SinB
::x@tD F+3 F ,
2 1 7 t 7 t
Out[2]= + 7 t2 C@1D 7 CosB 7 SinB
7 7 2 2
F
7 t
4 7 t2 C@1D SinB
F-3 F >>
2 1 7 t 7 t
y@tD - + 7 t2 C@2D 7 CosB 7 SinB
7 7 2 2
La soluci
on general para x(t) se obtiene con sol[[1,1,2]], mientras que y(t) se
obtiene con sol[[1,2,2]]:
In[3]:= x@t_D = sol@@1, 1, 2DD
F
7 t
4 7 t2 C@2D SinB
F+3 F
2 1 7 t 7 t
Out[3]= + 7 t2 C@1D 7 CosB 7 SinB
7 7 2 2
F
7 t
4 7 t2 C@1D SinB
F-3 F
2 1 7 t 7 t
Out[4]= - + 7 t2 C@2D 7 CosB 7 SinB
7 7 2 2
A continuaci
on vamos a representar graficamente la solucion para varios valores
de C[1] y C[2] creando primero una tabla de {x[t],y[t]} con C[1] remplazado por
i y C[2] remplazado por j, para i, j = 6, 4, 2, 0, 2, 4, 6. A dicha tabla la llamamos
funarray. Para convertir funarray en una lista de funciones preparada para ser
representadas con ParametricPlot, se usa Flatten para quitar los parentesis de
funarray. 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;
83
1.0
0.5
-0.5
-1.0
Para determinar la direcci on asociada con cada solucion, se hace uso del pa-
quete PlotField dentro de Graphics (hasta la version 5.2 de Mathematica) o
VectorFieldPlots (versi on 6), el cual permite dibujar facilmente el campo de di-
recciones asociado al sistema.
Observese que en un sistema de ecuaciones con dos variables, x0 = X(x, y),
y 0 = Y (x, y), cada soluci
on ha de satisfacer la relacion
dy dy/dt Y (x, y)
= = f (x, y). (7.1)
dx dx/dt X(x, y)
In[10]:= graphdos = VectorFieldPlot@85 x + 2 y, -2 x + 2 y<, 8x, -1, 1<, 8y, -1, 1<D
84
Representando simult
aneamente la familia de soluciones con el campo de direc-
ciones precedente, vemos que cada solucion esta dirigida hacia afuera del origen
conforme se incrementa t.
In[11]:= Show@graphuno, graphdosD
1.0
0.5
-0.5
-1.0
85
7.2. Metodos num ericos para la resoluci
on de ecuacio-
nes diferenciales
Si bien las tecnicas analticas vistas en las clases de teora y en la seccion pre-
cedente resultan u tiles para analizar diversos modelos matematicos, lo cierto es que
la mayora de las ecuaciones diferenciales que se encuentran en las aplicaciones no
se pueden resolver ni explcita no implcitamente. Por ello, es necesario recurrir a
metodos numericos para obtener una aproximacion de la solucion de un problema
de valor inicial. Aqu analizaremos, como casos particulares suficientemente ilustra-
tivos y a la vez sencillos, el metodo de Euler y el metodo de RungeKutta de cuarto
orden.
Dado el problema de valor inicial
y 0 = f (x, y), a x b, y(x0 ) = y0 ,
el cual se supone que admite soluci nica y(x) de clase C2 en [a, b], se plantea
on u
la obtencion de una secuencia de valores aproximados y0 , y1 , . . . , yk , . . . de dicha
solucion en un conjunto de puntos x0 < x1 < < xk < . Si consideramos estos
puntos 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 tama
no de paso.
Empecemos escribiendo el desarrollo en serie de Taylor de y alrededor de x0 :
1 00
y(x) = y(x0 ) + y 0 (x0 )(x x0 ) + y (x0 )(x x0 )2 + .
2!
Como conocemos el valor de y en el punto inicial x = x0 , usamos este valor para
aproximar 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
1 00
y(x0 + h) = y(x0 ) + y 0 (x0 )h + y (x0 )h2 + .
2!
Sustituyendo y 0 = f (x, y) en este desarrollo, usando y(x0 ) = y0 y llamando a y(x0 +
h) = y1 , tenemos
1 df
y1 = y(x0 ) + f (x0 , y0 )h + (x0 , y0 )h2 +
2! dx
1 df
= y0 + f (x0 , y0 )h + (x0 , y0 )h2 +
2! dx
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 de
orden h2 y m as altos. En otras palabras, determinamos y1 como
y1 = y0 + f (x0 , y0 )h.
A continuaci
on 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
y en general tendremos el m
etodo de Euler (explcito) en la forma
yn+1 = yn + hf (xn , yn ), n = 0, 1, 2, . . .
de donde resulta clara la conexi on con los campos direccionales: uniendo los puntos
del plano (xi , yi ) por medio de una poligonal podemos representar graficamente la
aproximaci on a la soluci
on y(x) en el intervalo [a, b].
El metodo de Euler tambien puede ser deducido integrando la ecuacion diferencial
de partida entre xn y xn+1 ,
Z xn+1
y(xn+1 ) = y(xn ) + f (x, y(x))dx
xn
y reemplazando f (x, y(x)) por su valor aproximado f (x, yn ) en el extremo inferior del
intervalo de integraci
on. Como ya se vio en la practica 5, son posibles aproximaciones
mas precisas para esta integral. As, se puede sustituir el integrando por el valor
promedio de sus valores en los puntos extremos, con lo cual se tiene el esquema
1
yn+1 = yn + h[f (xn , yn ) + f (xn+1 , yn+1 )],
2
o bien
1
yn+1 = yn + h[f (xn , yn ) + f (xn+1 , yn + hf (xn , yn ))],
2
llamado m etodo de Euler mejorado (el cual se reduce a la regla del trapecio si
f solo depende de x y no de y).
Una forma sistem atica de obtener metodos mas efectivos que el de Euler consiste
simplemente en aplicar el teorema de Taylor a ordenes mas altos en h. El metodo
resultante tiene la propiedad deseable de un error de truncamiento local de orden
tan alto como se desee, pero la desventaja de requerir el calculo y la evaluacion de las
derivadas sucesivas de la funcion f , lo cual puede ser un procedimiento muy costoso
para gran cantidad de problemas. Para subsanar esta dificultad se introducen los
m etodos de RungeKutta, los cuales poseen un error de truncamiento local del
mismo 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 considerado
un metodo de RungeKutta de segundo orden. Otro metodo del mismo orden viene
dado por
yn+1 = yn + h[f (xn + h/2, yn + (h/2)f (xn , yn ))],
llamado m etodo del punto medio.
Uno de los metodos de RungeKutta mas populares es el de orden 4 dado por el
siguiente esquema recursivo:
xn+1 = xn + h
1
yn+1 = yn + (k1 + 2k2 + 2k3 + k4 ) ,
6
87
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 ) .
7.2.1. Resoluci
on num
erica con Mathematica
Mathematica puede resolver numericamente el problema de valor inicial definido
por una ecuaci
on diferencial por medio de la funcion intrnseca NDSolve. La sintaxis
de NDSolve es casi identica a la de DSolve:
A continuaci
on ilustramos su uso aplicandolo al problema
x
y0 = , y(0) = 1
(y + x)2
r1=NDSolve[{y[x]==x/(y[x]+x)^2, y[0]==1},y[x],{x,0,10}]
La funci
on 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 especficos de x entre
xmin y xmax, y despues usa InterpolatingFunction para interpolar entre estos
valores de x.
La soluci
on aproximada obtenida se puede extraer y representar graficamente:
Ahora viene una cuesti on importante: como podemos saber que la respuesta
proporcionada por NDSolve es correcta? Una forma obvia es sustituir la solucion en
la ecuacion diferencial y ver si esta se verifica. Esto se puede hacer de la siguiente
forma:
88
-6
7.510
-6
510
-6
2.510
2 4 6 8 10
-6
-2.510
-6
-510
-6
-7.510
Ejemplo 7.10. Usa el metodo de Euler para aproximar la soluci on del siguiente
problema de valor inicial:
dy
= xy, y(0) = 1
dx
para h = 0,1. Determina tambien la soluci
on exacta y compara los resultados.
Soluci
on. Empezamos definiendo la funcion f (x, y) = xy y la condicion inicial.
Tambien se da la f
ormula recursiva para x e y. Observese que, debido a la manera
como 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 esta
formula recursiva as:
89
euler = Table[ {x[i-1],ytabla[[i]]}, {i,1,Length[ytabla]}];
Notese que el ndice de x ha de ser uno mas peque no que el de y, ya que ytabla[[i]]
representa el elemento i-esimo de la lista, mientras que x[i] sustituye i en la formula
que determina x. Estos puntos se pueden representar graficamente con ListPlot,
de manera que la aproximaci on se puede comparar con la solucion exacta, que en
este caso es
2
y(x) = ex /2 .
La solucion aproximada obtenida con el metodo de Euler y la solucion exacta se
dibujan as:
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)}
]
f[x_, y_] = x y;
h = 0.1;
NestList[funcion, expresion, n]
Mathematica, en este caso, devuelve una lista de los resultados de aplicar funcion
sobre expresion desde 0 hasta n .
90
1.6
1.5
1.4
1.3
1.2
1.1
91
A continuaci
on 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;
La soluci
on se da en forma de tabla:
In[16]:= solaprox = Table@8t@iD, xrk@iD, yrk@iD<, 8i, 0, 10<D
In[22]:= TableForm@comparexrkD
Out[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
92
ecuaciones de primer orden escribiendo x0 = y, y 0 = x00 = sin x.
In[23]:= Clear@f, g, h, xrk, yrk, tD
plot2 =
ParametricPlot@8Cos@xD, Sin@xD<, 8x, 0, 2 Pi<, AspectRatio 1, DisplayFunction IdentityD;
In[33]:=
0.5
-0.5
-1.0
7.3. Ejercicios
Ejercicio 7.1. Utiliza los algoritmos vistos en esta secci
on con tamano de paso
h = 0,1 para obtener una aproximaci on del problema de valor inicial dado en el
intervalo especificado:
Ejercicio 7.2. Compara los resultados obtenidos en el apartado anterior para cada
uno de los metodos. Representa gr
aficamente cada una de las aproximaciones y com-
93
paralas con la soluci
on del problema de valor inicial dado (si es que se puede calcular
la solucion).
x0 = 2x
2. , con la condici
on inicial x(0) = 1, y(0) = 1.
y 0 = 3x + 2y
x0 = x + 4y
3.
y 0 = 2x y
Ejercicio 7.6. Usa el metodo de RungeKutta de orden 4 para aproximar la soluci
on
del problema de valor inicial definido por
x0 = x y + 1
y 0 = x + 3y + et
y x(0) = 0, y(0) = 1, con h = 0,1. Compara estos resultados con los de la soluci
on
exacta del sistema.
94
Pr
actica 8
3f 3f 3f
(x, y, z), y .
x3 x2 y xyx
b) El valor de:
3f 3f 3f
(0, 0, 1), (1, 1, 1) y (1, 1, 1).
x3 x2 y xyx
Soluci
on. En primer lugar definimos f :
f!x_, y_, z_" :! x ^ 2 Sin! x" Cos!y ^ 2" # $x # z%
A continuaci
on obtenemos las derivadas pedidas en el apartado (a). Utilizamos
el comando FullSimplify para obtener expresiones sencillas:
95
D!f!x, y, z", #x, 3$"
# 2x (
% ########x############ $ ########
3 2 %! #### *
* Cos!y2 " Sin! x"
$ &x $ z'2 x$z )
2
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
! ################################
################################
################################
################################
################################
################################
################
################
#######
3 Sin!1"
3 Sin!1"
f (x, y) y
Ejercicio 8.1. Si sabemos que sin = , obtener:
x4 y 2 x
2f 1 f f
(1, ), y x (x, y) + y (x, y) 6f (x, y).
xy 2 x y
Soluci
on. El plano tangente a la grafica de f (x, y) en el punto (1, 2) tiene como
ecuacion:
f f
z= (1, 2)(x 1) + (1, 2)(y 2) + f (1, 2).
x y
Para obtener la gr
afica de f y la del plano tangente, dibujamos ambas graficas con
el comando Plot3D. Podemos tambien situar el punto (1, 2) sobre la grafica para
centrar nuestra atenci
on (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
20
0 4
-20 2
-40
-4 0
-2
0 -2
2
4 -4
x2 y 2
Ejercicio 8.2. Consideramos la funci
on f (x, y) = xy .
x2 + y 2
a) Utilizar el comando Plot3D para obtener la gr
afica de f . Situar sobre la
gr
afica los puntos (0, 0) y (2, 1).
b) Dibujar la gr
afica de f junto con su plano tangente en el punto (2, 1).
f f 2f
d) Obtener utilizando los lmites pertinentes (0, 0), (0, 0), (0, 0) y
x y xy
2f
(0, 0).
yx
e) Admite la gr
afica de f plano tangente en (0, 0)?
97
2f
Un mnimo relativo si, Hf (a, b) > 0 y x2
(a, b) > 0.
2f
Un m
aximo relativo si Hf (a, b) > 0 y x2
(a, b) < 0.
Es necesario observar que el criterio no ofrece informacion alguna cuando Hf ((a, b)) =
0.
Ejemplo 8.3. Clasificar en m aximos, mnimos y puntos de silla los puntos crticos
on: f (x, y) = xy(1 x2 y 2 ).
de la funci
Soluci
on. En primer lugar obtenemos los puntos crticos. Para ello, podemos definir
un 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 funci on gradiente que luego podamos utilizar repetidas
veces. La funci
on que sigue define la funcion gradiente de cualquier funcion g con n
variables 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 u nicamente 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 crticos. De nuevo
podemos definir una funci on que nos permita obtener los puntos crticos de cualquier
funcion 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 lneas 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 crti-
cos:
Crit!f!x!1", x!2"", 2"
!"x#1$ ! "1, x#2$ ! 0%, !x#1$ ! " #### , x#2$ ! " #### &, !x#1$ ! " #### , x#2$ ! #### &,
1 1 1 1
"x#1$ ! 0, x#2$ ! 0%, !x#1$ ! #### , x#2$ ! " #### &, !x#1$ ! #### , x#2$ ! #### &,
2 2 2 2
1 1 1 1
"x#1$ ! 1, x#2$ ! 0%, "x#2$ ! "1, x#1$ ! 0%, "x#2$ ! 1, x#1$ ! 0%&
2 2 2 2
Una vez sabido que los puntos crticos son (0, 0), (1, 0), (1/2, 1/2) (siete en
total) se trata de definir la matriz hessiana para poder distinguir los maximos de los
mnimos y de los puntos de silla.
El comando que sigue define la matriz hessiana:
98
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 definiendo
listHess!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
en cada punto crtico. El resultado final es que (1/2, 1/2) y (1/2, 1/2) son
x2
mnimos locales y que los puntos (1/2, 1/2) y (1/2, 1/2) son maximos locales. El
resto de puntos crticos son puntos de silla.
Se muestra finalmente la grafica de f con un maximo, un mnimo y un punto de
silla marcados sobre ella.
0.2
0.1
Z
0.5
0
-0.1
-0.2
-1 0
Y
-0.5
X 0.5
-0.5
a) Definir una funci on de una variable con un u nico m aximo local y ning
un
otro punto crtico. Es este punto un m aximo absoluto? Podemos encontrar
alguna funci
on de una variable con u nico punto crtico que sea m
aximo local
y que no sea m aximo absoluto?
2
on f (x, y) = ey 2x3 3x2 + 1 + ey 2x3 3x2
b) Comprobar que la funci
tiene un u
nico punto crtico y que este es un m
aximo.
c) Es el punto obtenido un m
aximo absoluto de f (x, y)?
99
FindMaximum[x2 + y 2 , {x, 1}, {y, 2}] localiza r
apidamente el m
aximo.
Aunque existen metodos para diferenciar cuales de los puntos crticos obtenidos
son maximos, cuales son mnimos y cuales son puntos de silla, nos conformaremos
aqu con dar una lista de todos los puntos crticos y determinar cuales son los puntos
maximo y mnimo absoluto a partir del valor de la funcion f en cada punto crtico.
Ejercicio 8.6. La temperatura de cada punto (x, y, z) de una caja viene dada por
la funcion T (x, y, z) = 20 + 2x + 2y + z 2 . Cu al ser
a el punto m as caliente en el
crculo que aparece al cortar la esfera x2 + y 2 + z 2 = 11 con el plano x + y + z = 3?
100
Ap
endice A
Sistemas de ecuaciones
diferenciales no lineales
x0 = f (t, x)
x0 = f (x), x Rn .
x0 = f (t, x)
t0 = 1.
De esta manera podemos hacer el estudio para sistemas autonomos y extenderlo a los
no autonomos. Centramos dicho estudio en los sistemas de dos ecuaciones llamados
sistemas planos aut onomos
0
x = f (x, y)
(A.1)
y 0 = g(x, y).
101
A.1. Estudio geom
etrico: campos de direcciones
Un campo vectorial de un sistema de ecuaciones diferenciales
x0 = f (x)
El n
umero de encuentros entre depredador y presa es proporcional al producto
de sus poblaciones. Cada encuentro promueve el crecimiento de los depreda-
dores e inhibe el crecimiento de las presas. Por tanto, la tasa de crecimiento
del depredador se incrementa por un termino de la forma xy, mientras que la
tasa del crecimiento de la presa disminuye mediante un termino xy, donde
y son constantes positivas.
102
Como consecuencia, se obtiene el siguiente sistema de ecuaciones diferenciales,
dx = ax xy
= x(a y)
dt (A.2)
dy
= cy + xy = y(c + x)
dt
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. Estas
ecuaciones se conocen como ecuaciones de LotkaVolterra y caracterizan una
amplia clase de problemas.
Estudiemos el campo de direcciones para el sistema de LotkaVolterra donde
a = 2, = 1, c = 3 y = 1,
dx = 2x xy
dt
(A.3)
dy
= 3y + xy.
dt
En primer lugar, cargamos el paquete que dibuja los campos de direcciones,
15
10
5 10 15
103
Los campos de direcciones nos dan una idea de la forma geometrica de las curvas
solucion dadas en su forma parametrica (x(t), y(t)).
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
104
Ejemplo 2. La ecuaci on de van der Pol
Esta ecuaci
on describe el comportamiento de circuitos electricos no lineales como
los que fueron usados en los primeros aparatos de radio. Fue introducida por Lord
Rayleigh en 1883 y B. van der Pol en 1926 la estudio mas exhaustivamente como
modelo del voltaje en un circuito electrico. Pero esta ecuacion tambien modeliza
otros tipos de fenomenos fsicos. Por ejemplo, justo dos a nos despues del artculo
de van der Pol, el mismo junto con J. van der Mark propuso esta ecuacion como
modelo para los latidos del coraz on.
Este tipo de circuito se usaba en los das de los tubos de vaco. Los tubos act
uan
como una resistencia normal cuando la corriente es elevada, y como una resistencia
negativa cuando la corriente es baja. Por tanto un circuito de este tipo favorece osci-
laciones pequenas y amortigua las grandes oscilaciones (oscilaciones de relajaci on).
La ecuacion que describe este sistema es:
d2 x dx
2
+ (x2 1) +x=0
dt dt
siendo es un par ametro que mide la no linealidad del sistema. Para = 0, el
sistema es un oscilador lineal.
Convertimos la ecuacion de orden dos en un sistema plano,
x = y
(A.6)
y = x (x2 1)y.
En el estudio cualitativo lo que dibujamos no son las soluciones en funcion del tiempo
x(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. Un
punto (x0 , y0 ) es un punto de equilibrio del sistema si cumple
105
Por ejemplo, dado
x0 = 2x y
y 0 = x + 3y
para hallar los puntos de equilibrio hemos de resolver el sistema
2x y = 0
x + 3y = 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
106
pasar una soluci on. Luego, una solucion que pasa por un punto de equilibrio es una
solucion 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 en
el plano xy que denominaremos trayectoria del sistema. Distinguimos entre solu-
ciones del sistema y trayectorias, ambos terminos no son sinonimos. Por una parte,
una soluci on del sistema (A.7) es un par ordenado de funciones (x(t), y(t)) tales
que satisfacen simult aneamente 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 m as de una solucion delsistema. Mas adelante veremos la
diferencia 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 de
trayectorias 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 m as en este tema ya que nos extenderamos demasiado veamos como
obtener el retrato de fase mediante Mathematica.
Resolvemos el sistema
60x 3x2 4xy = 0
42y 3y 2 2xy = 0,
y obtenemos: (0, 0), (0, 14), (12, 6) y (20, 0). Dado que x(t) indica el n
umero de zorros
y y(t) el n
umero de conejos respectivamente, y si ambas poblaciones son constantes se
deduce que las ecuaciones permiten solamente tres posibilidades no triviales: no hay
zorros y hay 14 conejos, o son 20 zorros y ning un conejo, o 12 zorros y 6 conejos. En
particular, el punto crtico (12, 6) describe la unica posibilidad para la coexistencia
de poblaciones constantes no nulas de ambas especies. Estudiamos la linearizacion
de este caso.
107
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 = 99x f@x, yD, y f@x, yD=, 9x g@x, yD, y g@x, yD==
. 8x 12, y 6<
In[24]:= MatrixForm@matlinD
Out[24]//MatrixForm=
-36 -48
-12 -18
A continuaci
on calculamos los valores propios de la matriz obtenida utilizando
el comando Eigenvalues.
In[26]:= Eigenvalues@matlinD N
Como los valores propios son no nulos, distintos y negativos, el punto de equilibrio
es un nodo estable. La poblaci on de zorros y conejos tendera con el tiempo a este
punto. 2
Cuando consideramos sistemas lineales como por ejemplo
0
x = 5x + 3y 4
y 0 = 4x 3y + 2.
Los 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 comando
DSolve, 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
108
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 daremos
valores a estos par
ametros. La tabla de funciones solucion viene dada con parentesis
que agrupan las funciones seg un los valores de los parametros, con el fin de que las
asignaciones sean m as f
aciles de hacer quitamos los parentesis usando Flatten.
tabsol = Table@8x@tD, y@tD< . sol@@1DD . 8C@1D a,
C@2D b<, 8a, -4, 4<, 8b, -3, 3<D;
In[31]:=
ParametricPlot nos permite dibujar las funciones de la tabla para valores del tiem-
po 2 t 2.
grafica = ParametricPlot@Evaluate@tabgrafD, 8t, -2, 2<,
PlotRange 88-2, 4<, 8-4, 2<<D
In[34]:=
-2 -1 1 2 3 4
Out[34]= -1
-2
-3
-4
109
2
-2 -1 1 2 3 4
Out[39]= -1
-2
-3
-4
y superponemos ambos gr
aficos,
In[17]:= Show@grafica, campdirD
-2 -1 1 2 3 4
Out[17]= -1
-2
-3
-4
Un estudio similar se puede hacer para los sistemas no lineales aunque no obten-
gamos las soluciones analticas utilizando el teorema siguiente.
110
neales aparece en la tabla siguiente.
111
grafsol = Plot@Evaluate@8x@tD, y@tD< . solD, 8t, 0, 10<,
PlotStyle 8Red, Blue<, PlotRange 880, 10<, 80, 10<<,
In[11]:=
Out[11]=
0 t
0 2 4 6 8 10
En la figura siguiente tenemos las graficas de las soluciones x(t) y y(t) sobre el
mismo sistema de ejes; x(t) que corresponde a la poblacion de presas (aparece por
debajo de la otra) y y(t) corresponde a la poblacion de depredadores. Esta informa-
cion no es tan f
acil de ver si las dibujamos en distintos ejes. Notamos que ambas son
funciones peri odicas en t, esto explica las fluctuaciones que se observan experimen-
talmente en las poblaciones depredador-presa. Para esta solucion particular vemos
que los incrementos en la poblaci on depredador estan retardados respecto de los
aumentos en la poblaci on presa y que la poblacion depredador contin ua creciendo
por un corto tiempo despues que la poblacion presa comienza a declinar. Tal vez
la observaci on mas importante que podemos hacer sobre esta grafica es que ambas
poblaciones parecen repetirse con el mismo periodo aunque con cierto desfase.
Observamos que tenemos una gr afica para cada una de las soluciones con variable
independiente t pero tendremos m as informacion sobre el comportamiento dinamico
del sistema mediante de la relaci on 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 punto
en el plano xy para un valor fijo de t. Conforme vara t, el par (x(t), y(t)) dibuja una
curva en el plano de fase xy. Las coordenadas de cada punto sobre la curva son las
poblaciones presa y depredador en el tiempo t y el punto inicial (x0 , y0 ). Para cada
condicion inicial tenemos una trayectoria en el plano de fase y el conjunto de todas
las trayectorias sobre el mismo plano xy conforma el retrato de fase. Para dibujar
las trayectorias utilizaremos la funci on ParametricPlot.
La trayectoria es una curva cerrada simple. Si seguimos la trayectoria, comenzan-
do en un punto en que la poblaci on de la presa es maxima, vemos que x disminuye y
112
y aumenta hasta que la poblaci on depredadora y es maxima. Despues ambas dismi-
nuyen hasta que x es mnima. 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 como
y(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 u
ltimas pocas presas sean devoradas, resultando su
Out[17]=
0 x
0 2 4 6 8 10
Podemos mostrar los dos gr
aficos juntos con la opcion GraphicsArray.
113
In[18]:= Show@GraphicsArray@8grafsol, fase1<DD
x HtL,yHtL y
10 10
8 8
6 6
Out[18]=
4 4
2 2
0 t 0 x
0 2 4 6 8 10 0 2 4 6 8 10
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 xy
(A.11)
y = 3y + xy; x(0) = 3s, y(0) = 2s
114
In[7]:= retfase = Show@graf, PlotRange All, DisplayFunction $DisplayFunctionD
10
6
Out[7]=
2 4 6 8 10 12
14
12
10
8
Out[23]=
2 4 6 8 10 12 14
115
y(t) disminuye, lo que lleva a un aumento en la poblacion de x(t). Como el n umero
de depredadores se hace demasiado peque no para controlar la poblacion de x(t), esta
aumenta y se repite el ciclo. En este caso diremos que las soluciones son peri odicas.
En el ejemplo descrito los valores de la condicion inicial estaban relacionados por
el mismo par ametro s. Si queremos hacer un estudio del retrato de fases tomando
valores cualesquiera s
olo tenemos que modificar un poco el proceso anterior.
Y por u
ltimo el retrato de fases cuya sentencia no difiere en nada de la anterior,
3
Out[27]=
1 2 3 4 5 6 7
116
A.3. Ejercicios
Ejercicio A.3. Estudia la estabilidad del punto crtico (0, 0) del sistema
0
x = x xy 2
y 0 = y x2 y.
es inestable.
Ejercicio A.5. Haz un estudio similar para el ejercicioemplo del oscilador arm
onico
dx
dt = v
dv
= x.
dt
para diversos valores de la condici
on inicial x(0) = a, y(0) = b.
x = 4x + 2y + 2x2 3y 2
y = 4x 3y + 7xy.
117
El efecto P-Delta es muy peque no cuando y es peque na, mucho m as aun que la
fuerza restauradora. cuando y crece, el efecto P-Delta se vuelve muy grande. Como
un primer modelo, podemos suponer que la fuerza proporcionada por el efecto P-
Delta es proporcional a y 3 . Agregar esta fuerza equivale a aumentar un termino a
la expresi
on para la aceleracion de y, es decir, anadir un termino proporcional a
y 3 al lado derecho de la ED de segundo orden. Para estudiar el comportamiento
cualitativo de las soluciones, suponemos que el coeficiente del termino y 3 es 1. Por
tanto, nuestro nuevo modelo es
d2 y dy 3
2 + 0,2 dt + 0,25y = y .
dt
Estudia el comportamiento del sistema.
118
Bibliografa
[2] M. L. Abell, J.P. Braselton, Mathematica by Example, 4th Ed., Academic Press,
2008.
[3] R. Barrio, C. L
opez, E. Martnez, C
alculo Vectorial. Pr
acticas con Mathematica
y Maple, Prensas Universitarias de Zaragoza, 1997.
[6] D. Dubin, Numerical and Analytical Methods for Scientists and Engineers Using
Mathematica, John Wiley & Sons, 2003.
[7] J. Glynn, T.W. Gray, The Beginners Guide to Mathematica Version 4, Cam-
bridge University Press, 2000.
[9] H.F. H
oft, M.H. H
oft, Computing with Mathematica, 2nd. Ed., Academic Press,
2003.
[12] J.L. Malaina, A.I. Martn, Fundamentos Matem aticos con Mathematica, Servi-
cio Editorial de la Universidad del Pas Vasco, 1997.
119
[16] J.M. Sanz Serna, Diez lecciones de c
alculo numerico, Universidad de Valladolid,
1998.
[20] S. Wolfram, The Mathematica Book, Fifth Edition, Wolfram Media, Inc., 2003.
120