You are on page 1of 5

M`todes Num`rics e e

Material extret dels apunts Nociones de Anlisis Numrico y Ecuaciones en Derivadas Parciales. Autor:J. Luis a e A. Yebra

1.

Aproximaci de derivades o

En aquesta secci estudiarem laproximaci de las derivades duna funci f en un punt xi a partir dels valors o o o de f en diferents punts equidistants que formen la malla uniforme {. . . , xi2 = xi 2h, xi1 = xi h, xi , xi+1 = xi + h, xi+2 = xi + 2h, . . . }. xi2 xi1 xi xi+1 xi+2

Ho aconseguirem mitjanant quocients diferencials adients. Suposarem sempre que la funci f s sucientment c o e diferenciable per a que els desenvolupaments en s`rie de Taylor utilitzats siguin v`lits. Comencem aproximant la e a derivada primera f (xi ).

1.1.

Aproximaci de la derivada primera o


1 f (1 )h2 2! 1 f (xi1 ) = f (xi ) f (xi )h + f (2 )h2 2!

A partir del teorema de Taylor amb el residu de Lagrange, expressem f (xi+1 ) i f (xi1 ), f (xi+1 ) = f (xi ) + f (xi )h + xi < 1 < xi + h, xi1 < 2 < xi ,

es dedueix, 1 f (xi+1 ) f (xi ) = f (xi ) + f (1 )h h 2! f (xi ) f (xi1 ) 1 = f (xi ) f (2 )h h 2! Sobtenen aix dues aproximacions per f (xi ) xi < 1 < xi+1 , x i h < 2 < x i .

f (xi+1 ) f (xi ) f (xi ) = = f (xi ) + O(h) h f (xi ) f (xi1 ) f (xi ) = = f (xi ) + O(h) h

(1)

(2)

A la gura (a) podeu observar la interpretaci gr`ca. La primera sanomena difer`ncia endavant i la segona o a e difer`ncia cap enrere. Es trata daproximacions de primer ordre, ja que lerror en laproximaci es de lordre dh: e o Error Ch, on C s una ta d|f (x)|/2. e

(a)

f (xi+1 )f (xi )    h 
 f (xi )f (xi1 )   h  
xi1 xi

(b)

   

x xi+1

f (xi )
xi1 xi

f (xi+1 )f (xi1 ) 2h

xi+1

Si considerem un terme ms en el desenvolupament del polinomi de Taylor obtenim, e f (xi+1 ) = f (xi ) + f (xi )h + f (xi1 ) = f (xi ) f (xi )h + 1 1 f (xi )h2 + f (1 )h3 2! 3! 1 1 f (xi )h2 f (2 )h3 2! 3! xi < 1 < xi+1 xi1 < 2 < xi

1 f ()h3 xi h < < xi + h 3! (hem utilitzat que, com a conseq`ncia del teorema dels valors intermedis per a la funci cont ue o nua f , existeix (1 , 2 ) tal que f () = (f (1 ) + f (2 ))/2). De les dues expressions anteriors obtenim, f (xi+1 ) f (xi1 ) = 2f (xi )h + 2 f (xi+1 ) f (xi1 1 = f (xi ) + f ()h2 2h 3! amb el que obtenim una aproximaci per f (xi ), de segon ordre o f (xi+1 ) f (xi1 ) f (xi ) = = f (xi ) + O(h2 ) 2h Lanomenem diferencia central. A la gura (b) podeu observar la interpretaci gr`ca. o a Exemple A laproximar el valor de la derivada de la funci f (x) = sin x en el punt x3 = /4 = 45o a partir dels o valors df en els punts x2 = /6 = 30o y x4 = /3 = 60o , mitjanant la difer`ncia central (3) sobt c e e 3 1 6 6 1 f (x3 ) = (f (x4 ) f (x2 )) = (sin sin ) = ( ) = 0,699 2h 3 6 2 2 Calculant directamente el valor de la derivada sobt f (x3 ) = cos (/4) = 2/2 = 0,707. Aix doncs lerror e o coms s: Eabs = 0,008, Erel 1 %. e e Una forma alternativa de deduir las expressions anteriors consisteix en buscar quocients diferencials que siguin exactes per a polinomis de grau el m`xim possible. En general, utilitzant els valors de f en k + 1 punts a saconsegueixen aproximacions dordre k. Como exemple, busquem una frmula o f (xi ) + f (xi+1 ) + f (xi+2 ) f (xi ) = h que sigui exacta par a polinomios de grau 2. Considerant successivament f (x) = 1, x, x2 , sha de vericar f (x) = 1 : f (x) = x : f (x) = x :
2

sobt e

xi1 < < xi+1

(3)

0 = ( + + )/h 1 = [xi + (xi + h) + (xi + 2h)]/h 2xi = [x2 i + (xi + h) + (xi + 2h) ]/h
2 2

= = =

++ =0 + 2 = 1 + 4 = 0

don sobt = 3/2, = 2 = 1/2, i per tant e 3f (xi ) + 4f (xi+1 ) f (xi+2 ) f (xi ) = 2h (4)

1.2.

Aproximaci de la derivada segona o

De la mateixa manera que a lapartat anterior, a partir dels desenvolupaments en polinomis de Taylor (ns a tercer grau) de f (xi + h) i de f (xi h) sobt e f (xi + h) 2f (xi ) + f (xi h) = f (xi )h2 + 2 iv f ()h4 4! xi h < < xi + h xi h < < xi + h

f (xi + h) 2f (xi ) + f (xi h) 1 iv = f (xi ) + f ()h2 h2 12 i obtenim laproximaci de segon ordre de f (xi ) o

f (xi+1 ) 2f (xi ) + f (xi1 ) f (xi ) = = f (xi ) + O(h2 ) h2 Aquesta expressin tamb la podem escriure de la forma o e f (xi ) f (xi1 ) 1 f (xi+1 ) f (xi ) f (xi ) = h h h = f (xi + h/2) f (xi h/2) h

(5)

on laproximaci f (xi ) de la derivada segona f (xi ) apareix com aproximaci de la derivada de la derivada o o primera i on sutilitzen las aproximacions mitjanant las diferencias endavant i cap enrrera de la derivada primera, c que sn de primer ordre com aproximacions de f (xi ), per` de segon orden com aproximacions de f (xi + h/2) i o o f (xi h/2), respectivament, ja que en aquest cas sn difer`ncies centrals. o e

2.

Ecuacions Diferencials: Problemes de valor inicial

Donada una ecuaci diferencial de primer ordre y = f (t, y), el problema de valor inicial consisteix en buscar o una soluci particular de lecuaci que veriqui la condici inicial y (t0 ) = y0 . Es a dir, es tracta de resoldre el o o o problema y = f (t, y), y(t0 ) = y0 . (6) Resultats te`rics garanteixen que, sota certes hip`tesis sobre la funci f , el problema de valor inicial (6) t una o o o e unica soluci. A la pr`ctica el qu` ens interessa s el valor que pren y en un instant posterior a t0 , diguem-ne o a e e t0 + T . Aix` es deu al fet que normalment lequaci y = f (t, y) ens determina levoluci dun sistema o procs o o o e del qual es coneix lestat en linstant t0 i volem con`ixer lestat en linstant t0 + T . Es per aix` que a partir dara e o ens ocuparem de calcular o aproximar y(t0 + T ). Com passa en altres contextos, per exemple en calcular integrals denides, hi ha m`todes anal e tics que permeten de vegades obtenir la soluci exacta. En aquest cas, quan lequaci diferencial y = f (t, y) pot ser integrada o o elementalment, a partir de la soluci general de lequaci, y = (t, C), es determina la soluci particular que o o o verica la condici inicial: o y = (t, C0 ) con C0 tal que (t, C0 ) = y0

per obtenir posteriorment y(t0 + T ) = (t0 + T, C0 ).No obstant aix`, s freqent que per diferents causes no o e u puguem obtenir lexpressi de la soluci general y = (t, C). Per exemple, els m`todes dintegraci elemental no o o e o permeten integrar la senzilla equaci diferencial y = t2 + y 2 . Daqu la necessitat de recrrer a m`todes num`rics o o e e que permetin aproximar el valor de y(t0 + T ).

2.1.

M`tode de Euler e

Recordem pr`viament que, geom`tricament, la soluci de lequaci diferencial, y = y(t), representa una corba e e o o on el pendent en cada punt (t, y) ve donat per la funci y = f (t, y). En particular, en el punt (t0 , y0 ) el pendent o ser` f (t0 , y0 ), i com de moment aix` s tot el que coneixem de la soluci y(t), una primera idea (encara que a o e o no massa bona) consisteix a aproximar y(t) mitjanant la recta que passa per (t0 , y0 ) amb pendent f (t0 , y0 ): c y(t) y0 + f (t0 , y0 )(t t0 ). Aix` proporcionaria el valor y0 + T f (t0 , y0 ) com aproximaci de y(t0 + T ), observeu o o la gura. Naturalment noms podem esperar obtenir aix una aproximaci acceptable de y(t0 + T ) quan T sigui e o petit, i normalment haurem de recrrer a algun procediment ms elaborat. o e y y(t) y(t0 + T ) y y(t0 + T )

yN

$ $$$ y0 + $$ $ y0 T f (t0 + T ) $$ $$$


t0 t0 + T

  yi+1  @ y0 @@@ y1
t0 t1 yi h ti ti+1 tN = t0 + T

A partir de la idea anterior, en el m`tode dEuler es divideix linterval [t0 , t0 + T ] en N parts (iguals per e comoditat) de longitud h = T /N , anomenada pas. Es forma aix la malla {ti = t0 + ih, 0 i N } i es procedeix de la forma anteriorment indicada en cada interval [ti , ti+1 ], como veiem a la gura. Aix` dna lloc a lesquema o o y1 = y0 + hf (t0 , y0 ) y2 = y1 + hf (t1 , y1 ) yi+1 = yi + hf (ti , yi ) .................. yN = yN1 + hf (tN1 , yN1 ) i es pren yN com aproximaci de y(t0 + T ). o Per estimar lerror com`s, observem que mitjanant el desenvolupament en polinomis de Taylor per a la e c soluci exacta y(t) es t o e y(ti+1 ) = y(ti + h) = y(ti ) + hy (ti ) + h2 y ( ), 2 ti < < ti+1 , (7)

pel que amb lesquema yi+1 = yi + hf (ti , yi ) estem cometent errors en

(a) despreciar el terme

h2 y ( ), 2

(b) utilitzar yi en lloc de y(ti ). (a) representa lerror propi com`s en el pas i + 1, anomenat error local de truncament, perqu` sorigina al e e truncar el desenvolupament en s`rie de Taylor, retenint unicament el terme de primer ordre, mentre que e (b) representa lerror indu en el pas i + 1 pels errors comesos en els i passos anteriors, s a dir, pel em error t e (de truncament) acumulat en els i passos anteriors. Per acotar lerror acumulat ns al pas i, Ei = |y(ti ) yi |, suposem que f , f /t i f /y estan acotades per t0 t t0 + T i qualsevol y. Com y (t) = d f f f f f (t, y(t)) = (t, y) + (t, y) y (t) = (t, y) + (t, y)f (t, y) dt t y t y (8)

y tamb estar` acotada. Siguin L y M cotas de f /y i y , respectivament: e a | Ara, a partir de y(ti+1 ) yi+1 = y(ti ) yi + h f (ti , y(ti )) f (ti , yi ) + sobt e |y(ti+1 ) yi+1 | |y(ti ) yi | + hL|y(ti ) yi | + s a dir e Ei+1 (1 + hL)Ei + f (t, y)| L, y |y (t)| M. 1 y ( )h2 2

M 2 h 2

M 2 h = AEi + B 2 on A = (1 + hL) y B = M h2 /2. Aquests dos sumands corresponen a les dues fonts derror abans esmentades (truncament acumulat anterior i truncament local). La desigualtat anterior implica Ei AEi1 + B A(AEi2 + B) + B = A2 Ei2 + B(1 + A)

A3 Ei3 + B(1 + A + A2 ) Ai E0 + B(1 + A + A2 + + Ai1 )

per` com E0 = |y(t0 ) y0 | = 0, sumant la progressi geom`trica i utilitzant tamb la desigualtat 1 + hL ehL o o e e sobt e M 2 (1 + hL)i 1 Mh Ai 1 = h h(ehLi 1) Ei B A1 2 hL 2L i en particular Mh M TL E = |y(t0 + T ) yN | (9) h(ehLN 1) = (e 1)h 2L 2L error de lordre dh, per tant es tracta dun m`tode de primer ordre. e

2.2.

M`todes de segon ordre e

Per millorar laproximaci es podrien utilitzar ms termes del desenvolupament en polinomis de Taylor, calo e culant les derivades dordre superior. Aix si a partir de lexpressi , o y(t + h) = y(t) + hy (t) + es forma lesquema f h2 f (ti , yi ) + (ti , yi )f (ti , yi ) 2 t y sobt un m`tode de segon ordre. Per` aquest procediment s inc`mode de programar i poc ecient, sobretot a e e o e o mesura que sintenta augmentar lordre del m`tode utilitzant cada vegada ms termes del desenvolupament en e e s`rie de Taylor. e Una alternativa neix dobservar que el problema de valor inicial y = f (t, y), y(t0 ) = y0 s equivalent a e lequaci integral (exercici) o yi+1 = yi + hf (ti , yi ) +
t

h2 h3 y (t) + y ( ) 2 6

y(t) = y0 +
t0

f (s, y(s)) ds.

(10)

Per aix`, es pot interpretar que el m`tode dEuler o e yi+1 = yi + hf (ti , yi ) (7)

es basa en aproximar la integral en linterval [t0 , t0 + T ] pel m`tode dels rectangles (i efectivament s aix quan f e e no dep`n de i). e En aquest context t sentit preguntar-se si podrem fer alguna cosa an`loga al m`tode dels trapezis per e a e laproximaci dintegrals denides. La situaci no s la mateixa, doncs ara lintegrant de ( ref EI) dep`n de la o o e e funci y, de manera que inicialment arribar o em a un esquema impl cit f (ti , yi ) + f (ti+1 , yi+1 ) (11) 2 anomenat aix perqu` linc`gnita de cada pas, yi+1 , no est` a e o a llada. Per obtenir un esquema expl cit podem substituir en el segon membre yi+1 per laproximaci que ens dna el m`tode dEuler: yi + hf (ti , yi )), obtenint o o e aix lesquema expl cit: f (ti , yi ) + f (ti+1 , yi + hf (ti , yi )) yi+1 = yi + h (12) 2 anomenat m`tode millorat dEuler o tamb m`tode de Runge-Kutta de segon ordre, ja que es demostra que el error e e e local de truncament s de lordre dh3 i lacumulat de lordre dh2 . e yi+1 = yi + h

2.3.

M`tode de Runge-Kutta e

La idea anterior ens porta a un dels m`todes ms utilitzats per resoldre num`ricament ecuacions diferencials: e e e el m`tode de Runge-Kutta (de quart ordre), on lesquema s e e yi+1 = yi + on k1 = f (ti , yi ) k3 = f (ti + h/2, yi + k2 h/2) k2 = f (ti + h/2, yi + k1 h/2) k4 = f (ti + h, yi + k3 h) h (k1 + 2k2 + 2k3 + k4 ) 6 (13)

No mostrem aqu la deducci daquestes frmulas, pero xem-nos que (k1 + 2k2 + 2k3 + k4 )/6 s una mitjana o o e ponderada dels pendents en els punts h h h h , yi + k1 ), P3 = (ti + , yi + k2 ), P4 = (ti + h, yi + k3 h) 2 2 2 2 i que lesquema utilitza com pendent mitj` en tot linterval (ti , ti + h). (En el cas particular que la funci f (t, y) a o no depengui de y, es t k2 = k3 = f (ti + h/2) i el terme e P1 = (ti , yi ), P2 = (ti + h h (k1 + 2k2 + 2k3 + k4 ) = (k1 + 4k2 + k4 ) 6 6 s laproximaci proporcionada por la frmula de Simpson per la integral e o o
ti +h

f (t) dt.
ti

2.4.

Exemple

A la segent taula mostrem els resultats obtinguts a laproximar el valor y(1) de la soluci del problema de u o valor inicial y (t) = y + t y(0) = 1 per els diferents m`todes presentats i per diferents valors del pas h. Integrant lequaci sobt la soluci y(t) = e o e o 2et t 1, i podem calcular y(1) = 3,436563657..., el que ens permet determinar lerror com`s. Observem com al e disminuir h lerror decreix proporcionalment a hk on k s lodre del m`tode. e e Aproximaci o i error Pas h=0.1 N=10 h=0.05 N=20 h=0.02 N=50 h=0.01 N=100 M`tode de e Euler millorat 3.4281617 0,84 102 3.4343821 0,22 102 3.4362066 0,36 103 3.4364737 0,9 104 M`tode de e Runge -Kutta 3.436559488 0,42 105 3.436563385 0,27 106 3.436563650 0,7 108 3.436563656 109

M`tode de e Euler 3.1875 0,25 3.3066 0.13 3.3832 0.05 3.4096 0.027

You might also like