Académique Documents
Professionnel Documents
Culture Documents
I. INTRODUCCION:
II. OBJETIVOS:
1. Encontrar el coeficiente de fricción a través de los métodos de punto fijo y
bisección en matlab.
2. Aplicar la fórmula de colebrook para determinar el factor de fricción.
3. Demuestras a través de matlab el factor de fricción en tuberías.
1 𝑒/𝐷 2.51
= −2. 𝐿𝑜𝑔10 ( + ) (1)
√𝑓 3.7 𝑅𝑒√𝑓
Donde:
f = factor de fricción.
Re = Numero de Reynolds.
e = Variación promedio del radio de la tubería, es decir,
una medida de la rugosidad de la tubería.
Esta ecuación tiene la desventaja de que f no aparece de forma explícita y para e/D y
Re, de tal manera que tiene que resolverse mediante iteraciones, para ello utilizaremos
el script en matlab denominado “FACTORFRICCION.m”, especificado posteriormente
en la pág. 3
Bajo ciertos arreglos la ecuación anterior (1), también, se puede representar como
1 𝑒 9.35
= 1.14 − 2. 𝐿𝑜𝑔10 (𝐷 + ) (2)
√𝑓 𝑅𝑒√𝑓
𝑒 9.35
(𝐷 ≫ ).
𝑅𝑒√𝑓
Por consiguiente, puede darse la ecuación para f explícitamente, como sigue para la
zona completamente rugosa de flujo:
1
𝑓= 𝑒
[1.14−2.𝐿𝑜𝑔10 ( )2 ]
𝐷
3.1 Método de iteración de punto fijo
El método de la iteración de punto fijo para resolver una ecuación no lineal f(x) = 0 pasa
por transformarla en una equivalente, x = g(x), y ejecutar la iteración x (k+1) = g(x (k))
a partir de un cierto x (0) hasta que se satisfaga el criterio de parada elegido o se alcance
el número de iteraciones máximo admitido.
Una posible implementación del algoritmo de punto fijo en su variante más sencilla
puede ser por medio de la función punto fijo con la siguiente estructura:
g(x) = x (3)
1 𝑒 9.35
= 1.14 − 2. 𝐿𝑜𝑔10 (𝐷 + )
√𝑓 𝑅𝑒√𝑓
1 𝑒 9.35
Sustituyendo =x se obtiene x = 1.14 − 2. 𝐿𝑜𝑔10 (𝐷 + 𝑥) la cual es de la
f 𝑅𝑒
Si f es una función continua sobre el intervalo [a,b] y si f(a) f(b) <0, entonces fdebe
tener un cero en (a,b). Dado que f(a)f(b) <0, la función cambia de signo en el intervalo
[a,b] y por lo tanto tiene por lo menos un cero en el intervalo.
Esta es una consecuencia del teorema del valor intermedio para funciones continuas,
que establece que si f es continua en [a,b] y si k es un número entre f(a) y f(b) , entonces
existe por lo menos un c (a,b) tal que f(c)=k.
(para el caso en que f(a)f(b)<0 se escoge k=0, luego f(c)=0, c (a,b)).
Paso 3: Realice las siguientes evaluaciones para determinar en qué subintervalo está
la raíz:
𝑒 9.35
se obtiene f(x) = 1.14 − 2. 𝐿𝑜𝑔10 (𝐷 + 𝑥) − 𝑥
𝑅𝑒
Como se dijo antes, los métodos abiertos emplean una fórmula para predecir la raíz.
Esta fórmula puede desarrollarse como una iteración simple de punto fijo (también
llamada iteración de un punto o sustitución sucesiva o método de punto fijo), al arreglar
la ecuación
x = g(x)
𝑒 9.35
G(x) = 1.14 − 2. 𝐿𝑜𝑔10 (𝐷 + 𝑥)
𝑅𝑒
Algoritmo
fprintf('Método del punto fijo:\n'); % La instrucción fprintf
proporciona control de la forma en que el numéro y la cadena
de los datos se imprimen en la ventana de comandos o en un archivo.
fun=input('Ingrese la función:\n','s'); % input es un comando de
solicitud de entrada de datos del usuario.
x0=input('Ingrese el punto inicial:\n');
n=input('Ingrese el numero de iteraciones:\n');
it=0;
fprintf(' it x0 x1 x0-x1');
while(it<n) % While ejecuta todas las órdenes mientras la
expresión sea verdadera.
it=it+1;
x=x0;
x1=eval(fun); % evalacion de la funcion
fprintf('\n%3.0f%15.3f%15.3f%15.3f\n',it,x0,x1,abs(x1-x0));
x0=x1;
end % end se usa para terminar
fprintf('\n el punto fijo aproximado es=%10.3f\n',x1);
clf % borrar todos los graficos
hold on % mantiene los graficos en los ejes actuales
ezplot('x'); % El comando ezplot permite graficar una función
ezplot fun
legend('y=x','fun') % crea una leyenda con etiquetas descriptivas para
cada serie de datos graficados
hold off % hold off Todas las órdenes de dibujo entre ambos comandos
se ejecutan sobre la misma ventana gráfica, sin borrar lo anterior
𝑒 9.35
f(x) = 1.14 − 2. 𝐿𝑜𝑔10 (𝐷 + 𝑥) − 𝑥
𝑅𝑒
Paso 1: Elija valores iniciales inferior, xl, y superior, xu, que encierren la raíz, de forma
tal que la función cambie de signo en el intervalo. Esto se verifica comprobando
que f(xl) f(xu) < 0.
Paso 2: Una aproximación de la raíz xr se determina mediante:
xr = (xl + xu)/2
Paso 3: Realice las siguientes evaluaciones para determinar en qué subintervalo está
la raíz:
a) Si f(xl)f(xr) < 0, entonces la raíz se encuentra dentro del subintervalo inferior
o izquierdo. Por lo tanto, haga xu = xr y vuelva al paso 2.
b) Si f(xl)f(xr) > 0, entonces la raíz se encuentra dentro del subintervalo superior
o derecho. Por lo tanto, haga xl = xr y vuelva al paso 2.
c) Si f(xl)f(xr) = 0, la raíz es igual a xr; termina el cálculo
Algoritmo
ea(i)=100;
if f1*f2 < 0 % El if simple le permite ejecutar una serie de enunciados si una
condición es verdadera y saltar dichos pasos si la condición es falsa.
xa(i)=xai; f1=subs(f,x,xa(i));
xb(i)=xbi; f2=subs(f,x,xb(i));
xr(i)=(xa(i)+xb(i))/2; f3=subs(f,x,xr(i));
X = Xr = 7.14
1 1 1
=x => √f = X => f = X2
√f
1
f=
7.142
f = 0.01961568941
Por el método fijo:
x1 = x = 7.140
1 1 1
√f
=x => √f = X => f = X2
1
𝑓=
7.1402
f = 0.01961568941
VI. CONCLUSIONES:
- Aprendimos como usar métodos numéricos en la aplicación de ingeniería.