Está en la página 1de 2

PROGRAMACION: METODO DE BISECCION: PYTHON

#!usr/bin/python
#--------------------Funciones-------------
def evaluar(x):
return (-185*x)+1650.015
def raizExiste(xl,xu):
if evaluar(xl)*evaluar(xu)<0:
print "La raiz existe"
else:
print "La raiz no existe"
def calcularXr(xl,xu):
return (xl+xu)/2
def calcularError(xr,xranterior):
return ((xr-xranterior)/xr)*100

#--------------------Funciones-------------
#-------Variables-------
xl=0.0
xu=12.0
xr=0.0
error=0.0
xranterior=0.0
terminar=0
i=1
#-------Variables-------
#--------CODIGO------------------------------

raizExiste(xl,xu)
print"\n\t\tN\tXR\tI[:]\t\tError"
while terminar !=1:
xr = calcularXr(xl,xu)
if i!=1:
error =calcularError(xr,xranterior)
if error<0:
error=error*-1
if error ==0:
terminar =1
print "\n\t\t",i,"\t",xr,"\t",xl,xu,"\t",error,"%"
else:
print "\n\t\t",i,"\t",xr,"\t",xl,xu,"\t"
if evaluar(xr)*evaluar(xl)<0:
xu =xr
if evaluar(xr)*evaluar(xl)>0:
xl=xr
xranterior =xr
i+=1

print"========================================================="
print "\t Por lo tanto la posicion donde no hay momento es ",
xr,"pies"
print"========================================================="
PROGRAMACIÓN ECUACIÓN DE MANNING:MATLAB
clc;
clear;
fprintf('La siguiente es la ecuación de manning es para la profundidad
final de un canal abierto rectangular como:\n\n\t
H=(((Q*n)^(3/5))*((B+(2*h))^(2/5)))/(b*(S^(3/10)))\n\n');
S=input('digite el valor de la pendiente dada en [m/m]: ');
B=input('digite el valor de la constante: ');
b=input('digite el valor de la constante: ');
h=input('digite el valor de la profundidad inicial dada en [m]: ');
n=input('digite el valor del coeficiente de rugosidad: ');
Q=input('digite el valor del flujo en [m^3/s]: ');
H=(((Q*n)^(3/5))*((B+(2*h))^(2/5)))/(b*(S^(3/10)));
fprintf('\n\nEl valor de la profundidad final es igual a:\n\t H= %5.2f
[m]\n\n',H);

También podría gustarte