Sei sulla pagina 1di 62

Pr´acticas de M´etodos Num´ericos con Octave para Grados en Ingenier´ıa

Isaac A. Garc´ıa

Seminari de Sistemes Dinamics` Departament de Matematica` Universitat de Lleida

2

´

Indice general

1. Introducci´on a la Programaci´on en Octave

 

1

1.1. Velocidad del Sonido en el Aire en Funci´on de la Temperatura

 

1

1.2. Ecuaci´on de Segundo Grado

 

.

.

.

.

.

.

.

1

1.3. M´etodo de Newton: C´alculo de Ra´ıces Cuadradas

 

2

1.4. Algoritmo de Arquimedes y el N´umero π

 

4

1.5. El problema 3x + 1 .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

5

2. Interpolaci´on Polinomial

 

7

2.1. Introducci´on

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

7

2.2. Realizaci´on de la pr´actica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

8

2.3. Fen´omeno Runge

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

8

2.4. Minimizaci´on del Error de Interpolaci´on

.

.

.

.

.

.

.

.

.

.

.

.

.

.

8

3. Integraci´on Num´erica

 

11

3.1. Introducci´on

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

11

3.2. La Capacidad Calor´ıfica de los S´olidos

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

11

3.3. Trabajo en un pist´on con gas de Dieterici

.

.

.

.

.

.

.

.

.

.

.

.

.

13

4. Ecuaciones Diferenciales Ordinarias

 

15

4.1. Introducci´on

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

15

4.2. Realizaci´on de la pr´actica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

15

4.3. Ciclos L´ımite

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

16

4.4. El Problema del Centro-Foco

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

18

4.5. El P´endulo de Wilberforce .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

20

4.6. El Modelo de Lorenz: Convecci´on de Fluidos

.

.

.

.

.

.

.

.

.

.

.

21

4.6.1. Las ecuaciones de Lorenz

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

22

4.6.2. Realizaci´on de la pr´actica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

23

4.7. Deflecci´on de vigas

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

24

4.8. La ecuaci´on de Duffing y el flujo en un transformador

.

.

.

.

.

.

25

5. Aproximaci´on de Soluciones de Ecuaciones no Lineales

 

27

5.1. Introducci´on

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

27

5.2. Ecuaciones de Estado de los Gases

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

27

5.2.1.

Ecuaci´on de Dieterici

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

28

 

i

ii

´

INDICE GENERAL

5.2.2. El M´odulo de elasticidad en la ecuaci´on de van der Waals 28

29

5.4. Relaciones entre el n´umero de Reynolds y el coeficiente de fricci´on 30

5.3. Equilibrio en sistema masa-muelle

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

6. Aproximaci´on de Funciones por M´ınimos Cuadrados

 

31

6.1. Introducci´on

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

31

6.2. Algunos problemas

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

32

6.3. Aproximaci´on Trigonom´etrica y Coeficientes de Fourier

.

.

.

.

.

32

6.3.1.

Ap´endice

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

33

7. Introducci´on a Octave

 

35

7.1. Introducci´on a Matlab–Octave

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

35

7.1.1. Algunas convenciones

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

35

7.1.2. Primeros c´alculos: funciones elementales

.

.

.

.

.

.

.

.

.

.

36

7.1.3. Matrices y vectores .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

37

7.1.4. Funciones

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

40

7.1.5. Gr´aficos

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

42

7.1.6. Generaci´on de n´umeros aleatorios

 

45

7.1.7. Polinomios

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

45

7.2. El Lenguaje de Programaci´on

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

46

7.2.1. Iteraciones y bucles

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

46

7.2.2. Condicionales y operadores l´ogicos

.

.

.

.

.

.

.

.

.

.

.

.

.

48

7.2.3. Errores

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

49

7.2.4. Comparando la eficiencia de algoritmos

.

.

.

.

.

.

.

.

.

.

50

7.3. M´etodos Num´ericos

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

51

7.3.1. Polinomio interpolador

 

.

.

.

.

.

.

.

.

.

.

.

51

7.3.2. Splines C´ubicos .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

52

7.3.3. Integraci´on Num´erica

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

53

7.3.4. Ecuaciones Diferenciales Ordinarias

.

.

.

.

.

.

.

.

.

.

.

.

53

7.3.5. Ra´ıces de Ecuaciones .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

55

7.3.6. Aproximaci´on Polinomial por M´ınimos Cuadrados

.

.

.

.

57

Cap´ıtulo 1

Introducci´on a la Programaci´on en Octave

La presente secci´on est´a dedicada a la confecci´on de peque¯nos programas en el lenguaje de programaci´on de Octave con el objetivo de iniciarse en sus peculiaridades.

1.1. Velocidad del Sonido en el Aire en Funci´on de la Temperatura

En esta pr´actica veremos un ejemplo de tabulaci´on de una funci´on cuando su variable independiente recorre un determinado intervalo. En concreto se sabe que, bajo ciertas hip´otesis, la velocidad del sonido en el aire en funci´on de la temperatura viene expresada por

v(T ) = 331 1 + 273 ,

T

(1.1)

donde la temperatura T est´a en C y la velocidad v en m/s. Realizar un c´odigo Octave para obtener una tabulaci´on de los pares (T, v) en el rango de temperaturas 20 C T 35 C con incrementos de 1 C.

1.2. Ecuaci´on de Segundo Grado

Consideremos la ecuaci´on de segundo grado

ax 2 + bx + c = 0 .

Sabemos que la naturaleza de las ra´ıces depende del valor del discriminante δ = b 2 4ac. En concreto tenemos

(i)

si δ > 0

=

1

dos ra´ıces reales y diferentes x ± = 2a b ± δ .

1

2

Introducci´on a la Programaci´on en Octave

(ii)

si

δ = 0

=

(iii)

si

δ < 0

=

x + = x = b

2a .

1

una unica´

ra´ız real doble

dos ra´ıces complejas conjugadas x ± = 2a b ± i δ .

El objetivo de esta pr´actica es realizar un programa para calcular la ra´ız real (si existe) de menor valor absoluto de una ecuaci´on de segundo grado.

Observar que la ra´ız real (δ 0) de menor valor absoluto es

x min =


1 2a b

1 2a b

+

δ δ

si

si

b < 0 b 0

Escribir un c´odigo Octave para calcular la ra´ız real de menor valor absoluto de una ecuaci´on de segundo grado.

1.3. M´etodo de Newton: C´alculo de Ra´ıces Cua- dradas

El siguiente procedimiento para calcular ra´ıces cuadradas, utilizado por Isaac Newton 1 , es un claro ejemplo de c´alculo iterativo. Se puede demostrar que la sucesi´on de n´umeros reales {x n } con n N definida de forma recurrente medi- ante

(1.2)

x n+1 = 1 2 x n +

a

x

n ,

n ,

converge hacia a, es decir l´ım n x n = a, si tomamos el valor inicial x 0 pr´oximo a la ra´ız cuadrada de a.

Como caso particular, vamos a demostrar que la sucesi´on

x n+1 =

1

2 x n + 2 n , x 0 = 2 ,

x

converge hacia 2. En primer lugar, observamos que x 0 = 2, x 1 = 3/2 = 1,5, x 2 = 17/12 1,416, de manera que parece que la sucesi´on es decreciente. Comprob´emoslo de una manera formal, es decir, veamos que x n x n+1 0 para

1 Este m´etodo de aproximaci´on de la ra´ız cuadrada es muy antiguo. Se atribuye general- mente a Heron de Alejandr´ıa, quien vivi´o en el siglo I, pero probablemente es anterior. Natu- ralmente, no fue obtenido a partir de lo que hoy se conoce como el m´etodo de Newton-Raphson (descrito en secciones posteriores), sino por un razonamiento que muestra bien la estructura

del pensamiento matem´atico griego: si x n es una aproximaci´on por exceso de a, entonces a/x n es una aproximaci´on por defecto y rec´ıprocamente. Tomando la media aritm´etica entre una aproximaci´on por defecto y una por exceso se obtiene una aproximaci´on que es mejor que las anteriores.

1.3 M´etodo de Newton: C´alculo de Ra´ıces Cuadradas

3

todo n N. Notemos que, debido a la expresi´on de la f´ormula de recurrencia y puesto que x 0 = 2 > 0, se tiene x n > 0 para todo n N. Entonces, como

x n x n+1 = x n

2 x n +

1

n = x

2

x

n 2 2x n

2

,

es f´acil ver que x n x n+1

Esta ultima´

la forma siguiente: Supongamos lo contrario, es decir supongamos que x n <

2.

desigualdad puede ser demostrada por reducci´on al absurdo 2 de

2

0 si y s´olo si x n 2 0, es decir x n

2 para alg´un valor de n. Entonces, a partir de la recurrencia se tiene que

x n = 1/2[x n1 + 2/x n1 ] < 2. Operando en esta desigualdad se llega a que

< 0, lo que es

imposible. Finalmente, concluimos que x n 2 para todo n N y por lo tanto la sucesi´on {x n } es decreciente. Por otra parte, como la sucesi´on {x n } es decreciente y adem´as est´a acotada

x n1 + 2 < 2 2x n1 , o de forma equivalente [x n1 2] 2

2

inferiormente, puesto que x n 2, se concluye que dicha sucesi´on tiene l´ımite, es decir l´ım n x n = . Dicho l´ımite se puede calcular tomando el paso al l´ımite cuando n → ∞ en la relaci´on de recurrencia, de manera que se obtiene

=

1

2

+ 2 ,

o de forma equivalente = 2.

La idea del programa que lleve a cabo el algoritmo de Newton (1.2) ha de partir de un n´umero a del cual queramos calcular su ra´ız cuadrada y de un

n´umero x 0 pr´oximo al valor a. Entonces, el resultado de la primera iteraci´on

x 1 es una mejor aproximaci´on al valor a. Si el valor x 1 no es lo suficientemente bueno (es decir x 2 a no es peque¯no) realizamos una nueva iteraci´on y calcu- lamos x 2 y as´ı sucesivamente hasta obtener un resultado aceptable o hasta que se supere un n´umero de iteraciones m´aximo preestablecido.

1

Nota: Todos los programas basados en un m´etodo iterativo deben estar preparados para hacer frente a una serie de problemas espec´ıficos de estos algo- ritmos, entre los m´as comunes se encuentran:

El proceso diverge. Es decir, en lugar de acercarnos a la soluci´on nos alejamos de ella.estos algo- ritmos, entre los m´as comunes se encuentran: Aunque exista convergencia, ´esta es demasiado lenta.

Aunque exista convergencia, ´esta es demasiado lenta. Es decir, despu´es de efectuar un cierto n´umero de iteraciones prefijado, la soluci´on no es lo suficientemente aproximada.en lugar de acercarnos a la soluci´on nos alejamos de ella. Supongamos que se permite una

Supongamos que se permite una tolerancia de 10 6 , es decir paramos las iteraciones si se verifica la condici´on |x n a| ≤ 10 6 . Tomando como primera

2

aproximaci´on al n´umero a el valor x 0 = (a + 1)/2 y permitiendo un m´aximo de 100 iteraciones, realizar un c´odigo Octave.

2 Recordemos que el m´etodo de reducci´on al absurdo consiste en suponer cierto lo contrario de lo que se quiere demostrar y comprobar que esta suposici´on implica alg´un tipo de absurdo.

4

Introducci´on a la Programaci´on en Octave

1.4. Algoritmo de Arquimedes y el N´umero π

Uno de los primeros que calcul´o el n´umero π fue Arqu´ımedes quien com- par´o la longitud de una circunferencia con el per´ımetro de un pol´ıgono regular inscrito en dicha circunferencia.

Supongamos un circulo de radio unidad en el cual inscribimos un cuadrado (pol´ıgono regular de 2 2 lados). Entonces, el lado del cuadrado vale

2 = 2 sin π = 2 ,

4

de manera que el per´ımetro del cuadrado es

P 2 = 2 2 2 = 4 2 ,

que es la primera aproximaci´on a la longitud de la circunferencia cuyo valor es

2π.

a la longitud de la circunferencia cuyo valor es 2 π . Figura 1.1: Aproximaci´on con

Figura 1.1: Aproximaci´on con k = 2.

Decimos que una aproximaci´on p k de orden k-´esimo al n´umero π es la mitad del per´ımetro de un pol´ıgono regular de 2 k lados inscrito en la circunferencia unidad, es decir

1

p k := 2 P k =

1

2 2 k k = 1 2 2 k 2 sin θ k = 2 k sin θ k ,

(1.3)

siendo el ´angulo θ k = π k , ver las Figuras 1.1 y 1.2. De la ecuaci´on (1.3) obser- vamos que si doblamos el n´umero de lados, es decir k pasa a k + 1, se tiene

2

p k+1 = 2 k+1 sin θ k .

2

(1.4)

Realizando ahora un poco de trigonometr´ıa

sin 2 θ k = 2 (1 cos θ k ) = 2 (1 1 sin 2 θ k ) ,

2

1

1

1.5 El problema 3x + 1

5

1.5 El problema 3 x + 1 5 Figura 1.2: Aproximaci´on con k = 3. de

Figura 1.2: Aproximaci´on con k = 3.

de manera que introduciendo esta igualdad trigonom´etrica en la ecuaci´on (1.4) se obtiene

p k+1 = 2 k+1 1

2 1 1 sin 2 θ k .

Finalmente, despejando sin θ k de la ecuaci´on (1.3) e introduci´endolo en la an- terior ecuaci´on obtenemos una relaci´on de recurrencia para las aproximaciones p k al n´umero π de la forma

p k+1 = √ 22 k 1 − 1 − p k 2 . 2
p k+1 = √ 22 k 1 − 1 − p k 2 .
2
k

La pr´actica consiste en:

(1.5)

1. Programar la iteraci´on (1.5) para distintos valores de k = 2, 3, 4, · · ·.

2. Observar el comportamiento del algoritmo seg´un va aumentando el valor

k.

1.5. El problema 3x + 1

Vamos a describir un problema no resuelto en matem´aticas conocido como el problema 3x + 1. A partir de un n´umero natural x N cualquiera, se construye una sucesi´on de n´umeros naturales siguiendo el siguiente procedimiento:

1. Si x es par, el siguiente t´ermino de la sucesi´on es x/2.

2. Si x es impar, el siguiente t´ermino de la sucesi´on es 3x + 1.

Por ejemplo, si la sucesi´on comienza en x = 6, se obtiene la secuencia: 6, 3,

10, 5, 16, 8, 4, 2, 1, 4, 2, 1,

Observar que, a partir de ahora los n´umeros 4,

6

Introducci´on a la Programaci´on en Octave

2, 1 se repiten indefinidamente. Hasta el momento, todos los que han proba- do construir esta sucesi´on a partir de alg´un n´umero natural han observado que siempre se acaba en 4, 2, 1. A veces se puede tardar un poco en lle- gar (tomar por ejemplo el valor inicial x = 27). Entonces, se ha conjeturado que siempre ocurrir´a el comportamiento descrito anteriormente independiente- mente de qu´e n´umero natural inicial x sea tomado. La conjetura 3x + 1 es muy f´acil de enunciar, pero hasta la actualidad no se ha podido verificar si es cier- ta o falsa a pesar de haber sido atacada por eminentes matem´aticos. Parece ser que el primero en formular la conjectura fue el matem´atico Lothar Col- latz de la Universidad de Hamburg en el a¯no 1930. Actualmente hay m´as de 150 art´ıculos publicados sobre la conjetura 3x + 1, ver por ejemplo la p´agi- na web http://www.cecm.sfu.ca/organics/papers/lagarias/. El a¯no 1999, Oliveira y Silva prueban que la conjetura es cierta para n´umeros naturales x menores o iguales que los del orden de 10 16 . El siguiente programa en Octave genera la secuencia del problema 3x + 1 comenzando en un n´umero x N especificado. Si se alcanza un t´ermino de la sucesi´on con valor 1, el programa finaliza. La sucesi´on se almacena en las componentes del vector s.

function

s=sucesion(x)

s=x;

while(x>1)

 

if(rem(x,2)==0)

x=x/2;

else

x=3*x+1;

 

endif

s=[s,

x];

endwhile

endfunction

Cap´ıtulo 2

Interpolaci´on Polinomial

2.1.

Introducci´on

El problema de la interpolaci´on tiene una relevancia especial en muchas

aplicaciones a la ingenier´ıa. Los m´etodos de interpolaci´on tratan de encontrar

que satisfaga ciertas

condiciones en un conjunto finito de puntos. Estas condiciones pueden darse sobre los valores de la funci´on, y tambi´en sobre sus derivadas. En diferentes disciplinas cient´ıficas y t´ecnicas se plantea muy a menudo este problema. De hecho, son muchas y muy distintas las situaciones en las que aparecen series

una funci´on (polin´omica, trigonom´etrica, exponencial,

)

de datos o resultados de mediciones experimentales de los cuales s´olo se conoce c´omo se comportan en una cierta cantidad finita de puntos y para los cuales se necesita encontrar una “ley general”. Dicha ley no es mas que una funci´on

´

que tome unos valores predeterminados. Este es, precisamente, el cometido de la interpolaci´on. La funci´on interpoladora servir´a para sustituir a la funci´on desconocida, tanto para evaluarla en puntos en los que no se conoce su val- or (interpolaci´on en sentido estricto), como para conocer su tasa de variaci´on (diferenciaci´on num´erica) o su distribuci´on acumulativa (integraci´on num´erica).

Adem´as, la interpolaci´on sirve para fundamentar una amplia gama de m´etodos para el tratamiento num´erico de ecuaciones diferenciales.

La funci´on interpoladora debe ser, por tanto, f´acil de evaluar, derivar e in- tegrar.

Nos limitaremos a la interpolaci´on polin´omica que consiste en lo siguiente:

“Dada una funci´on f : [a, b] R y un conjunto de abscisas Σ =

{x 0 , x 1 ,

= j, encontrar un polinomio

, x n } ⊂ [a, b] con x i = x j si i

P n verificando P n (x i ) = f(x i ) para i = 0, 1,

, n”.

7

8

Interpolaci´on Polinomial

2.2. Realizaci´on de la pr´actica

En esta pr´actica el alumno ha de realizar un programa (funci´on Octave) que implemente el m´etodo interpolatorio polinomial. Los argumentos de entrada

ser´an dos vectores x e y de R n+1 , es decir, x=[x 0 ,

abscisas y ordenadas de interpolaci´on, respectivamente, de la nube de puntos. Se usar´a la instrucci´on polyfit(x,y,n) de Octave para obtener el polinomio interpolador P n (x). La salida del programa debe de ser el polinomio interpolador as´ı como un dibujo donde se superponga la nube de puntos con la gr´afica del polinomio interpolador.

y n ] con las

,

x n ], y=[y 0 ,

,

2.3. Fen´omeno Runge

En una segunda parte de la pr´actica, aplicaremos el programa realizado para verificar de forma num´erica el fen´omeno Runge, es decir comprobar que en general

n P n (x) =

l´ım

f(x) .

Para n = 5, 10 y 15, calcular utilizando el programa de la secci´on anterior con abscisas equiespaciadas, el polinomio de interpolaci´on de Newton P n (x) correspondiente a la funci´on racional

f(x) =

1 x 2

1 +

definida en el intervalo

[5, 5] .

Finalmente, computar para cada valor de n el error cometido |f (x j )P n (x j )| en 31 puntos distribuidos a iguales distancias en el intervalo [5, 5], es decir en

, 30. El objetivo de este c´alculo es evidenciar

x j = 5 + j/3 para j = 0, 1,

de forma num´erica la divergencia de P n respecto de f que es lo que se conoce como fen´omeno Runge.

Como resultado final de esta pr´actica se tiene que apreciar los efectos de borde: el polinomio interpolador tiende a oscilar en los extremos del intervalo de interpolaci´on [5, 5].

2.4. Minimizaci´on del Error de Interpolaci´on

Se sabe que, si f C n+1 [a, b] y P n es el polinomio que interpola a f en n + 1

existe ξ x [a, b]

puntos distintos {x 0 , x 1 ,

tal que el error ∆ x cometido en la interpolaci´on en el punto x viene dado por

, x n } ⊂ [a, b], para cada x [a, b]

siendo

x := |f (x) P n (x)| =

Π n (x) =

n

i=0

f

(n+1) (ξ x )

(n + 1)!

(x x i ) .

Π n (x)

,

2.4 Minimizaci´on del Error de Interpolaci´on

9

Fijadas la funci´on f y el grado n del polinomio interpolador P n , se pretende

encontrar los puntos de interpolaci´on {x 0 , x 1 ,

x con la norma del infinito o del m´aximo. En concreto se ha de minimizar Π n en el intervalo [a, b], es decir

, x n } que hagan m´ınimo el error

Π n := max axb |Π n (x)| .

P.L. Chebychev fue el primero en hallar la soluci´on al problema planteado.

Teorema 2.1 (Chebychev) Dada una funci´on f C n+1 [a, b], el menor error en la norma del m´aximo en la interpolaci´on de f se comete cuando se toman

las siguientes abscisas de interpolaci´on {x 0 , x 1 ,

, x n } ⊂ [a, b] dadas por

x j = a + b + b a

cos (2j + 1)π

, j = 0, 1,

, n .

2

2

2(n + 1)

La parte final de la pr´actica consiste en repetir los c´alculos de la secci´on anterior para la funci´on racional de Runge pero ahora con las abscisas de inter- polaci´on de Chebychev en el intervalo [a, b] = [5, 5] y comprobar como el error |f(x) P n (x)| ha disminuido sensiblemente.

10

Interpolaci´on Polinomial

Cap´ıtulo 3

Integraci´on Num´erica

3.1. Introducci´on

Uno de los problemas matem´aticos m´as antiguos es el del c´alculo del ´area que encierra una curva. Este problema desemboc´o en lo que hoy se conoce como c´alculo integral. Las f´ormulas de integraci´on num´ericas, tambi´en conocidas como f´ormulas de cuadratura, tienen como objetivo aproximar el valor de la integral de una fun-

ci´on en un intervalo

b f (x) dx. El c´alculo simb´olico mediante un manipulador

a

algebraico es de gran ayuda, ver por ejemplo el comando Integrate[f[x], {x,a,b}] del programa Mathematica. Sin embargo esta ayuda s´olo es posible cuando se conoce la expresi´on expl´ıcita de f (x) y adem´as cuando dicha funci´on admite una primitiva. En el resto de los casos, por ejemplo cuando s´olo se conoce los valores de la funci´on en algunos puntos o cuando la primitiva de la funci´on no es posible expresarla mediante funciones elementales, habr´a que acudir a las f´ormulas de integraci´on num´erica.

3.2. La Capacidad Calor´ıfica de los S´olidos

El paso fundamental para resolver la discrepancia entre la teor´ıa cl´asica y los resultados experimentales concernientes a la capacidad calor´ıfica asociada con las vibraciones de la estructura de los s´olidos cristalinos, fue dado por el famoso f´ısico A. Einstein (1907) utilizando la teor´ıa cu´antica. En 1912 Debye mejor´o dicha teor´ıa introduciendo los modos normales de vibraci´on del cristal completo. En esta teor´ıa, la capacidad calor´ıfica a volumen constante C v = (∂E/∂T ) v (es decir la variaci´on de la energ´ıa de vibraci´on E de los ´atomos respecto de la temperatura T a volumen constante) se calcula de la forma

C v = 9Nk

x

3

D

x D

0

11

x 4 e x

(e x 1) 2 dx ,

(3.1)

12

Integraci´on Num´erica

siendo N el n´umero de ´atomos del cristal y k = 1,381 × 10 23 J/ K la constante de Boltzmann. La variable auxiliar x D est´a definida como x D = Θ D /T , siendo Θ D la temperatura de Debye caracter´ıstica del material, ver por ejemplo la tabla adjunta en la Figura 3.1 donde se muestran las temperatura de Debye para diferentes elementos qu´ımicos.

 

Pb

Na

Ag

Cu

Al

Be

Θ

D

86 K

160

K

220

K

310

K

380

K

980

K

Figura 3.1: Temperaturas de Debye Θ D para algunos elementos qu´ımicos.

Observemos que la funci´on integrando que aparece en la expresi´on de C v no admite primitiva expresable en t´erminos de funciones elementales, de modo que la integraci´on num´erica es necesaria para aproximar el valor de la integral.

Problema 3.1 Suponiendo que la muestra de material es de un mol (con lo que N vale el n´umero de Avogadro N = 6,023 × 10 23 ´atomos) y que est´a a tem- peratura ambiente (tomar por ejemplo T = 293 K), obtener una aproximaci´on de la capacidad calor´ıfica C v en los materiales de la tabla de la Figura 3.1.

Para resolver el Problema 3.1, realizar los pasos siguientes:

1. Escribir una funci´on en Octave, por ejemplo f.m, para definir la funci´on integrando

f(x) =

x 4 e x

(e x 1) 2 ,

que aparece en la integral (3.1). Observar que f (x) no est´a definido para x = 0. Se tiene una indeterminaci´on 0/0 que hay que resolver y tener en cuenta en la definici´on de la funci´on.

2. Escribir una funci´on en Octave, por ejemplo deby.m, donde los argu- mentos de entrada sean: (i) la temperatura de Debye Θ D del material; (ii) la temperatura T a la que est´a sometido el material; (iii) la funci´on f (x) definida anteriormente. La salida del programa ser´a el valor de la capacidad calor´ıfica C v del material.

x D

3. Para calcular una aproximaci´on num´erica de la integral debe utilizar la funci´on quad(f,0,xD) propia de Octave.

0

f (x) dx, se

Nota: Recordar que cuando una funci´on (como es el caso de deby) tiene un argumento que tambi´en es una funci´on (en nuestro caso f) entonces, cuando se ejecuta, el argumento funci´on se escribe entre comas. Por ejemplo, para ejecutar deby en el caso de elemento Pb, se har´a de la forma deby(86, 293, ’f’).

3.3 Trabajo en un pist´on con gas de Dieterici

13

3.3. Trabajo en un pist´on con gas de Dieterici

Dieterici propuso la siguiente ecuaci´on emp´ırica de estado para gases reales

P (V nb) exp

na RT = nRT ,

V

(3.2)

siendo los coeficientes a y b caracter´ısticos del gas. Aqu´ı, como es habitual en termodin´amica, n el n´umero de moles del gas, T , P y V su temperatura, presi´on y volumen y R = 8,3143JK 1 mol 1 la constante de los gases ideales.

Por otra parte, se sabe que el trabajo W producido en un pist´on (es decir cuando un gas se encuantra encerrado en un recipiente con frontera movil) cuando el volumen de gas que encierra var´ıa de V i hasta V f viene dado por

V

W =

V

i

f

P dV .

Problema 3.2 Se dispone de 10 3 moles de un gas que satisface la ecuaci´on de estado de Dieterici con coeficientes a = 139 y b = 0,02 a una temperatura de 300K en el interior de un cilindro con un pist´on. Escribir un programa en el lenguaje Octave usando el comando quad para aproximar el trabajo producido en el pist´on sabiendo que los vol´umenes inicial y final del gas son 1m 3 y 5m 3 .

Nota: Comparar el resultado num´erico obtenido en el Problema 3.2 con el que se obtiene de manera exacta suponiendo que el gas satisface la ecuaci´on de estado de los gases ideales P V = nRT en lugar de la ecuaci´on de estado de Dieterici.

14

Integraci´on Num´erica

Cap´ıtulo 4

Ecuaciones Diferenciales Ordinarias

4.1. Introducci´on

Una de las herramientas matem´aticas m´as efectivas de que disponemos ac- tualmente para modelizar y explicar la naturaleza son, sin lugar a dudas, las ecuaciones diferenciales (o m´as generalmente los sistemas din´amicos). Una re- soluci´on exacta de las ecuaciones diferenciales no es posible en general. De esta forma, son necesarias vias alternativas tales como los m´etodos num´ericos o la teor´ıa cualitativa para poder estudiar las ecuaciones diferenciales.

4.2. Realizaci´on de la pr´actica

Consideremos un sistemas de ecuaciones diferenciales de primer orden en R d con una condici´on inicial dada, es decir,

x˙ = f (x, t) ,

x(t 0 ) = x 0 ,

(4.1)

siendo t R la variable independiente (el tiempo), x(t) R d y f : R d ×R R d una funci´on de clase C 1 . Entenderemos por resolver de forma num´erica el problema de Cauchy (4.1) en el intervalo [t 0 , t n ] la obtenci´on de una tabla del tipo

t

0

t

1

t

2

···

t

n

x

0

x

1

x

2

···

x

n

donde x i es una aproximaci´on num´erica del valor exacto x(t i ). Adem´as, siempre consideraremos una discretizaci´on equiespaciada de la variable independiente

t i = t 0 + ih para i = 0, 1,

, n, siendo h > 0 la longitud de paso.

15

16

Ecuaciones Diferenciales Ordinarias

La realizaci´on de esta pr´actica consiste en resolver el siguiente problema de caracter general y posteriormente aplicarlo en alguna situaci´on concreta.

Problema 4.1 Programar una funci´on en lenguaje Octave que resuelva num´ericamente el problema de Cauchy (4.1). La entrada de la funci´on prin- cipal debe ser:

Los tiempos inicial t 0 y final t n . t 0 y final t n .

El n´umero de puntos n . n.

El vector de condiciones iniciales x 0 ∈ R d . x 0 R d .

La funci´on f ( x, t ) ∈ R d que define el sistema de ecuaciones diferenciales. f (x, t) R d que define el sistema de ecuaciones diferenciales. Recordar que esta funci´on se debe programar a parte en un fichero f.m.

La salida de la funci´on debe ser:

La matriz ( n +1) × d que contiene en cada fila las aproximaciones del vector de (n+1)×d que contiene en cada fila las aproximaciones del vector de estado del sistema, es decir, la fila i-´esima contiene una aproximaci´on del vector x(t i ).

Usar como integrador la instrucci´on lsode(’f’,x 0 , τ ) de Octave, donde τ es un vector cuyas componentes contienen los tiempos donde se aproxima la

soluci´on, es decir, τ = (t 0 , t 1 ,

, t n ).

Nota: Es muy importante recordar que la instrucci´on lsode(’f’,x 0 , τ ) de Octave es sensitiva al orden en que se escriben las variables de entrada de la funci´on f (x, t). De este modo, recordar que siempre el primer argumento de f debe ser x y el segundo t.

4.3. Ciclos L´ımite

Sea x una magnitud f´ısica que evoluciona con el tiempo t. Para fijar ideas podemos pensar en que x(t) es la posici´on en funci´on del tiempo para una part´ıcula. Supongamos que la part´ıcula realiza oscilaciones no lineales regidas por la siguiente ecuaci´on diferencial de segundo orden

d 2 x

dt 2

+ f(x) dx dt + g(x) = 0 .

(4.2)

N´otese que una part´ıcula cuya ecuaci´on del movimiento est´e regida por la ecuaci´on (4.2) no puede tener soluciones peri´odicas cuyas ´orbitas est´en en la regi´on en la que f (x) sea de signo constante puesto que f´ısicamente estas zonas corresponden a regiones de amortiguamiento positivo o negativo. Soluciones peri´odicas, es decir cuyas trayectorias formen curvas cerradas en el plano de las fases, desempe¯nan un papel importante en muchos fen´omenos f´ısicos. Una soluci´on peri´odica a menudo representa una clase de “estado final”, hacia el cual

4.3 Ciclos L´ımite

17

todas las soluciones vecinas tienden. La existencia de estas soluciones peri´odi- cas (ciclos l´ımite) s´olo pueden explicarse por la consideraci´on de t´erminos no lineales en las ecuaciones que gobiernan el movimiento.

La ecuaci´on diferencial de segundo orden (4.2) puede transformarse (me- diante el cambio habitual y = dx/dt) en el siguiente sistema de ecuaciones diferenciales de primer orden

dx

dt

dy

dt

= y ,

= yf(x) g(x) .

(4.3)

El anterior sistema est´a definido en el plano de posiciones x y velocidades y que habitualmente se conoce tanto en matem´aticas como en mec´anica con el nombre de plano de las fases.

Un caso particular de la ecuaci´on (4.2) es la conocida ecuaci´on de van der Pol 1 . Esta ecuaci´on viene definida de la forma

d 2 x