Upload
christian-riveros-lizana
View
377
Download
27
Embed Size (px)
DESCRIPTION
vesdge rdfg erdfg verdf gredf grfdg vrfd grfdg vrfdg vrtfd grtfd
Citation preview
Universidad Nacional Agraria La Molina Maestra en Recursos Hdricos Facultad de Ingeniera Agrcola Departamento de Recursos Hdricos METODOS NUMERICOS EN INGENIERIA DE RECURSOS HIDRICOS
Solucin de ecuaciones No Lineales por los mtodos de Newton Raphson y Secante Aplicado a la Hidrulica de Canales. 1
INTRODUCCION A LA PROGRAMACION Y ESTRUCTURAS DE CONTROL
Pseudocdigo MATLAB VISUAL BASIC IF/THE: IF condicin THEN Bloque verdadero END IF
if b ~ = 0 r1=-c/b; end
If b 0 Then r1 = -c / b End If
IF/THE/ELSE: IF condicin THEN Bloque verdadero ELSE Bloque falso END IF
if a < 0 b = sqrt(abs(a)); else b = sqrt(a); end
If a < 0 Then b = sqrt(abs(a)) Else b = sqr(a) End If
IF/THE/ELSEIF: IF condicin1 THEN Bloque1 ELSEIF Bloque2 ELSEIF Bloque3 ELSE Bloque4 END IF
if class == 1 x = x + 8; elseif class < 1 x = x 8; elseif class = 10, break, end j = i * x; end
Do i = i + 1 If i >= 10 Then Exit Do j = i * x Loop
LOOP CONTROLADO POR CONTADOR: DO FOR i=inicio, incremento, fin. Bloque END FOR
for i = 1:2:10 x = x + i; end
For i = 1 To 10 Step 2 x = x + i Next i
Universidad Nacional Agraria La Molina Maestra en Recursos Hdricos Facultad de Ingeniera Agrcola Departamento de Recursos Hdricos METODOS NUMERICOS EN INGENIERIA DE RECURSOS HIDRICOS
Solucin de ecuaciones No Lineales por los mtodos de Newton Raphson y Secante Aplicado a la Hidrulica de Canales. 2
Ejemplos de aplicacin de estructuras de control en MatLab Cdigo IF/THE clear; disp('Ejemplo Codigo IF/THEN'); b=input('Ingrese valor de b : '); c=input('Ingrese valor de c : '); if b ~= 0 r1=-c/b end Ejecutando el cdigo en ventana de comandos de MatLab >> ifthen Ejemplo Codigo IF/THEN Ingrese valor de b : 5 Ingrese valor de c : 6 r1 = -1.2000 Codigo IF/THE/ELSE clear; disp('Ejemplo Codigo IF/THEN/ELSE'); a=input('Ingrese valor de a : '); if a < 0 b=sqrt(abs(a)) else b=sqrt(a) end Ejecutando el cdigo en ventana de comandos de MatLab >> ifthenelse Ejemplo Codigo IF/THEN/ELSE Ingrese valor de a : -6 b = 2.4495 Cdigo IF/THE/ELSEIF: clear; disp('Ejemplo Codigo IF/THEN/ELSEIF'); class=input('Ingrese valor de class : '); x=input('Ingrese valor de x : '); if class == 1 x=x+8; elseif class < 1 x=x-8; elseif class
Universidad Nacional Agraria La Molina Maestra en Recursos Hdricos Facultad de Ingeniera Agrcola Departamento de Recursos Hdricos METODOS NUMERICOS EN INGENIERIA DE RECURSOS HIDRICOS
Solucin de ecuaciones No Lineales por los mtodos de Newton Raphson y Secante Aplicado a la Hidrulica de Canales. 3
x=x-64; end x Ejecutando el cdigo en ventana de comandos de MatLab >> ifthenelseif Ejemplo Codigo IF/THEN/ELSEIF Ingrese valor de class : 15 Ingrese valor de x : 80 x = 16 Cdigo CASE clear; disp('Ejemplo Codigo CASE'); a=input('Ingrese valor de a : '); b=input('Ingrese valor de b : '); switch a+b case 1 x=-5; case 2 x=-5-(a+b)/10; case 3 x=(a+b)/10; otherwise x=5; end x Ejecutando el cdigo en ventana de comandos de MatLab >> ejemplocase Ejemplo Codigo CASE Ingrese valor de a : 1 Ingrese valor de b : 2 x = 0.3000 Cdigo DOEXIT: clear; disp('Ejemplo Codigo DOEXIT'); x=input('Ingrese valor de x : '); i=input('Ingrese valor de i : '); while 1 i=i+1; if i>=10,break,end j=i*x; end j
Universidad Nacional Agraria La Molina Maestra en Recursos Hdricos Facultad de Ingeniera Agrcola Departamento de Recursos Hdricos METODOS NUMERICOS EN INGENIERIA DE RECURSOS HIDRICOS
Solucin de ecuaciones No Lineales por los mtodos de Newton Raphson y Secante Aplicado a la Hidrulica de Canales. 4
Ejecutando el cdigo en ventana de comandos de MatLab >> doexit Ejemplo Codigo DOEXIT Ingrese valor de x : 20 Ingrese valor de i : 2 j = 180 Cdigo LOOP CONTROLADO POR CONTADOR: clear; disp('Ejemplo Codigo LOOP FOR'); j=input('Ingrese valor de inicio : '); n=input('Ingrese valor de final : '); s=input('Ingrese valor de incremento : '); x=input('Ingrese valor de x : '); for i=j:s:n x=x+i; end x Ejecutando el cdigo en ventana de comandos de MatLab >> loopfor Ejemplo Codigo LOOP FOR Ingrese valor de inicio : 5 Ingrese valor de final : 60 Ingrese valor de incremento : 2 Ingrese valor de x : 3 x = 899
Universidad Nacional Agraria La Molina Maestra en Recursos Hdricos Facultad de Ingeniera Agrcola Departamento de Recursos Hdricos METODOS NUMERICOS EN INGENIERIA DE RECURSOS HIDRICOS
Solucin de ecuaciones No Lineales por los mtodos de Newton Raphson y Secante Aplicado a la Hidrulica de Canales. 5
SOLUCIN DE ECUACIONES NO LINEALES
CALCULO DE TIRANTE NORMAL - SECCION TRAPEZOIDAL
METODO DE NEWTON - RAPHSON
Q = 20 m3/seg
B = 5 mZ = 1.5 mN = 0.015 s/uS = 0.00035 m/mC = 4123.46L = 1.80 s/u
ITERA Y A P T F D
1 1.75 13.34375 11.31 10.25 -816.06 10594.07492 1.82703016 14.1422096 11.59 10.4810905 89.73 12990.45313 1.8201231 14.0698876 11.56 10.4603693 0.80 12758.93324 1.82006028 14.0692305 11.56 10.4601808 0.00 12756.8432
VERIFICACION CON HCANALES
yyzbA )(
zybT 2
212 zybP
3
24 )145(
P
ZAPTAD
)(
)('1
n
n
nnyf
yfyy
3
2
12
5
S
nQ
P
AF
Universidad Nacional Agraria La Molina Maestra en Recursos Hdricos Facultad de Ingeniera Agrcola Departamento de Recursos Hdricos METODOS NUMERICOS EN INGENIERIA DE RECURSOS HIDRICOS
Solucin de ecuaciones No Lineales por los mtodos de Newton Raphson y Secante Aplicado a la Hidrulica de Canales. 6
DIAGRAMA DE FLUJO PARA EL CLCULO DEL TIRANTE NORMAL, SECCION TRAPEZOIDAL, POR EL MTODO DE NEWTON RAPHSON
V
F
Tirante Normal Seccin Trapezoidal
Leer: Q,B,Z,Y,N,S,Err
C=(Q*N/sqrt(S))^3 L=sqrt(1+Z^2)
D=(A^4*(5*P*T-4*A*L))/P^3 Y1=Y-F/D Y=Y1
abs(F)>=Err
V=Q/A DH=A/T NF=V/sqrt(9.81*DH) EN=Y+V^2/(9.81*2)
Escriba: Y,V,NF,EN
A=(B+Z*Y)*Y P=B+2*Y*L T=B+2*Z*Y F=A^5/P^2-C
A=(B+Z*Y)*Y P=B+2*Y*L T=B+2*Z*Y F=A^5/P^2-C
FIN
INICIO
Universidad Nacional Agraria La Molina Maestra en Recursos Hdricos Facultad de Ingeniera Agrcola Departamento de Recursos Hdricos METODOS NUMERICOS EN INGENIERIA DE RECURSOS HIDRICOS
Solucin de ecuaciones No Lineales por los mtodos de Newton Raphson y Secante Aplicado a la Hidrulica de Canales. 7
Cdigo en MATLAB del Algoritmo de Newton Raphson Para el clculo de tirante normal yn en canales de seccin trapezoidal
Q=20; B=5; Z=1.5; N=0.015; S=0.00035; C=(Q*N/S^0.5)^3; L=sqrt(1+Z^2); Y=1.75; Err=0.001; A=(B+Z*Y)*Y; P=B+2*Y*L; T=B+2*Z*Y; F=A^5/P^2-C; while abs(F)>=Err D=(A^4*(5*P*T-4*A*L))/(P^3); Y=Y-F/D; A=(B+Z*Y)*Y; P=B+2*Y*L; T=B+2*Z*Y; F=A^5/P^2-C; end V=Q/A; DH=A/T; NF=V/sqrt(9.81*DH); EN=Y+V^2/(2*9.81); Y,V,NF,EN
Ejecutando el cdigo en ventana de comandos de MatLab >> tiranteyn Y = 1.8201 V = 1.4215 NF = 0.3913 EN = 1.9231
Universidad Nacional Agraria La Molina Maestra en Recursos Hdricos Facultad de Ingeniera Agrcola Departamento de Recursos Hdricos METODOS NUMERICOS EN INGENIERIA DE RECURSOS HIDRICOS
Solucin de ecuaciones No Lineales por los mtodos de Newton Raphson y Secante Aplicado a la Hidrulica de Canales. 8
CALCULO DE TIRANTE NORMAL - SECCION TRAPEZOIDAL
METODO DE LA SECANTE
Q = 20 m3/seg
B = 5 mZ = 1.5 mN = 0.015 s/uS = 0.00035 m/mC = 4123.459L = 1.803 s/u
ITERA Y0 Y1 A0 P0 A1 P1 F0 F1
1 1.75 1.7501 13.34375 11.31 13.34478 11.31 -816.06 -815.002 1.7501 1.82702 13.34478 11.31 14.1421 11.59 -815.00 89.593 1.82702 1.819402 14.1421 11.59 14.06234 11.56 89.59 -8.394 1.819402 1.820054 14.06234 11.56 14.06917 11.56 -8.39 -0.085 1.820054 1.82006 14.06917 11.56 14.06923 11.56 -0.08 0.00
VERIFICACION CON HCANALES
yyzbA )(
zybT 2
3
2
12
5
S
nQ
P
AF
212 zybP
)()(
))((
1
1
1
ii
iii
iiyfyf
yyyfyy
Universidad Nacional Agraria La Molina Maestra en Recursos Hdricos Facultad de Ingeniera Agrcola Departamento de Recursos Hdricos METODOS NUMERICOS EN INGENIERIA DE RECURSOS HIDRICOS
Solucin de ecuaciones No Lineales por los mtodos de Newton Raphson y Secante Aplicado a la Hidrulica de Canales. 9
Cdigo en MATLAB del Algoritmo de la Secante Para el clculo de tirante normal yn en canales de seccin trapezoidal
clc;clear Q=20; B=5; Z=1.5; N=0.015; S=0.00035; C=(Q*N/S^0.5)^3; L=sqrt(1+Z^2); Y=1.75;Y2=1.7501; Err=0.001; A=(B+Z*Y)*Y;A2=(B+Z*Y2)*Y2; P=B+2*Y*L;P2=B+2*Y2*L; F=A^5/P^2-C;F2=A2^5/P2^2-C; while abs(F)>=Err Y3=Y2-(F2*(Y-Y2))/(F-F2); Y=Y2;Y2=Y3; A=(B+Z*Y)*Y;A2=(B+Z*Y2)*Y2; P=B+2*Y*L;P2=B+2*Y2*L; F=A^5/P^2-C;F2=A2^5/P2^2-C; end T=B+2*Y*Z; V=Q/A; DH=A/T; NF=V/sqrt(9.81*DH); EN=Y+V^2/(2*9.81); Y,V,NF,EN
Ejecutando el cdigo en ventana de comandos de MatLab >> ynsecante Y = 1.8201 V = 1.4215 NF = 0.3913 EN = 1.9231
Universidad Nacional Agraria La Molina Maestra en Recursos Hdricos Facultad de Ingeniera Agrcola Departamento de Recursos Hdricos METODOS NUMERICOS EN INGENIERIA DE RECURSOS HIDRICOS
Solucin de ecuaciones No Lineales por los mtodos de Newton Raphson y Secante Aplicado a la Hidrulica de Canales. 10
PROBLEMAS COMPLEMENTARIOS DE APLCACION
1. Elaborar y probar un programa en MATLAB utilizando el algoritmo de la secante, para el clculo del tirante normal yn en canales de seccin circular. Para comprobar la correcta elaboracin y ejecucin del mismo, utilizar los datos, clculos preliminares y resultados mostrados a continuacin en la tabla realiza en Hoja de Clculo Excel y en programa Hcanales.
CALCULO DE TIRANTE NORMAL - SECCION CIRCULAR
METODO DE LA SECANTE
D = 2 mQ = 2 m3/segN = 0.014 s/uS = 0.0004 m/mC = 1.4
ITERA Y0 Y1 A0 P0 A1 P1 F0 F1
1 0.700000 0.700100 0.9799219 2.5322073 0.9801127 2.532417 -0.879621 -0.8794812 0.700100 1.327657 0.9801127 2.532417 2.2141882 3.8092378 -0.879481 0.14216963 1.327657 1.240328 2.2141882 3.8092378 2.0467848 3.6270005 0.1421696 -0.0022744 1.240328 1.241703 2.0467848 3.6270005 2.049454 3.6298342 -0.002274 3.56E-055 1.241703 1.241682 2.049454 3.6298342 2.0494128 3.6297906 3.56E-05 6.853E-096 1.241682 1.241682 2.0494128 3.6297906 2.0494128 3.6297906 6.853E-09 -2.09E-14
VERIFICACION CON HCANALES
)()(
))((
1
1
1
ii
iii
iiyfyf
yyyfyy
)
2(1
2
xCos
Dy
)(8
1xSenxA
D
yCosArcx
212
DxP2
1
)2
(x
SenDT
2
1
2
5
3
2
2
1
))((8
1
S
nQ
Dx
xSenx
Fx