CALCULO DE TIRANTE CRÍTICOY NORMAL MATLAB

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 Solución de ecuaciones No Lineales por los métodos de Newton Raphson y Secante Aplicado a la Hidráulica de Canales. 1 INTRODUCCION A LA PROGRAMACION Y ESTRUCTURAS DE CONTROL Pseudocódigo MATLAB VISUAL BASIC IF/THE: IF condición 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 condición 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 condición1 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 x = x -32; else x = x – 64; end 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 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 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 DOEXIT: DO Bloque1 IF condicIón EXIT Bloque2 END DO while 1 i = i + 1; if i > = 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

description

vesdge rdfg erdfg verdf gredf grfdg vrfd grfdg vrfdg vrtfd grtfd

Transcript of CALCULO DE TIRANTE CRÍTICOY NORMAL MATLAB

  • 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