Вы находитесь на странице: 1из 6

17/1/2016

Inicio

Integracinnumrica

MATLAB

Numrico

Integracinnumrica

Racesdeecuaciones
Sistemasdeecuaciones
Valoresyvectores
propios

Haymuchassituacionesenlaqueesprecisoaplicarprocedimientosnumricosparaobtenerlaintegraldefinida
deunafuncin.Enestecaptuloseexplicarndosprocedimientos:
Mtododelpuntomedio

Integracinnumrica

Elprocedimientodeltrapecio

Ecuaciones
diferenciales

ElprocedimientodeSimpson

Interpolacin,regresin

Conceptodeintegraldefinida
Paraintroducirelconceptodeintegraldefinidavamosaresolverelsiguienteproblemadecinemtica.
http://www.sc.ehu.es/sbweb/fisica_/cinematica/rectilineo/rectilineo/rectilineo_3.html
Dadalavelocidaddeunmvilenfuncindeltiempov(t)calculareldesplazamientoxx0dedichomvilentrelos
instantest0yt.

Dividimoselintervalot0atenpequeosintervalosdetiempoti=titi1
Enelinstanteti1lavelocidaddelmvilesvi1,enelinstantetilavelocidaddelmvilesvi.Lavelocidadmedia
<vi>enelintervalodetiempoti=titi1comprendidoentreti1yties
v(ti ) + v(ti1 )
< vi >=

Eldesplazamientodelmvilduranteelintervalodetiempoti=titi1comprendidoentreti1yties
aproximadamenteelreadelrectngulo<vi>ti.Eldesplazamientototalxx0entreelinstanteinicialt0,yel
instantefinalt=tnes,aproximadamente
n

x x0 < vi > ti
i=1

dondeneselnmerodeintervalos
Siv=t2+14t+21(m/s)ytomamosn=10intervalosiguales,entreelinstantet0=0yt=10seldesplazamiento
aproximadovale
ti1
0

ti
1

<vi>
27.5

<vi>ti
27.5

http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/numerico/integral/integral.html

1/6

17/1/2016

Integracinnumrica

1
2
3
4
5
6
7
9
0

2
3
4
5
6
7
8
10
10

39.5
49.5
57.5
63.5
67.5
69.5
67.5
63.5

39.5
49.5
57.5
63.5
67.5
69.5
67.5
63.5
575.0

Cuandoelnmerodeintervalosenlosquesehadivididounintervalodado(t0,t)esmuygrandeti>0,la
velocidadmedia<vi>enelintervalocomprendidoentreti1ytieslavelocidadvencadainstantet.Enellmite,
eldesplazamientoseexpresacomo
t

x x0 =

vdt

t0

Siv=t2+14t+21(m/s),eldesplazamientoentreelinstantet0=0yt=10svale
t

x x0 = (t

+ 14t + 21)dt =

+ 7t
3

+ 21t

t0

10

1730
=

=576.6667m
3

SehadetenerencuentaquelosndicesenMATLABcomienzanenunonoencero.Creamosunfuncin
denominadaintegral_1querealicelassiguientestareas:
1. Calcularlavelocidadenelinstanteti
2. Calcularlavelocidadenelinstanteti+1
3. Calcularlavelocidadmediavmdelmvilenelintervalodetiempoti=ti+1ti
4. Calculareldesplazamientoaproximadoendichointervalodetiempo,vmti.
5. Calculareldesplazamientototalaproximadoxx0dedichomvilentrelosinstantest0yt.
functionsuma=integral_1(f,t)
suma=0

v1=f(t(1))
fori=1:length(t)1
v2=f(t(i+1))
vm=(v1+v2)/2
suma=suma+vm*(t(i+1)t(i))
v1=v2
end
end

Enelscript(msabajo),elvectort1contienen+1datoscomprendidosentreeltiempoinicialt0ylafinaltfambos
incluidos,sielnmerodeintervalosesn.
t0=input('tiempoinicial,t0:')
tf=input('tiempofinal,tf:')
n=input('nmerointervalos,n:')
vel=@(t)t.^2+14*t+21%funcinvelocidad
t1=linspace(t0,tf,n+1)
res=integral_1(vel,t1)%calculalaintegral
fprintf('Eldesplazamientoes%3.2f:\n',res)

Enlaventanadecomandoscorremoselscriptvelocidad
>>velocidad
tiempoinicial,t0:0
tiempofinal,tf:10
nmerointervalos,n:10
Eldesplazamientoes:575.00

http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/numerico/integral/integral.html

2/6

17/1/2016

Integracinnumrica

Mtododelpuntomedio
Elmtododelpuntomedioesmuyfcildeentender,yaqueaproximalaintegraldefinida
b

f (x)dx

porlasumadepequeosrectngulos.Comoseveenlafiguraelreadecadarectnguloesf(xm)xi,dondexm=
(xi+1+xi)/2eslaposicinintermediaentrexiyxi+1.

Definimoslafuncinintegral_2paraquerealicelassiguientestareas:
1. Calculalaposicinintermediaxm=(xi+1+xi)/2entrexiyxi+1
2. Calculaelreadelrectngulof(xm)xi,dondexi=xi+1xi
3. Calculaelreatotalaproximadaenelintervaloa,b.
functionsuma=integral_2(f,x)
suma=0
fori=1:length(x)1
xm=(x(i+1)+x(i))/2
suma=suma+f(xm)*(x(i+1)x(i))
end
end

Escribimoselscriptvelocidad_1
t0=input('tiempoinicial,t0:')
tf=input('tiempofinal,tf:')
n=input('nmerointervalos,n:')
vel=@(t)t.^2+14*t+21%funcinvelocidad
t1=linspace(t0,tf,n+1)
res=integral_2(vel,t1)%calculalaintegral
fprintf('Eldesplazamientoes:%3.2f\n',res)

Enlaventanadecomandoscorremoselscriptvelocidad_1
>>velocidad_1
tiempoinicial,t0:0
tiempofinal,tf:10
nmerointervalos,n:10
Eldesplazamientoes:577.50

Frmuladeltrapecio
Paracalcularlaintegraldefinidadelafuncinf(x)enelintervalocomprendioentrex0yx,dividimoseste
intervaloenpequeosintervalosdelongitudh=xi+1xi.Sustituimoslafuncinporlarectaqueunelospuntos(xi,
yi)y(xi+1,yi+1).Elreasombreadaenlafiguraeslasumadelreadeunrectngulomselreadeuntringulo,
vale

http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/numerico/integral/integral.html

3/6

17/1/2016

Integracinnumrica

1
hyi +

1
h(yi+1 yi ) =

h(yi+1 + yi )

Elreatotalaproximadabajolacurvaes
h
2
h
2

(y1 + y2 ) +

h
2

(y2 + y3 ) +

h
2

(y3 + y4 ) + ... +

h
2

(yn2 + yn1 ) +

h
2

(yn1 + yn ) =

(y1 + 2y2 + 2y3 + 2y4 + ... + 2yn2 + 2yn1 + yn )

Definimosenlafuncintrapecioelprocedimiento.Dondefeslafuncinintegrando,yxelvectorden+1datos
comprendidosentrelaabscisainicialx0ylafinalxfambasincluidas,sielnmerodeintervalosesn.
functionsum=trapecio(f,x0,xf,nInterv)
%elnmerodepuntosesnintervalosmsuno
x=linspace(x0,xf,nInterv+1)
n=length(x)
sum=(f(x(1))+f(x(n)))/2
fori=2:n1
sum=sum+f(x(i))
end
sum=sum*(x(2)x(1))
end

Dadalafuncinintegrandof(x),calculamoslaaproximacinalaintegraldefinidaenelintervalocomprendido
entrex0yx,escribiendoelscriptvelocidad_2.
x0=input('abscisainicial,x0:')
xf=input('abscisafinal,xf:')
n=input('nmerointervalos,n:')
deriv=@(x)x^2+14*x+21%definicindelintegrando
res=trapecio(deriv,x0,xf,n)%calculalaintegral
fprintf('Elvaloraproximadodelaintegral:%3.2f\n',res)

Enlaventanadecomandoscorremoselscriptvelocidad_2
>>velocidad_2
abscisainicial,x0:0
abscisafinal,xf:10
nmerointervalos,n:10
Elvaloraproximadodelaintegral:575.00

ElmtododeSimpson(1/3)
Enesteprocedimiento,setomaelintervalodeanchura2h,comprendidoentrexiyxi+2,ysesustituyela
funcinf(x)porlaparbolaquepasaportrespuntos(xi,yi),(xi+1,yi+1),y(xi+2,yi+2).

http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/numerico/integral/integral.html

4/6

17/1/2016

Integracinnumrica

Calculamoslacontribucinalaintegraldelprimerintervalo(x0,x0+2h)ygeneralizaremosparaelrestodelos
intervalos.
Laecuacindelaparbolay=ax2+bx+cquepasaporlospuntos(x0,y0),(x0+h,y1),(x0+2h,y2)es
2

y0 = ax

+ bx0 + c

y1 = a(x0 + h)

y2 = a(x0 + 2h)

+ b(x0 + h) + c
2

+ b(x0 + 2h) + c

Estesistemadetresecuacionescontresincgnitas,sereducea
2

y1 = y0 + 2ax0 h + ah

+ bh
2

y2 = y0 + 4ax0 h + 4ah

+ 2bh

Despejamoselcoeficientea,y2ax0+b
a =

y2 2y1 + y0
2

2ax0 + b =

4y1 3y0 y2
2h

2h

Sustituimoslacurvaporlaporcindeparbolaenelintervalo(x0,x0+2h).Laintegralvale.
x 0 +2h

I =

(ax

(6x

+ bx + c)dx =

+ 12x0 h

+ 8h ) +

b
2

(4x0 h + 4h ) + c (2h) =

x0
2

2h (ax

h
3

+ bx0 + c) + 2 (2ax0 + b) h

8
3

ah

(y0 + 4y1 + y2 )

Engeneral,elvalordelreaaproximada,enelintervalo(xi,xi+2h)sombreadaenlafigura,es
h
3

(yi + 4yi+1 + yi+2 )

Elreaaproximadaenelintervalo(a,b)es
b

f (x)dx
3

h
(y0 + 4y1 + y2 ) +

h
(y2 + 4y3 + y4 ) + .... +

(yn2 + 4yn1 + yn )

obien,agrupandotrminos
b

f (x)dx
3

((y0 + yn ) + 4(y1 + y3 + ....yn1 ) + 2(y2 + y4 + ....yn2 ))

Elprimerparntesis,contienelasumadelosextremos,elsegundo,lasumadelostrminosdendiceimpar,yel
tercerolasumadelostrminosdendicepar.EnelmtododeSimpson,elnmerodedivisionesndebedeser
par.
Definimosenlafuncinsimpsonelprocedimiento.Dondefeslafuncinintegrando,yxelvectorden+1datos
comprendidosentrelaabscisainicialx0ylafinalxfambasincluidas,sielnmerodeintervalosesnquetieneque
serunnmeroPAR.
functionsuma=simpson(f,x0,xf,n)
%nnmeropardeintervalos,n+1nmerodepuntosenelvector
x=linspace(x0,xf,n+1)

http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/numerico/integral/integral.html

5/6

17/1/2016

Integracinnumrica
h=x(2)x(1)
suma=f(x(1))+f(x(n+1))
fori=2:2:n
suma=suma+4*f(x(i))
end
fori=3:2:n1
suma=suma+2*f(x(i))
end
suma=suma*h/3
end

Dadalafuncinintegrandof(x),calculamoslaaproximacinalaintegraldefinidaenelintervalocomprendido
entrex0yx,escribiendoelscriptvelocidad_3
x0=input('abscisainicial,x0:')
xf=input('abscisafinal,xf:')
n=input('nmerointervalos(par),n:')
ifrem(n,2)==1
disp('Elnmerointervalostienequeserpar')
break
end
deriv=@(x)x^2+14*x+21%definicindelintegrando
res=simpson(deriv,x0,xf,n)%calculalaintegral
fprintf('Elvaloraproximadodelaintegral:%3.2f\n',res)

Enlaventanadecomandoscorremoselscriptvelocidad_3
>>velocidad_3
abscisainicial,x0:0
abscisafinal,xf:10
nmerointervalos,n:10
Elvaloraproximadodelaintegral:576.67

ApreciamoslamejoraenelresultadodelaintegralconelmtododeSimpson.
ExisteunaversindelmtododeSimpsondenominada3/8enelqueseempleaunaecuacincbicapara
concectarcuatropuntos.

EnergasRenovablesEUITIdeEibar

http://www.sc.ehu.es/sbweb/energiasrenovables/MATLAB/numerico/integral/integral.html

6/6

Вам также может понравиться