Está en la página 1de 16

SOLUCION DE ECUACIONES NO LINEALES

EJERCICIO N1

En la hidrulica de canales es frecuente determinar el tirante crtico del flujo con fines de anlisis
y diseo. Si se sabe que el rgimen critico en canales trapezoidales est gobernado por las
siguientes ecuaciones:
3 2 23
Funcin: () = Derivada: () = 3
2
rea: = ( + ) Espejo: = + 2

Utilizando el mtodo de Newton Raphson, determinar el tirante crtico y que se encuentra


implcito en las ecuaciones de rgimen crtico, considerar como valor inicial en el proceso
iterativo y = 1.00 m y utilizar los siguientes datos:
Caudal (Q) = 150.40 m3/s
Base (b) = 7.4 m
Talud (z) = 3

SOLUCIN:
RELACION ENTRE LOS PARAMENTROS PARA UN REGIMEN CRITICO
Las condiciones tericas en que se desarrolla el rgimen critico esta dadas por la siguiente
ecuacin:

Esta ecuacin que da la forma de la seccin de un canal y el caudal, existe un tirante critico
nico y viceversa

a.- Relacin entre el tirante y el caudal


Sustituyendo valores en la ecuacin tenemos
Como se observa en la ecuacin se tiene una ecuacin en funcin de Ycm es decir:

De esta manera se recurre a la solucin de este tirante mediante la aplicacin de los mtodos
numricos

CDIGO DE PROGRAMACIN EN MATLAB


Se opta por la aplicacin de la programacin mediante la el ingreso a:
New M File Ventana de Editor Escribimos el programa

clear;clc;
syms y b z Q
format short
fprintf('====================================================\n');
fprintf('= DETERMINACION DEL TIRANTE CRITICO Y =\n');
fprintf('= EN UN REGIMEN CRITICO (METODO DE NEWTON) =\n');
fprintf('====================================================\n');
fprintf('Funcion: f(y)=A^3/T-Q^2/g \n');
fprintf('Derivada f(y)=3*A^2-(2*z*A^3)/T^2 \n');
fprintf('Area: A=(b+z*y)y Espejo: T=b+2*z*y \n');
yi=input('Ingrese el tirante inicial yi: ');
e=input('Ingrese el error aceptable: ');
fprintf('========= DATOS HIDRAULICOS ========\n');
Q=input('Ingrese el Caudal Q: ');
b=input('Ingrese la Base b: ');
z=input('Ingrese el Talud de Canal: ');
fm=1;
i=0;
A=(b+z*y)*y;
T=b+2*z*y;
f=A^3/T-Q^2/9.81;
df=3*A^2-(2*z*A^3)/T^2;
Pretty (f)
Pretty (df)
while abs(fm)>e
i=i+1;
fprintf('%2d',i);
fyi=subs(f,yi);
dfy=subs(df,yi);
y=yi-(fyi/dfy);
fm=(y-yi)/(y+yi)*100;
disp([yi, fyi, abs(fm)]);
yi=y;
if i>20
break
end
end
disp(y);
EJECUCION DEL PROGRAMA
Realizamos la ejecucin del programa yendo al Save and run o optar presionar la tecla F5

Al realizar la ejecucin del programa nos aparecer el siguiente mensaje, en el cual nos da para
confirmas el cambio de direccin del archivo donde esta, para esto optamos por la opcin
Change Directory

Introdduccion de los datos

El corrido del programa

Resultado de Yc = 2.4995
VERIFICACION DE RESULTADOS DEL PROGRAMA

Como podemos apreciar se tiene la igualdad del clculo del tirante Y=2.4995
EJERCICIO N 2

La formula de Manning para un caudal de seccin trapezoidal esta dado por la siguiente
ecuacin:
2 (( + ))5/3
=
( + 2 2 + 1)2/3
Donde:
Q = Caudal (m3/s)
S = Pendiente (m/m)
n = Coeficiente de rugosidad
b = Base (m)
y = Tirante normal (m)
z = Talud
Empleando el mtodo de la Secante, determinar el valor del tirante normal y al centmetro,
iniciando el proceso interativo con valores de yo = 1.00 m y y1 = 1.01 m, si se sabe que la
base b = 1.50 m, el talud z = 1.50, el coeficiente de rugosidad n = 0.014, la pendiente S = 0.002
m/m y el caudal que conduce el canal Q = 2.00 m3/s

SOLUCIN:
CDIGO DE PROGRAMACIN EN MATLAB
Se opta por la aplicacin de la programacin mediante la el ingreso a:
New M File Ventana de Editor Escribimos el programa

clear;clc;
syms y b z Q
format short
fprintf('====================================================\n');
fprintf('= DETERMINACION DEL TIRANTE NORMAL "Y" =\n');
fprintf('= EN UN REGIMEN NORMAL (METODO DE LA SECANTE) =\n');
fprintf('====================================================\n');
fprintf('Ecuacion de Manning \n');
fprintf(' [S^(1/2)(((b+z*y)y)^(5/3)] \n');
fprintf(' Q= ------------------------- \n');
fprintf(' n[(b+2*y*raiz(z^2+1))^(2/3) \n');
y0=input('Ingresa el valor de y0: ');
y1=input('Ingresa el valor de y1: ');
e =input('Ingresa el valor del error: ');
fprintf('========= DATOS HIDRAULICOS ========\n');
Q=input('Ingrese el Caudal (m3/2) : ');
S=input('Ingrese la Pendiente (m/m) : ');
n=input('Ingrese Coeficiente de rugosidad: ');
b=input('Ingrese Base de Canal (m) : ');
z=input('Ingrese el Talud de Canal : ');
i=0;
fm=1;
f=(S^(1/2)*(((b+z*y)*y)^(5/3)))/(n*((b+2*y*(z^2+1)^(0.5)))^(2/3))-Q;
while abs(fm)>e
i=i+1;
fprintf('%2d',i);
f0=subs(f,y0);
f1=subs(f,y1);
y2=y1-(y1-y0)*f1/(f1-f0);
fm=abs(y2-y1)/(y2+y1)*100;
disp([y2, fm]);
y0=y1; y1=y2;
if i>20
break
end
end
fprintf('==== RESULTADO DEL TIRANTE "Y" ====\n');
fprintf('Y = ');
disp(y2);
EJECUCION DEL PROGRAMA
Realizamos la ejecucin del programa yendo al Save and run o optar presionar la tecla F5

Al realizar la ejecucin del programa nos aparecer el siguiente mensaje, en el cual nos da para
confirmas el cambio de direccin del archivo donde esta, para esto optamos por la opcin
Change Directory

Nota: No siempre aparecer este mensaje solo si estamos trabajando de una carpeta en otros

Nos vamos a la pestaa de Matlab


Introducimos los datos que nos da en el ejercicio
VERIFICACION DE RESULTADOS DEL PROGRAMA

Como podemos apreciar se tiene la igualdad del clculo del tirante Y=0.5366
EJERCICIO N 3

El factor de friccin f de Darcy es utilizado para obtener la prdida de carga en tuberas con
flujo de fluido. Determinar el factor f, a partir de la ecuacin de Colebroock White y utilizando
el mtodo de Newton Raphson con un valor inicial de f igual a 0.01 con una aproximacin de
er 0.001%.
Para el clculo de f utilizar los siguientes datos:
Caudal (Q) = 0.042 m3/s
Rugosidad de tubera de PVC (Ks) = 1.5 x 10-6 m
Dimetro (d) = 0.1524 m
Viscosidad cinemtica del agua () = 1.14 x 10-6 m2/s
La ecuacin de Colebroock White a utilizar est dado por:

Dnde:
Re = Nmero de Reynolds (adimensional y constante)
A = rea de la seccin transversal (m2)
V = Velocidad del flujo en la tubera (m/s)
Formulas adicionales de la funcin y derivada de la ecuacin de Colebroock White:
Si hacemos que:

Algoritmo de Newton Raphson:


SOLUCIN:
CDIGO DE PROGRAMACIN EN MATLAB
Se opta por la aplicacin de la programacin mediante la el ingreso a:
New M File Ventana de Editor Escribimos el programa

clear;clc;
syms Ks d v Q A Re V E1 x
format short
fprintf('==========================================================\n'
);
fprintf('= DETERMINACION DEL FATOR DE FRICCION "f"
=\n');
fprintf('= DE DARCY PARA LA PERDIDA DE CARGA EN TUBERIAS
=\n');
fprintf('= UTILIZANDO EL METODO DE NEWTON - RAPHSON
=\n');
fprintf('==========================================================\n'
);
fprintf('Funcion: g(x) = -2*log *((Ks/(3.71*d))+(2.51*x/Re))\n');
fprintf('Derivada g(y)= -
2/(log(x)*((2.51/Re)/((Ks/(3.71*d))+(2.51*x/Re))))-1\n');
fprintf('Continuidad: Q=V*A Numero de Reynolds: Re=V*d/v\n');
fi=input('Ingrese el fi: ');
e=input('Ingrese el error aceptable: ');
fprintf('========= DATOS HIDRAULICOS ========\n');
Q=input('Ingrese el Caudal Q (m3/s) : ');
Ks=input('Rugosidad de Tuberia Ks (m) : ');
d=input('Ingrese el diametro d (m) : ');
v=input('Viscosidad Cinematica del Agua v : ');
fm=1;
i=0;
V=Q/(3.14*(d/2)^2);
Re=V*d/v;
f=-2*log10((Ks/(3.71*d))+(2.51*x/Re))-x;
df=-2/(log(x)*((2.51/Re)/((Ks/(3.71*d))+(2.51*x/Re))))-1;
xi=1/(fi)^(0.5);
while abs(fm)>e
i=i+1;
fprintf('%2d',i);
fxi=subs(f,xi);
dfx=subs(df,xi);
x=xi-(fxi/dfx);
fm=(x-xi)/(x+xi)*100;
disp([xi, fxi, abs(fm)]);
xi=x;
if i>50
break
end
end
fc=(1/x)^2;
fprintf('==== FATOR DE FRICCION "f" ====\n');
fprintf('f = ');
disp(fc);
EJECUCION DEL PROGRAMA
Realizamos la ejecucin del programa yendo al Save and run o optar presionar la tecla F5

Al realizar la ejecucin del programa nos aparecer el siguiente mensaje, en el cual nos da para
confirmas el cambio de direccin del archivo donde esta, para esto optamos por la opcin
Change Directory

Nota: No siempre aparecer este mensaje solo si estamos trabajando de una carpeta en otros

Nos vamos a la pestaa de Matlab


Introducimos los datos que nos da en el ejercicio