You are on page 1of 10

Universidad Nacional Agraria La Molina

Maestría en Recursos Hídricos
Facultad de Ingeniería Agrícola
Departamento de Recursos Hídricos

METODOS NUMERICOS EN INGENIERIA DE RECURSOS HIDRICOS

INTRODUCCION A LA PROGRAMACION Y ESTRUCTURAS DE
CONTROL
Pseudocódigo
IF/THE:
IF condición THEN
Bloque verdadero
END IF
IF/THE/ELSE:
IF condición THEN
Bloque verdadero
ELSE
Bloque falso
END IF
IF/THE/ELSEIF:
IF condición1 THEN
Bloque1
ELSEIF
Bloque2
ELSEIF
Bloque3
ELSE
Bloque4
END IF

MATLAB
if b ~ = 0
r1=-c/b;
end

VISUAL BASIC
If b <> 0 Then
r1 = -c / b
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 class = 1 Then
x = x + 8
ElseIf class < 1
Then
x = x - 8
ElseIf class < 10
Then
x = x - 32
Else
x = x - 64
End If

if class == 1
x = x + 8;
elseif class < 1
x = x – 8;
elseif class<10
x = x -32;
else
x = x – 64;
end

CASE:
SELECT CASE Expresión
de prueba
CASE Valor1
Bloque1
CASE Valor2
Bloque2
CASE Valor3
Bloque3
CASE ELSE
Bloque4
END SELECT

switch a + b
case 1
x = -5;
case 2
x = -5-(a+b)/10;
case 3
x = (a+b)/10;
otherwise
x = 5;
end

DOEXIT:
DO
Bloque1
IF condicIón EXIT
Bloque2
END DO

while 1
i = i + 1;
if i > = 10, break,
end
j = i * x;
end

LOOP CONTROLADO
POR CONTADOR:
DO FOR i=inicio,
incremento, fin.
Bloque
END FOR

for i = 1:2:10
x = x + i;
end

Select Case a + b
Case Is < -50
x = -5
Case Is < 0
x = -5 - (a +
b) / 10
Case Is < 50
x = (a + b) /
10
Case Else
x = 5
End Select
Do
i = i + 1
If i >= 10
Then Exit Do
j = i * x
Loop
For i = 1 To 10
Step 2
x = x + i
Next i

Solución de ecuaciones No Lineales por los métodos de Newton Raphson y Secante
Aplicado a la Hidráulica de Canales.

1

else Solución de ecuaciones No Lineales por los métodos de Newton Raphson y Secante Aplicado a la Hidráulica de Canales. c=input('Ingrese valor de c : '). if b ~= 0 r1=-c/b end Ejecutando el código 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. elseif class <10 x=x-32.Universidad Nacional Agraria La Molina Maestría en Recursos Hídricos Facultad de Ingeniería Agrícola Departamento de Recursos Hídricos METODOS NUMERICOS EN INGENIERIA DE RECURSOS HIDRICOS Ejemplos de aplicación de estructuras de control en MatLab Código IF/THE clear. if class == 1 x=x+8. elseif class < 1 x=x-8. x=input('Ingrese valor de x : '). disp('Ejemplo Codigo IF/THEN'). a=input('Ingrese valor de a : '). if a < 0 b=sqrt(abs(a)) else b=sqrt(a) end Ejecutando el código en ventana de comandos de MatLab >> ifthenelse Ejemplo Codigo IF/THEN/ELSE Ingrese valor de a : -6 b = 2. disp('Ejemplo Codigo IF/THEN/ELSE').4495 Código IF/THE/ELSEIF: clear. disp('Ejemplo Codigo IF/THEN/ELSEIF'). b=input('Ingrese valor de b : '). class=input('Ingrese valor de class : '). 2 .

end x Ejecutando el código en ventana de comandos de MatLab >> ejemplocase Ejemplo Codigo CASE Ingrese valor de a : 1 Ingrese valor de b : 2 x = 0. end j Solución de ecuaciones No Lineales por los métodos de Newton Raphson y Secante Aplicado a la Hidráulica de Canales.break. i=input('Ingrese valor de i : '). disp('Ejemplo Codigo CASE'). switch a+b case 1 x=-5. case 2 x=-5-(a+b)/10.end j=i*x. if i>=10. b=input('Ingrese valor de b : '). disp('Ejemplo Codigo DOEXIT'). case 3 x=(a+b)/10. end x Ejecutando el código en ventana de comandos de MatLab >> ifthenelseif Ejemplo Codigo IF/THEN/ELSEIF Ingrese valor de class : 15 Ingrese valor de x : 80 x = 16 Código CASE clear. a=input('Ingrese valor de a : ').Universidad Nacional Agraria La Molina Maestría en Recursos Hídricos Facultad de Ingeniería Agrícola Departamento de Recursos Hídricos METODOS NUMERICOS EN INGENIERIA DE RECURSOS HIDRICOS x=x-64. otherwise x=5.3000 Código DOEXIT: clear. while 1 i=i+1. 3 . x=input('Ingrese valor de x : ').

end x FOR'). inicio : '). 4 . final : '). disp('Ejemplo Codigo LOOP j=input('Ingrese valor de n=input('Ingrese valor de s=input('Ingrese valor de x=input('Ingrese valor de for i=j:s:n x=x+i. x : ').Universidad Nacional Agraria La Molina Maestría en Recursos Hídricos Facultad de Ingeniería Agrícola Departamento de Recursos Hídricos METODOS NUMERICOS EN INGENIERIA DE RECURSOS HIDRICOS Ejecutando el código en ventana de comandos de MatLab >> doexit Ejemplo Codigo DOEXIT Ingrese valor de x : 20 Ingrese valor de i : 2 j = 180 Código LOOP CONTROLADO POR CONTADOR: clear. incremento : '). Ejecutando el código 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 Solución de ecuaciones No Lineales por los métodos de Newton Raphson y Secante Aplicado a la Hidráulica de Canales.

0749 12990.56 T 10.4531 12758.1422096 1.59 11.80 0.8432 3 A 4(5PT4A 1 Z2 ) D P3 VERIFICACION CON HCANALES Solución de ecuaciones No Lineales por los métodos de Newton Raphson y Secante Aplicado a la Hidráulica de Canales.Universidad Nacional Agraria La Molina Maestría en Recursos Hídricos Facultad de Ingeniería Agrícola Departamento de Recursos Hídricos METODOS NUMERICOS EN INGENIERIA DE RECURSOS HIDRICOS SOLUCIÓN DE ECUACIONES NO LINEALES CALCULO DE TIRANTE NORMAL . 5 .SECCION TRAPEZOIDAL METODO DE NEWTON .46 1.0698876 1.73 0.RAPHSON Q= B= Z= N= S= C= L= ITERA 1 2 3 4 20 5 1.82006028 14.80 3 m /seg m m s/u m/m y n 1  y n  f ( yn ) f ' ( yn ) s/u Y A 1.4601808 A  (b  z y ) y 5 F  P  b  2 y 1  z T  b  2 zy 2 A P2 F -816.4603693 10.56 11.75 13.4810905 10.34375 1.06 89.00035 4123.00 Qn   1    S2  D 10594.8201231 14.015 0.25 10.5 0.31 11.9332 12756.0692305 P 11.82703016 14.

Y.Universidad Nacional Agraria La Molina Maestría en Recursos Hídricos Facultad de Ingeniería Agrícola Departamento de Recursos Hídricos METODOS NUMERICOS EN INGENIERIA DE RECURSOS HIDRICOS DIAGRAMA DE FLUJO PARA EL CÁLCULO DEL TIRANTE NORMAL.NF.81*2) Escriba: Y.N.S.Z.81*DH) EN=Y+V^2/(9.EN A=(B+Z*Y)*Y P=B+2*Y*L T=B+2*Z*Y F=A^5/P^2-C FIN Solución de ecuaciones No Lineales por los métodos de Newton Raphson y Secante Aplicado a la Hidráulica de Canales. SECCION TRAPEZOIDAL. POR EL MÉTODO DE NEWTON RAPHSON INICIO Tirante Normal Sección Trapezoidal Leer: Q. 6 .B.V.Err C=(Q*N/sqrt(S))^3 L=sqrt(1+Z^2) A=(B+Z*Y)*Y P=B+2*Y*L T=B+2*Z*Y F=A^5/P^2-C abs(F)>=Err V D=(A^4*(5*P*T-4*A*L))/P^3 Y1=Y-F/D Y=Y1 F V=Q/A DH=A/T NF=V/sqrt(9.

Z=1. Err=0. B=5. L=sqrt(1+Z^2). N=0.3913 EN = 1.81). C=(Q*N/S^0. Y=1. T=B+2*Z*Y. Y=Y-F/D.81*DH). NF=V/sqrt(9.5. T=B+2*Z*Y.75. A=(B+Z*Y)*Y.4215 NF = 0. F=A^5/P^2-C. S=0. DH=A/T.8201 V = 1.Universidad Nacional Agraria La Molina Maestría en Recursos Hídricos Facultad de Ingeniería Agrícola Departamento de Recursos Hídricos METODOS NUMERICOS EN INGENIERIA DE RECURSOS HIDRICOS Código en MATLAB del Algoritmo de Newton Raphson Para el cálculo de tirante normal “yn” en canales de sección trapezoidal Q=20.001.5)^3.V.NF. P=B+2*Y*L. P=B+2*Y*L. EN=Y+V^2/(2*9. A=(B+Z*Y)*Y.9231 Solución de ecuaciones No Lineales por los métodos de Newton Raphson y Secante Aplicado a la Hidráulica de Canales. Y.015. end V=Q/A. F=A^5/P^2-C.00035. while abs(F)>=Err D=(A^4*(5*P*T-4*A*L))/(P^3). 7 .EN Ejecutando el código en ventana de comandos de MatLab >> tiranteyn Y = 1.

08 0.82702 1.56 f ( yi )( yi 1  yi ) f ( yi 1 )  f ( yi ) A1 13.82006 yi 1  yi  A0 13.00 89.820054 Y1 1.7501 1.34478 14.819402 1.803 s/u ITERA 1 2 3 4 5 Y0 1.06917 14.31 11.56 F0 -816.00 A  (b  z y ) y P  b  2 y 1  z T  b  2 zy 2 Qn A5   F   1   P2  S2  3 VERIFICACION CON HCANALES Solución de ecuaciones No Lineales por los métodos de Newton Raphson y Secante Aplicado a la Hidráulica de Canales.06234 14.00035 m/m C = 4123.56 11.819402 1.59 -8.459 L= 1.39 -0.015 s/u S = 0.1421 14. 8 .56 11.59 11.08 F1 -815.34478 14.39 -0.820054 1.31 11.59 -8.SECCION TRAPEZOIDAL METODO DE LA SECANTE 3 m /seg Q= 20 B= 5 m Z= 1.75 1.31 11.56 11.00 89.34375 13.06923 P1 11.59 11.06 -815.7501 1.5 m N= 0.06917 P0 11.06234 14.1421 14.82702 1.Universidad Nacional Agraria La Molina Maestría en Recursos Hídricos Facultad de Ingeniería Agrícola Departamento de Recursos Hídricos METODOS NUMERICOS EN INGENIERIA DE RECURSOS HIDRICOS CALCULO DE TIRANTE NORMAL .

F2=A2^5/P2^2-C. Err=0. L=sqrt(1+Z^2).V.4215 NF = 0.5)^3. A=(B+Z*Y)*Y.P2=B+2*Y2*L.015. Y=1.75.7501. P=B+2*Y*L.00035.P2=B+2*Y2*L.A2=(B+Z*Y2)*Y2. Z=1.3913 EN = 1. B=5.Universidad Nacional Agraria La Molina Maestría en Recursos Hídricos Facultad de Ingeniería Agrícola Departamento de Recursos Hídricos METODOS NUMERICOS EN INGENIERIA DE RECURSOS HIDRICOS Código en MATLAB del Algoritmo de la Secante Para el cálculo de tirante normal “yn” en canales de sección trapezoidal clc.81). V=Q/A.81*DH).A2=(B+Z*Y2)*Y2.Y2=Y3. EN=Y+V^2/(2*9. end T=B+2*Y*Z.F2=A2^5/P2^2-C.NF.001. P=B+2*Y*L. DH=A/T. F=A^5/P^2-C.9231 Solución de ecuaciones No Lineales por los métodos de Newton Raphson y Secante Aplicado a la Hidráulica de Canales. Y=Y2.Y2=1. F=A^5/P^2-C. while abs(F)>=Err Y3=Y2-(F2*(Y-Y2))/(F-F2). S=0.8201 V = 1. C=(Q*N/S^0. NF=V/sqrt(9.clear Q=20. 9 .5.EN Ejecutando el código en ventana de comandos de MatLab >> ynsecante Y = 1. A=(B+Z*Y)*Y. Y. N=0.

049454 2.9801127 2.SECCION CIRCULAR METODO DE LA SECANTE D= Q= N= S= C= ITERA 1 2 3 4 5 6 2 2 0.0004 1.6298342 3.1421696 -0.240328 1.9799219 0.09E-14 2y   x  2 Arc Cos 1   D  A P 1 x  Sen ( x) 8  1 2 x D T  D Sen ( x ) 2 y D x  1  Cos ( )  2 2  5 1 2  8 ( x  Sen( x ))  Qn Fx   1 2 1 3 S2  2 x D  VERIFICACION CON HCANALES Solución de ecuaciones No Lineales por los métodos de Newton Raphson y Secante Aplicado a la Hidráulica de Canales.879481 0.6270005 3.56E-05 6.532417 3.049454 2.8092378 3.879621 -0.700100 1.532417 3.56E-05 6.700100 1.5322073 2.327657 1.0467848 2.241703 1.1421696 -0.0494128 2.014 0.6297906 0. 10 . CALCULO DE TIRANTE NORMAL . cálculos preliminares y resultados mostrados a continuación en la tabla realiza en Hoja de Cálculo Excel y en programa Hcanales.0494128 2.6270005 3.6297906 -0.241682 1.4 m m3/seg s/u m/m y i 1  yi  f ( yi )( yi 1  y i ) f ( yi 1 )  f ( yi ) Y0 Y1 A0 P0 A1 P1 F0 F1 0.853E-09 -2.9801127 2. para el cálculo del tirante normal “yn” en canales de sección circular.240328 1.0467848 2.8092378 3.241682 0. Para comprobar la correcta elaboración y ejecución del mismo.002274 3.879481 0.241682 0.0494128 2.6297906 3.6298342 3.2141882 2.327657 1.2141882 2.853E-09 -0.241703 1.700000 0. Elaborar y probar un programa en MATLAB utilizando el algoritmo de la secante. utilizar los datos.002274 3.Universidad Nacional Agraria La Molina Maestría en Recursos Hídricos Facultad de Ingeniería Agrícola Departamento de Recursos Hídricos METODOS NUMERICOS EN INGENIERIA DE RECURSOS HIDRICOS PROBLEMAS COMPLEMENTARIOS DE APLCACION 1.