Ecuaciones Diferenciales Ordinarias en MatLab

5
  !"#$#%& ()*#+ ,-.#-)&*/0 1)2/"/*-)#+/0 3"4)*#")#0 !"#$%&'$( *" +,-&,$(%". /$0"'"%,$&1". 2'*$%&'$&. 3&,-%*( 4&#5% 5,678,9 4".(1-,$5% *" -% .$.6"#& *" ",-&,$(%". *$0"'"%,$&1". *" 7'$#"' ('*"% 7(' #86(*( *" 4-%9" :-66& *" ;6( ('*"% ,(% !(06<&'" =&6>&? 4@ABA&  7*):/"0)4#4 9#-)&*#+ 4/ !"/0 4/ (/$"/"& ;*</*)/"=# 4/ 6&*)4& >4& ?.#@")A/0@"/ >BCC

description

Desarrollo del método Runge Kutta en MatLab

Transcript of Ecuaciones Diferenciales Ordinarias en MatLab

Page 1: Ecuaciones Diferenciales Ordinarias en MatLab

5/16/2018 Ecuaciones Diferenciales Ordinarias en MatLab - slidepdf.com

http://slidepdf.com/reader/full/ecuaciones-diferenciales-ordinarias-en-matlab 1/5

 

TrabajoFinalEcuacionesDiferenciales

Ordinarias

SeminariodeEcuacionesDiferencialesOrdinarias

FacundoRamón

RESUMEN

ResolucióndeunsistemadeecuacionesdiferencialesdeprimerordenpormétododeRungeKuttade4toordenconSoftwareMatLabR2010a

UniversidadNacionaldeTresdeFebrero

IngenieríadeSonido

2doCuatrimestre2011

Page 2: Ecuaciones Diferenciales Ordinarias en MatLab

5/16/2018 Ecuaciones Diferenciales Ordinarias en MatLab - slidepdf.com

http://slidepdf.com/reader/full/ecuaciones-diferenciales-ordinarias-en-matlab 2/5

 

SeminarioEcuacionesDiferencialesOrdinarias RamónFacundo

UniversidadNacionaldeTresdeFebrero–Ing.DeSonido 1

ObjetivoElobjetivodeltrabajoesobtenerelvalordelasfunciones!!(!)e!!(!)en! = 0.5

partiendodelsiguientesistemadeecuacionesdiferencialesordinariasdeprimer

ordenconvaloresiniciales.

!!! !

!"= −20!! + 10!! + 100

!!! !

!"= 10!! − 20!!

!! 0 = !! 0 = 0

(1)

Querespondealcomportamientodelacorrientedelsiguientecircuito.

E=100[v],R=10[Ω]yL=1[h].

DesarrollodelcódigoSeutlizóelmétodoRungeKuttade4toorden.Primeroserealizóuncódigosimple

con un únicoloop for que resuelve el sistema y luego se lo comparó con lafunciónODE45delalibreríadeMatLab.

Elprimercódigodefineenlavariablehelpasodeladiscretización,yluegodefine

elvalorinicialdelosvectoresi1 ei3segúnlainformacióndelenunciado.Los

vectoresi1ei3seránlosvaloresdelacorrienteenfuncióndeltiempoalfinalizar

elalgoritmo.Posteriormente,ingresaenunloopforenelquesecalculanlosk1,

k2,k3yk4delasfuncionesi1ei3,yseobtieneelsiguientevalordei1ei3,

habiendodadosaltosdefinidosporh.Deestamanera,amedidaqueelloop for

avanzasegeneranlosvectoresi1 ei3quecontienen,enlaposición0.5/h,el

valorde!!(!)e!!(!)en! = 0.5segundos.

Elsegundocódigoprecisalageneracióndeunafunción,enestecasollamadafun,enlacualsedeclaranelsistemadeecuacionesquesequiereresolverylosvalores

inicialesdelproblemay,pormediodelafunciónODE45,seobtienenlosvectores

deseados.

Enamboscasossegraficalasolución.Seeligióunintervaloderesoluciónde0a1

segundoenamboscasos.

Yporúltimo,sesolicitaelvalordelasfuncionesfunciones!!(!)e!!(!)en! = 0.5

paracomprarlosresultadosentreambosmétodos.

Page 3: Ecuaciones Diferenciales Ordinarias en MatLab

5/16/2018 Ecuaciones Diferenciales Ordinarias en MatLab - slidepdf.com

http://slidepdf.com/reader/full/ecuaciones-diferenciales-ordinarias-en-matlab 3/5

 

SeminarioEcuacionesDiferencialesOrdinarias RamónFacundo

UniversidadNacionaldeTresdeFebrero–Ing.DeSonido 2

Códigosyresultados

Código1%% Runge Kutta de Orden 4 h=0.01; %Paso 

i1(1)=0; %Condición inicial para i1 i3(1)=0; %Condición inicial para i2 

%Generación de los vectores i1 e i3 for i=1:1/h 

k11=-20*i1(i)+10*i3(i)+100; k31=10*i1(i)-20*i3(i); 

k12=-20*(i1(i)+1/2*k11*h)+10*(i3(i)+1/2*k31*h)+100;  k32=10*(i1(i)+1/2*k11*h)-20*(i3(i)+1/2*k31*h);  

k13=-20*(i1(i)+k12*h)+10*(i3(i)+k32*h)+100;  k33=10*(i1(i)+k12*h)-20*(i3(i)+k32*h);  

k14=-20*(i1(i)+k13*h)+10*(i3(i)+k33*h)+100;  k34=10*(i1(i)+k13*h)-20*(i3(i)+k33*h);  

i1(i+1)=i1(i)+(h/6)*(k11+2*k12+2*k13+k14);  i3(i+1)=i3(i)+(h/6)*(k31+2*k32+2*k33+k34);  

end 

%Ploteo y=0:h:1; %Vector de referencia plot(y,i1,'b-',y,i3,'r-.') grid 

%Resultados

valor1=i1(0.5/h) valor2=i3(0.5/h) 

Elcódigoentregalossiguientesvalores. 

valor1 = 6.6263valor2 = 3.2929

Esdecir,!! 0.5 = 6.6263e !! 0.5 = 3.2929.Yseobtieneelsiguientegráfico.

Page 4: Ecuaciones Diferenciales Ordinarias en MatLab

5/16/2018 Ecuaciones Diferenciales Ordinarias en MatLab - slidepdf.com

http://slidepdf.com/reader/full/ecuaciones-diferenciales-ordinarias-en-matlab 4/5

 

SeminarioEcuacionesDiferencialesOrdinarias RamónFacundo

UniversidadNacionaldeTresdeFebrero–Ing.DeSonido 3

Código2%%Función para ODE45 function dy=fun(t,y) 

dy=zeros(2,1); dy(1)=-20.*y(1)+10.*y(2)+100; dy(2)=10.*y(1)-20.*y(2); 

%%Resolución con funciones de MatLab error=odeset('RelTol',1e-4);

[T,Y]=ode45(@fun,[0 1],[0 0],error);

plot(T,Y(:,1),'-',T,Y(:,2),'-.') grid 

k=0; for i=1:length(T) 

if T(i)<=0.5 k=k+1 

end 

end Y(k+1,:)

Elcódigoentregalossiguientesvalores: 

valor1 = 6.6345

valor2 = 3.3012

Muysimilaresalosentregadosporelcódigo1.Ytambiéndevuelveungráfico

similar.

 

ComprobaciónanalíticaDadoquela fuentedelcircuitoesde tensióncontinua, los inductoresnoofrecen

resitenciateóricaalpasodelacorriente,porlotantolacorrientefinaldelcircuito

(superadoelestadoestacionario) dependeúnicamentedelvoltajede lafuentey

losvaloresdelasresistencias.

Laresistenciatotaldeestecircuitoesde15[Ω]y latensión100[v],entoncespor

Ley de Ohm, la corriente total del circuito es de 6,66[A]. Por Ley de Kirchhoff

tenemos que!! = !! + !! y, como ambas ramas tienen iguales resistencias, se

Page 5: Ecuaciones Diferenciales Ordinarias en MatLab

5/16/2018 Ecuaciones Diferenciales Ordinarias en MatLab - slidepdf.com

http://slidepdf.com/reader/full/ecuaciones-diferenciales-ordinarias-en-matlab 5/5

 

SeminarioEcuacionesDiferencialesOrdinarias RamónFacundo

UniversidadNacionaldeTresdeFebrero–Ing.DeSonido 4

deduceque!! =!,!! !

!= 3,33[ !].En0.5segundoselcircuitoprácticamentellegaa

su estado estacionario y las corrientes semantienen en esos valores hasta que

varíelafuente.

BibliografíaMatLabR2010a,MatlabGettingStartedGuide,TheMathworksInc.2010

Seminario de Ecuaciones Diferenciales Ordinarias, Material y apuntes del

seminario,UNTREF,Ing.DeSonido2011

DennisG.Zill,Ecuacuinesdiferencialesconaplicacionesdemodelado6taedición,

Ed.Thomson,1997

Tabladecontenido

Objetivo....................................................................................................................1

Desarrollodelcódigo.................................................................................................1

Códigosyresultados..................................................................................................2Código1........................................................... .................................................................. ..........................................2Código2........................................................... .................................................................. ..........................................3

Comprobaciónanalítica.............................................................................................3

Bibliografía................................................................................................................4