Taller Computacion (1)
-
Upload
kkkkkkkkkkkk -
Category
Documents
-
view
30 -
download
2
Transcript of Taller Computacion (1)
![Page 1: Taller Computacion (1)](https://reader036.fdocuments.es/reader036/viewer/2022082609/55cf9bc4550346d033a74fbf/html5/thumbnails/1.jpg)
ECUACIONES DIFERENCIALES ORDINARIAS (EDO)
COMPUTACION NUMERICA EN TEORIA ELECTROMAGNETICA
DIRIGIDO POR: CODIGO
GIOVANNY CASTILLO CASTILLO 2111144
JONATHAN ALEXANDER PEREZ MUNEVAR 2110931
DIRIGO A:
NIDIA QUINTERO PEÑA
UNIVERSIDAD INDUSTRIAL DE SANTANDER
FACULTAD DE INGENIERIAS FISICO-MECANICAS
ESCUELA DE INGENIERIAS ELECTRICA, ELECTRONICA Y DE TELECOMUNICACIONES
BUCARAMANGA, 27 DE SEPTIEMBRE DE 2013
![Page 2: Taller Computacion (1)](https://reader036.fdocuments.es/reader036/viewer/2022082609/55cf9bc4550346d033a74fbf/html5/thumbnails/2.jpg)
EJERCICIOS
1. Resolver la EDO utilizando el método de diferencias finitas de orden O(h2) con h=1. Las condiciones frontera son: y(0)=5 y y(20)=8.
8 y ' '−2 y '− y+x=0
![Page 3: Taller Computacion (1)](https://reader036.fdocuments.es/reader036/viewer/2022082609/55cf9bc4550346d033a74fbf/html5/thumbnails/3.jpg)
2. Un balance de calor en estado estable para una barra se puede representar como:
d2Td x2 −0,1T=0
Utilice FD con Δx=1m para obtener una solución en una barra de 10m, con condiciones T(0)=200°C y T(10)=100°C.
x y1 4.45822 4.25573 4.31754 4.58525 5.01306 5.56497 6.21248 6.93239 7.705410 8.514411 9.342312 10.170013 10.972614 11.715015 12.343116 12.771117 12.860218 12.383219 10.9676
![Page 4: Taller Computacion (1)](https://reader036.fdocuments.es/reader036/viewer/2022082609/55cf9bc4550346d033a74fbf/html5/thumbnails/4.jpg)
3. Aplique el método RK de orden tres para resolver el siguiente problema desde t=0 hasta 2, con un tamaño paso de 0.5. La condición inicial es y(0)=1.
dydt
=− y+t
x=t
CODIGO:
x y1 188.35002 176.80003 165.45004 154.40005 143.75006 133.60007 124.05008 115.20009 107.1500
![Page 5: Taller Computacion (1)](https://reader036.fdocuments.es/reader036/viewer/2022082609/55cf9bc4550346d033a74fbf/html5/thumbnails/5.jpg)
function ffprintf('\n \tRESOLUCION DE ECUACIONES DIFERENCIALES POR MEDIO METODO DEL RUNJEKUTA TERCER ORDEN\n')f=input('\nIngrese la ecuacion diferencial de la forma: dy/dx=f(x,y)\n','s');x0=input('\nIngrese el valor inferior de la frontera x0:\n');x1=input('\nIngrese el valor superior de la frontera x1:\n');y0=input('\nIngrese la condicion inicial y(x0):\n');n=input('\nIngrese el numero de pasos n:\n');h=(x1-x0)/n;xs=x0:h:x1;y1=y0;fprintf('\n''it x0 x1 y1');for i=1:ny=y0;it=i-1;x0=xs(i);x=x0;x1=xs(i+1);k1=eval(f);x= x0 + h/2;y=y0 + k1*h/2;k2=eval(f);x= x0 + h;y= y0 - k1*h + 2*k2*h;k3=eval(f);y1=y0 + ((k1/6) + (2*k2/3) + (k3/6))*h;fprintf('\n%2.0f%10.6f%10.6f%10.6f\n',it,x0,x1,y1);y0=y1;endfprintf('\n El punto aproximado y(x1) es = %10.6f\n',y1);
RESOLUCION DE ECUACIONES DIFERENCIALES POR MEDIO METODO DEL RUNJEKUTA TERCER ORDEN
Ingrese la ecuacion diferencial de la forma: dy/dx=f(x,y)
-y + x
Ingrese el valor inferior de la frontera x0:
0
Ingrese el valor superior de la frontera x1:
2
Ingrese la condicion inicial y(x0):
1
Ingrese el numero de pasos n:
4
![Page 6: Taller Computacion (1)](https://reader036.fdocuments.es/reader036/viewer/2022082609/55cf9bc4550346d033a74fbf/html5/thumbnails/6.jpg)
'it x0 x1 y1
0 0.000000 0.500000 0.708333
1 0.500000 1.000000 0.730035
2 1.000000 1.500000 0.941063
3 1.500000 2.000000 1.266475
El punto aproximado y(x1) es = 1.266475
4. Resuelva la EDO con el método RK de orden cuatro, en el intervalo t ɛ (0,1) con h=0.1. Las condiciones iniciales son: y(0)= - 0.4 y y’(0)= - 0.6.
y ' '−2 y '+2 y=e2t sen( t)
Partiendo de:
y '1= y2 y '2=2 y2−2 y+ex sen (x) y01=−0,4 y02=¿−0,6¿
CODIGO:
fprintf('\n \tRESOLUCION DE SISTEMA ECUACIONES DIFERENCIALES POR MEDIO METODO DEL RUNJEKUTA CUARTO ORDEN PARA DOS ECUACIONES\n')% y1'=df/dx, y2'=dg/dy, x=x, y=y1,z=y2 f= input('\nIngrese la ecuacion diferencial de la forma: df/dx=f(x,y,z)\n','s'); g= input('\nIngrese la ecuacion diferencial de la forma: dg/dx=f(x,y,z)\n','s'); linferior= input('\nIngrese el valor inferior de la frontera :\n'); lsuperior= input('\nIngrese el valor superior de la frontera :\n'); y10=input('\nIngrese la condicion inicial y10:\n'); y20=input('\nIngrese la condicion inicial y20:\n'); h=input('\nIngrese el valor del paso h:\n'); b=(lsuperior-linferior)/h; for i=1:bx=linferior;t=linferior + h;fprintf('para x= % g \n',t);y=y10;z=y20;k1=eval(f);x= x + h/2;y= y + k1*h/2;z= z + k1*h/2;k2=eval(f);x= linferior + h/2;y= y10 + k2*h/2;z= y20 + k2*h/2;k3=eval(f);x= linferior + h;y=y10 + k3*h;z=y20 + k3*h;k4=eval(f);f1= y10 + ((k1/6) + (k2/3) + (k3/3)+ (k4/6))*h; fprintf('el valor de y1 es : %f\n',f1); x=linferior;
![Page 7: Taller Computacion (1)](https://reader036.fdocuments.es/reader036/viewer/2022082609/55cf9bc4550346d033a74fbf/html5/thumbnails/7.jpg)
y=y10;z=y20;k1=eval(g);x= x + h/2;y= y + k1*h/2;z= z + k1*h/2;k2=eval(g);x= linferior + h/2;y= y10 + k2*h/2;z= y20 + k2*h/2;k3=eval(g);x= linferior + h;y=y10 + k3*h;z=y20 + k3*h;k4=eval(g);f2= y20 + ((k1/6) + (k2/3) + (k3/3)+ (k4/6))*h;fprintf('el valor de y2 es : %f\n\n',f2) y10=f1;;y20=f2;linferior=linferior+h;i=i+1; end
RESOLUCION DE SISTEMA ECUACIONES DIFERENCIALES POR MEDIO METODO DEL RUNJEKUTA CUARTO ORDEN PARA DOS ECUACIONES
Ingrese la ecuacion diferencial de la forma: df/dx=f(x,y,z)
z
Ingrese la ecuacion diferencial de la forma: dg/dx=f(x,y,z)
2*z - 2*y + (exp(x))*sin(x)
Ingrese el valor inferior de la frontera :
0
Ingrese el valor superior de la frontera :
1
Ingrese la condicion inicial y10:
-0.4
Ingrese la condicion inicial y20:
-0.6
Ingrese el valor del paso h:
0.1
para x= 0.1
el valor de y1 es : -0.463103
![Page 8: Taller Computacion (1)](https://reader036.fdocuments.es/reader036/viewer/2022082609/55cf9bc4550346d033a74fbf/html5/thumbnails/8.jpg)
el valor de y2 es : -0.634658
para x= 0.2
el valor de y1 es : -0.529850
el valor de y2 es : -0.651512
para x= 0.3
el valor de y1 es : -0.598370
el valor de y2 es : -0.643973
para x= 0.4
el valor de y1 es : -0.666097
el valor de y2 es : -0.604323
para x= 0.5
el valor de y1 es : -0.729654
el valor de y2 es : -0.523634
para x= 0.6
el valor de y1 es : -0.784725
el valor de y2 es : -0.391712
para x= 0.7
el valor de y1 es : -0.825922
el valor de y2 es : -0.197056
para x= 0.8
el valor de y1 es : -0.846647
el valor de y2 es : 0.073149
![Page 9: Taller Computacion (1)](https://reader036.fdocuments.es/reader036/viewer/2022082609/55cf9bc4550346d033a74fbf/html5/thumbnails/9.jpg)
para x= 0.9
el valor de y1 es : -0.838954
el valor de y2 es : 0.433009
para x= 1
el valor de y1 es : -0.793414
el valor de y2 es : 0.897853
5. Utilice un método de RK de segundo orden para resolver el siguiente sistema de EDO, sobre el rango x ɛ (0,2) utilizando un tamaño de paso de 0.25. Las condiciones iniciales del sistema son: y(0)=2 y z(0)=4.
dydx
=−2 y+5e−x
dzdx
=− y z2
2
CODIGO:
fprintf('\n \tRESOLUCION DE SISTEMA ECUACIONES DIFERENCIALES POR MEDIO METODO DEL RUNJEKUTA SEGUNDO ORDEN PARA DOS ECUACIONES\n')% y1'=df/dx, y2'=dg/dy, x=x, y=y1,z=y2 f= input('\nIngrese la ecuacion diferencial de la forma: df/dx=f(x,y,z)\n','s'); g= input('\nIngrese la ecuacion diferencial de la forma: dg/dx=f(x,y,z)\n','s'); linferior= input('\nIngrese el valor inferior de la frontera :\n'); lsuperior= input('\nIngrese el valor superior de la frontera :\n'); y10=input('\nIngrese la condicion inicial y10:\n'); y20=input('\nIngrese la condicion inicial y20:\n'); h=input('\nIngrese el valor del paso h:\n'); b=(lsuperior-linferior)/h; x=0;for i=1:bx=linferior;t=linferior + h;fprintf('para x= % g \n',t);y=y10;z=y20; k1=eval(f);x= x + 3*h/4;y= y + k1*3*h/4;z= z + k1*3*h/4;k2=eval(f);
![Page 10: Taller Computacion (1)](https://reader036.fdocuments.es/reader036/viewer/2022082609/55cf9bc4550346d033a74fbf/html5/thumbnails/10.jpg)
f1= y10 + ((k1/3) + (2*k2/3))*h; fprintf('el valor de y1 es : %f\n',f1); x=linferior;y=y10;z=y20;k1=eval(g);x= x + 3*h/4;y= y + k1*3*h/4;z= z + k1*3*h/4;k2=eval(g);f2= y20 + ((k1/3) + (2*k2/3))*h;fprintf('el valor de y2 es : %f\n\n',f2) y10=f1;;y20=f2;linferior=linferior+h;i=i+1; end
RESOLUCION DE SISTEMA ECUACIONES DIFERENCIALES POR MEDIO METODO DEL RUNJEKUTA SEGUNDO ORDEN PARA DOS ECUACIONES
Ingrese la ecuacion diferencial de la forma: df/dx=f(x,y,z)
-2*y + 5*exp(-2*x)
Ingrese la ecuacion diferencial de la forma: dg/dx=f(x,y,z)
(-y*(z^2))/2
Ingrese el valor inferior de la frontera :
0
Ingrese el valor superior de la frontera :
2
Ingrese la condicion inicial y10:
2
Ingrese la condicion inicial y20:
4
Ingrese el valor del paso h:
0.25
para x= 0.25
![Page 11: Taller Computacion (1)](https://reader036.fdocuments.es/reader036/viewer/2022082609/55cf9bc4550346d033a74fbf/html5/thumbnails/11.jpg)
el valor de y1 es : 1.926908
el valor de y2 es : 2.750000
para x= 0.5
el valor de y1 es : 1.614883
el valor de y2 es : 2.053333
para x= 0.75
el valor de y1 es : 1.258322
el valor de y2 es : 1.606691
para x= 1
el valor de y1 es : 0.937490
el valor de y2 es : 1.336572
para x= 1.25
el valor de y1 es : 0.677541
el valor de y2 es : 1.176296
para x= 1.5
el valor de y1 es : 0.479027
el valor de y2 es : 1.079024
para x= 1.75
el valor de y1 es : 0.333093
el valor de y2 es : 1.018296
para x= 2
el valor de y1 es : 0.228624
![Page 12: Taller Computacion (1)](https://reader036.fdocuments.es/reader036/viewer/2022082609/55cf9bc4550346d033a74fbf/html5/thumbnails/12.jpg)
el valor de y2 es : 0.979547