Sie sind auf Seite 1von 10

UNIVERSIDAD NACIONAL DE TRUJILLO

FACULTAD DE INGENIERÍA QUÍMCA

CURSO:

MÉTODOS NUMÉRICOS

DOCENTE:

Dr. Evangelista Benites Guillermo David

INTEGRANTES:

 Jiménez Infantes Jordy


 Namay Julca Natalia
 Bazán Moya Junior

TEMA:

Solución de Ecuaciones No Lineales

Métodos numéricos para ingenieros – Steven C. Chapra,


Raymond P. Canale

FECHA:

02 de Septiembre de 2014

TRUJILLO – PERÚ
P8.23 Muchos campos de la Ingeniería requieren estimaciones exactas de la población. Por
ejemplo, los ingenieros de transporte quizás encuentren necesario determinar por
separado la tendencia del crecimiento de una ciudad y la de los suburbios. La población
del área urbana declina con el tiempo de acuerdo con la ecuación:

𝑃𝑢 (𝑡) = 𝑃𝑢,𝑚á𝑥 𝑒 −𝑘𝑢 𝑡 + 𝑃𝑢,𝑚𝑖𝑛 (1)

En tanto que la población suburbana crece según:

𝑃𝑠,𝑚á𝑥
𝑃𝑠 (𝑡) = (2)
1 + [𝑃𝑠,𝑚á𝑥 ⁄𝑃0 − 1]𝑒 −𝑘𝑠𝑡

Donde 𝑃𝑢,𝑚á𝑥, 𝑘𝑢 , 𝑃𝑠,𝑚á𝑥 , 𝑃0 y 𝑘𝑠 , son parámetros que se obtienen en forma empírica.


Determine el tiempo y los valores correspondientes de 𝑃𝑢 (𝑡) 𝑦 𝑃𝑠 (𝑡) cuando los
suburbios son 20% más grandes que la ciudad. Los valores de los parámetros son:
0.045
𝑃𝑢,𝑚á𝑥 = 75000, 𝑘𝑢 = 𝑎ñ𝑜
, 𝑃𝑢,𝑚𝑖𝑛 = 100 000 𝑝𝑒𝑟𝑠𝑜𝑛𝑎𝑠, 𝑃𝑠,𝑚á𝑥 = 300 000 personas
𝑃0 = 10 000 𝑝𝑒𝑟𝑠𝑜𝑛𝑎𝑠, 𝑘𝑠 = 0.08/𝑎ñ𝑜. Para obtener las soluciones utilice el método
de la posición falsa.

SOLUCIÓN:

i. Relacionamos 𝑃𝑢 (𝑡) 𝑦 𝑃𝑠 (𝑡) según el dato que nos da el problema, obtenemos:


6
Los suburbios son 20% más grandes que la ciudad: 𝑃𝑠 (𝑡) = 𝑃𝑢 (𝑡) (3)
5

ii. Reemplazamos las ecuación (1) y (2), en la ecuación (3):

𝑃𝑠,𝑚á𝑥 6
= (𝑃𝑢,𝑚á𝑥 𝑒 −𝑘𝑢 𝑡 + 𝑃𝑢,𝑚𝑖𝑛 ) (4)
1 + [𝑃𝑠,𝑚á𝑥 ⁄𝑃0 − 1]𝑒 −𝑘𝑠𝑡 5

iii. Ahora, a partir de la ecuación (4) determinaremos nuestra función f(t), ya


que “t” es nuestra variable, haciendo referencia al tiempo:

6(𝑃𝑢,𝑚á𝑥 𝑒 −𝑘𝑢 𝑡 + 𝑃𝑢,𝑚𝑖𝑛 ){1 + [𝑃𝑠,𝑚á𝑥 ⁄𝑃0 − 1]𝑒 −𝑘𝑠 𝑡 }


𝑓(𝑡) =
5𝑃𝑠,𝑚á𝑥

iv. Con nuestra función f (t) determinada, procederemos a formular el código en


Matlab utilizando el método de la posición falsa.
CÓDIGO MATLAB:

a) Método de la posición falsa

clc , clear all


Pumax=75000;
Ku=0.045;
Pumin=100000;
Psmax=300000;
Ks=0.08;
P0=10000;
ti=1;
td=2;
eps=0.01;
fi=(6*(Pumax*exp(-Ku*ti))*(1+(Psmax/(P0-1))*exp(-Ks*ti)))/(5*Psmax);
fd=(6*(Pumax*exp(-Ku*td))*(1+(Psmax/(P0-1))*exp(-Ks*td)))/(5*Psmax);
fm=1;
i=0;
fprintf('--------------------------------------------------------\n')
fprintf(' i ti td tm |f(xm)|\n')
fprintf('--------------------------------------------------------\n')
fprintf('%d %8.5f %8.5f\n',i,ti,td)
while abs(fm)>eps
tm=td-fd*(td-ti)/(fd-fi);
fm=6*(Pumax*exp(-Ku*tm))*(1+(Psmax/(P0-1))*(exp(-
Ks*tm)))/(5*Psmax);
i=i+1;
fprintf('%d %8.5f %8.5f %8.5f
%8.5f\n',i,ti,td,tm,abs(fm))
if fd*fm>0
td=tm; fd=fm;
else
ti=tm;
fi=fm;
end
end
fprintf('----------------------------------------------------\n\n')
RESULTADOS:

a) Método de la posición falsa

𝒕: 76.96924 es el tiempo necesario los suburbios son 20% más grandes que
la ciudad.

DISCUSIÓN:

Para poder hallar el tiempo necesario para que los suburbios sean 20% mas
grandes que la ciudad se necesitaron un aproximado de 228 iteraciones.
P8.33 Para la circulación de fluidos en tubos, se describe a la fricción por medio de un
número adimensional, que es el factor de fricción por medio de un número
adimensional, que es el factor de fricción de Fanning f. El factor de Fanning
depende de cierto número de parámetros relacionados con el tamaño del tubo
y el fluido, que pueden representarse con otra cantidad adimensional, el número
de Reynolds Re. Una fórmula que pronostica el valor de f dado Re en la ecuación
de von Karman:

1
= 4 log10 (𝑅𝑒√𝑓) − 0.4 (1)
𝑓

Valores comunes del número de Reynolds para flujo turbulento son 10 000 a
5000 000, y del factor de fricción de Fanning son 0.001 a 0.001. Desarrolle una
función que utilice el método de bisección con el objetivo de resolver cual sería
el valor del factor de fricción de Fanning f, dado un valor de Re proporcionado
por el usuario que esté entre 2 500 y 1 000 000. Diseñe la función de modo que
garantice que el error absoluto en el resultado sea de 𝐸𝑎,𝑑 < 0.000005
CÓDIGO MATLAB:

La siguiente codificación está dada para un numero de Reynolds determinado,


si se desea cambiar el número de Reynolds, quitar el símbolo (%) de la línea 3
y agregarla a la 5; luego hacer correr el programa.
clc, clear all
% f(fr)
% Re=input('ingrese el numero de reynolds entre 2500 y 1000000=');
fprintf('\t\t\t\tPROBLEMA 8.33\n')
Re=5000;
fprintf('Re=5000 (Este valor puede variar entre 2500 y
1000000)\n')
fr=linspace(0.001,0.01,10);
yy=(1./sqrt(fr))-(4*log10(Re.*sqrt(fr))- 0.4);
plot(fr,yy)
axis([0.001 0.01 -5 5])
q=zeros(size(fr));
hold on
plot(fr,q)
text(6.5e-3,2.5,'f(fr)')
grid on
xi=1e-3;
xd=10e-3;
i=0;
fxm=1;
fprintf('\t\t\t\tMETODO DE BISECCION\n')
fprintf('-------------------------------------------------------
\n')
fprintf('i xi xd xm |f(xm)|
\n')
fprintf('-------------------------------------------------------
\n')
fprintf('%d %5.5f %5.5f\n',i,xi,xd)
error=5e-6;
fxi=(1/sqrt(xi))-(4*log10(Re*sqrt(xi))- 0.4);
fxd=(1/sqrt(xd))-(4*log10(Re*sqrt(xd))- 0.4);
while abs(fxm)>error
xx=abs(fxm);
xm=0.5*(xi+xd);
fxm=(1/sqrt(xm))-(4*log10(Re*sqrt(xm))- 0.4);
if fxi*fxm<0
xd=xm;
else
xi=xm;
end
i=i+1;
fprintf('%d %5.8f %5.8f %5.5f
%5.7f\n',i,xi,xd,xm,xx)

end
fprintf('-------------------------------------------------------
\n')
fprintf(' EL FACTOR DE FRICCION DE FANNING ES=%5.5f\n',xm)
RESULTADOS:

 EL FACTOR DE FRICCION DE FANNING ES: 0.00936

 La gráfica correspondiente a este factor de Fricción de Fanning es:

DISCUSIÓN:

Se observa una convergencia lenta para garantizar que el error absoluto en


el resultado sea menor a 5e-6.Notese que si se dan valores aproximadamente
menores a 4000, el programa obtiene una solución e itera infinitamente.
P8.35 Los ingenieros mecánicos, así como los de otras especialidades, utilizan mucho
la termodinámica para realizar su trabajo. El siguiente polinomio emplea para
relacionar el calor específico a presión cero del aire seco 𝑐𝑝[𝑘𝐽⁄𝑘𝑔𝐾 ] a
temperatura (K):

𝑐𝑝 = 0.99403 + 1.671𝑥10−4 𝑇 + 9.7215𝑥10−8 𝑇 2 − 9.5838𝑥10−11 𝑇 3


+ 1.9520𝑥10−4 𝑇 4

Determine la temperatura que corresponde a un calor específico de 1.1 𝑘𝐽⁄𝑘𝑔𝐾

SOLUCIÓN:

La temperatura que corresponde a un calor especifico de 1.1KJ/KgK es:


539.2315 k
CÓDIGO MATLAB:

clc, clear all


fprintf('\tDeterminar la temperatura con la siguiente
ecuacion\n')
fprintf('\t Cp=0.99403+1.671e-04*T+9.7125e-08*T^2-9.5838e-
11*T^3+1.9520e-14*T^4\n')
fprintf('\t si tenenos un Cp=1.1KJ(KgK)\n')
fprintf('\t con T0=1 Y EPS=0.001 aplicado a |Ti+1-
Ti|.\n\n')
fprintf('\t\t MÉTODO DE NEWTON RAPHSON\n')
fprintf('\t\t ========================\n')
i=0;
T0=539;
fprintf('--------------------------------\n')
fprintf(' i Ti |Ti+1-Ti|\n')
fprintf('--------------------------------\n')
fprintf('%d %8.5f\n')
fT=0.99403+1.671e-04*T0+9.7125e-08*T0^2-9.5838e-
11*T0^3+1.9520e-14*T0^4-1.1;
while abs(fT)>0.001
i=i+1;
fT=0.99403+1.671e-04*T0+9.7125e-08*T0^2-9.5838e-
11*T0^3+1.9520e-14*T0^4-1.1;
dfT=0.99403+1.671e-04+2*9.7125e-08*T0-3*9.5838e-
11*T0^2+4*1.9520e-14*T0^3;
T=T0-fT/dfT;
dist=abs(T-T0);
fprintf('%d %8.5f %8.5f\n',i,T,dist)
T0=T;
end
fprintf('\n\n La temperatura que corresponde a un calor
especifico de 1.1KJ/KgK es: %5.4f k\n',T)
RESULTADOS:

La temperatura que corresponde a un calor especifico de 1.1KJ/KgK es:


539.2315 k

DISCUSIÓN: para poder hallar la temperatura a partir de un calor especifico


de 1.1Kj/Kg.K , se tuvo que tomar un valor inicial aproximadamente de 539K
el cual fue tomado al tomar como valor inicial a To=1.

Das könnte Ihnen auch gefallen