Documente Academic
Documente Profesional
Documente Cultură
Solucin numrica
Solucin numrica
INDICE
Solucin numrica
CAPITULO I
SOLUCION NUMERICA
---------------------------------------------------------------------------------------------------------Objetivos: Desarrollar ejercicios de soluciones numricas para funciones matemticas
generales y aplicaciones a la ingeniera de alimentos.
---------------------------------------------------------------------------------------------------------1.1
SOLUCION NUMERICA
Identificar
Cuantificar
Minimizar
Solucin numrica
(1.1)
(1.2)
Donde Et se usa para denotar el valor exacto del error. El subndice t indica que se trata
del error verdadero (true).
El error relativo tambin se puede multiplicar por 100% para expresarlo como
Error verdadero
* 100%
Valor verdadero
(1.3)
Error aproximado
* 100%
Valor aproximado
(1.4)
Solucin numrica
(1.5)
Los signos puede se positivos o negativos, Por lo tanto, es til emplear el valor
absoluto. s Fijado previamente.
a s
(1.6)
Errores de redendeo
Los nmeros tales como pi, e 7 no pueden exspresarse con un nmero fijo de cifras
significativas. Por lo tanto, no pueden ser representados exactamente por la
computadora. Adems, debido a que las computadoras usan una representacin en base
2, no pueden representar exactamente algunos nmeros en base 10. Esta discrepancia
por la omisin de cifras significativas se llama error de redondeo.
Errores de truncamiento
Los errores de truncamiento son aquellos que resultan al usar una aproximacin en lugar
de un procedimiento matemtico exacto. Por ejemplo, en el captulo 1 aproximamos la
derivada de la velocidad de cada de un paracaidista mediante una ecuacin en
diferencia finita dividida de la forma
a s
(1.7)
Metodos cerrados
En los mtodos cerrados, la raz se encuentra dentro de un intervalo predeterminado por
un lmite inferior y otro superior. La aplicacin repetida de estos mtodos siempre
genera aproximaciones cada vez ms cercanas a la raz. Se dice que tales mtodos son
convergentes porque se acercan progresivamente a la raz a medida que se avanza en el
clculo.
Metodos abiertos
Los mtodos abiertos se basan en frmulas que requieren nicamente de un solo valor
de inicio x o que empiecen con un par de ellos, pero que no necesariamente encierran la
raz. stos, algunas veces divergen o se alejan de la raz verdadera a medida que se
avanza en el clculo. Sin embargo, cuando los mtodos abiertos convergen, en general
lo hacen mucho ms rpido que los mtodos cerrados.
-------------------------------------------------------------------------------------------------------------------------------------------------------Alberto L.Huaman Huaman
5
Solucin numrica
function caratula
%Autor: Ing. Alberto Luis HUAMANI HUAMANI
%***************************************************************
% presentacin: funcin que presenta la pantalla de presentacin
%***************************************************************
clear,clc,cla,close all
%Creamos figura
figdiag=figure('Units','Pixels',...
'Position',[0.06 0.06 0.9 0.9],... %Tamao de la presentacin
'Number','off',...
'Name','UNSCH/FIQM/EFP Ingenieria en Industrias Alimentarias', ...
'Menubar','none', ...
'color',[0 0 0]);
%Ubicamos ejes en figura
axes('Units','Normalized',...
'Position',[0 0 1 1]);
%-----Centramos la figura--------scrsz = get(0, 'ScreenSize');
pos_act=get(gcf,'Position');
xr=scrsz(3) - pos_act(3);
xp=round(xr/2);
yr=scrsz(4) - pos_act(4);
yp=round(yr/2);
set(gcf,'Position',[xp yp pos_act(3) pos_act(4)]);
%--------------------------------------%Incluir imagen
%Importamos imagen *.jpg,junto con su mapa de colores
[x,map]=imread('caratula.jpg','jpg');
%Representamos imagen en figura, con su mapa de colores
image(x),colormap(map),axis off,hold on
%Ttulos sobre imagen
%Ttulo
text(150,90,'E.F.P.Ingenieria en Industrias
Alimentarias','Fontname','Arial','Fontsize',30,'Fontangle','Italic', ...
'Fontweight','Bold','color',[1 0 0]);
text(780,1070,'Ing. Alberto HUAMANI HUAMANI','Fontname', ...
'Comic Sans MS','Fontangle','Italic','Fontweight','Bold', ...
'Fontsize',18,'color',[0 0 1]);
%Botn Continuar
botok=uicontrol('Style','pushbutton', ...
-------------------------------------------------------------------------------------------------------------------------------------------------------Alberto L.Huaman Huaman
6
Solucin numrica
'Units','normalized', ...
'Position',[.84 .03 .12 .05], ...
'String','CONTINUAR',...
'Callback','clear all; close all;clc; METODOS_NUMERICOS;'); %GUI es el nombre del
siguiente programa.
6.
7.
1.
Solucin numrica
2.
3.
4.
Solucin numrica
Hacer click en una de los comandos (Push Button) y arrastrar a la parte del formulario
5.
6.
Solucin numrica
Metodo Biseccin
Prctica 1-1
METODO DE
BISECCION
1.1
MTODO DE BISECCIN
xr
x1 x2
2
(1.8)
Metodo Biseccin
Metodo Biseccin
Edit text: para salida de valores: hacer doble click en la tabla de cdigo y llenar:
String: nombre a poner
Style:edit
Tag: edit2 o nombre de la variable
Table: insertar un table y hacer anticlick y en table property poner el nombre de las
variables de salida que se desea mostrar.
En propiedades poner en Tag: tabla
Paso 2: Completado el formulario, guardar el formulario como, guardar archivo
como: METODO_BISECCION.fig
1) Inmediatamente se autogenera el archivo.m,
2) En el archivo generado buscar Pushbutton1. Digitar el cdigo del programa en
el Push button1, despus de la lnea siguiente para el caso y as
sucesivamente.
Paso 2: Digitar el Programa
function pushbutton1_Callback(hObject, eventdata, handles)
f=get(handles.edit1,'string');
f=inline(f);
xai=str2double(get(handles.edit2,'string')); % valor de x1
xbi=str2double(get(handles.edit3,'string')); % valor de x2
tol=str2double(get(handles.edit4,'string')); % error
i=1;
ea(1)=100;
%%%%% Metodo Biseccin %%%%%%
if f(xai)*f(xbi)<0; % Comprobando que la raiz se encuentra en este intervalo
xa(1)=xai;
xb(1)=xbi;
xr(1)=(xa(1)+xb(1))/2;
%Limpiar tabla antes de mostrar resultado
set(handles.tabla,'Data',{})
% Limpiar tabla, grafico en caso de que antes se haya graficado una funcion
hold off
cla
set(handles.tabla,'Data',{})
set(handles.respuesta,'string','No hay raiz');
while abs(ea(i))>=tol
if f(xa(i))*f(xr(i))<0 % Condicion de cumplimiento
xa(i+1)=xa(i);
xb(i+1)=xr(i); % Es la raiz(xr) si se cumple condicion
end
if f(xa(i))*f(xr(i))>0 % Condicion de cumplimiento
xa(i+1)=xr(i); % Es la raiz(xr) si se cumple condicion
xb(i+1)=xb(i);
end
-------------------------------------------------------------------------------------------------------------------------------------------------------Alberto L.Huaman Huaman
13
Metodo Biseccin
Metodo Biseccin
c
*t
mg
v
* 1 e m
mg
c
* 1 exp * t v
c
m
667,38
f ( x)
* 1 exp 0,146843* x 40
x
f ( x)
f(x)= (667.38/x)*(1-exp(-0.146843*x))-40
Resultados
Metodo Biseccin
Metodo Biseccin
Resultado
>> FALSA_POSICIO_2016
METODO DE LA BISECCION
Metodos matemticos en industrias alimentarias
INGRESE LA FUNCION en x :(667.38/x)*(1-exp(-0.146843*x))-40
INGRESE LIMITE INFERIOR DEL INTERVALO: 12
INGRESE LIMITE SUPERIOR DEL INTERVALO: 16
INGRESE EL PORCENTAJE DE ERROR: 0.001
Resultado
it
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
>>
xa
12.0000000
14.0000000
14.0000000
14.5000000
14.7500000
14.7500000
14.7500000
14.7500000
14.7656250
14.7734375
14.7773438
14.7792969
14.7792969
14.7797852
14.7800293
xr
14.0000000
15.0000000
14.5000000
14.7500000
14.8750000
14.8125000
14.7812500
14.7656250
14.7734375
14.7773438
14.7792969
14.7802734
14.7797852
14.7800293
14.7801514
xb
error aprox
16.0000000
16.0000000
, 6.667
15.0000000
, 3.448
15.0000000
, 1.695
15.0000000
, 0.840
14.8750000
, 0.422
14.8125000
, 0.211
14.7812500
, 0.106
14.7812500
, 0.053
14.7812500
, 0.026
14.7812500
, 0.013
14.7812500
, 0.007
14.7802734
, 0.003
14.7802734
, 0.002
14.7802734
, 0.001
Metodo Biseccin
Prctica 1-2
f x1
f x2
x f x1 x f x2
(1.9)
Despejando xr
x f x2
f x2 x1 x2
f ( x1 ) f ( x2 )
(1.10)
Programa
function varargout = pushbutton1_Callback(h, eventdata, handles, varargin)
f=get(handles.edit1,'string');
f=inline(f);
xai=str2double(get(handles.edit2,'string')); % valor de x1
xbi=str2double(get(handles.edit3,'string')); % valor de x2
tol=str2double(get(handles.edit4,'string')); % error
i=1;
ea(1)=100;
%%%%% Metodo Biseccin %%%%%%
if f(xai)*f(xbi)<0; % Comprobando que la raiz se encuentra en este intervalo
xa(1)=xai;
xb(1)=xbi;
xf(1)= xb(1)-f(xb(1))*(xa(1) - xb(1))/(f(xa(1))-f(xb(1)));
%Limpiar tabla antes de mostrar resultado
set(handles.tabla,'Data',{})
% Limpiar tabla, grafico en caso de que antes se haya graficado una funcion
hold off
cla
set(handles.tabla,'Data',{})
set(handles.respuesta,'string','No hay raiz');
while abs(ea(i))>=tol
if f(xa(i))*f(xf(i))<0 % Condicion de cumplimiento
xa(i+1)=xa(i);
xb(i+1)=xf(i); % Es la raiz(xr) si se cumple condicion
end
if f(xa(i))*f(xf(i))>0 % Condicion de cumplimiento
xa(i+1)=xf(i); % Es la raiz(xr) si se cumple condicion
xb(i+1)=xb(i);
end
xf(i+1)= xb(i+1)-f(xb(i+1))*(xa(i+1) - xb(i+1))/(f(xa(i+1))-f(xb(i+1)));
ea(i+1)=abs((xf(i+1)-xf(i))/(xf(i+1))*100);% error absoluto
% Mostrara datos en tabla
valores = {i xa(i+1) xb(i+1) xf(i+1) ea(i+1)};
temp=get(handles.tabla,'data');
valoresNuevos=[valores;temp];
set(handles.tabla,'Data',valoresNuevos)
i=i+1;
end % Cerramos while
% Mostrando respuesta en textbox con formato coma flotante a 6 cifras decimales
respuesta=sprintf('%0.6f',xf(i));
set(handles.respuesta,'string',respuesta);
%Grafica de la funcion
fplot(handles.axes1,f,[xai xbi]);
grid on;
hold on;
handles.axes1=plot(xf(i),subs(f,respuesta),'r*');
else
set(handles.respuesta,'string','No existe la raiz en el intervalo');
-------------------------------------------------------------------------------------------------------------------------------------------------------Alberto L.Huaman Huaman
20
zoom on
end
function varargout = pushbutton2_Callback(h, eventdata, handles, varargin)
cla %limpiar tabla
set(handles.tabla,'Data',{})
%limpiar textboxs
set(handles.edit1,'string','');
set(handles.edit2,'string','');
set(handles.edit3,'string','');
set(handles.edit4,'string','');
set(handles.respuesta,'string','');
function varargout = pushbutton3_Callback(h, eventdata, handles, varargin)
SOLUCION_NUMERICA
Ejecutar: hacer click en la flecha verde
Paso 5: Ingresamos la funcin matemtica o los valores numricos segn sea el caso,
ingresar los limites inferior y superior y el error; y se tiene el resultado
Ingrese la funcin: f ( x)
667,38
* 1 exp 0,146843* x 40
x
f(x)= (667.38/x)*(1-exp(-0.146843*x))-40
xa1= 12 xb1=16
tol: 0.05;
Prctica 1-3
NEWTON-RAPHSON
1.3
Si el valor inicial para la raz es xi, entonces se puede trazar una tangente desde el punto
[xi, f(xi)] de la curva. Por lo comn, el punto donde esta tangente cruza al eje x
representa una aproximacin mejorada de la raz.
f ' xi
f xi 0
xi xi 1
(1.11)
xi 1 xi
f ( xi )
f ' xi
(1.12)
f ' ' ( xi ) xi 1 xi
f ( xi 1 ) f xi f ' xi xi 1 xi
...
2!
2
(1.13)
Truncando la serie de Taylor despus del trmino de la primera derivada, se obtiene una
versin aproximada:
f ( xi 1 ) f xi f ' xi xi 1 xi
(1.14)
0 f xi f ' xi xi 1 xi
(1.15)
f ( xi )
f ' xi
(1.16)
xi 1 xi
Una de las condiciones para garantizar la convergencia del mtodo de Newton es que
f(x) tiene que ser diferente de cero . Si al ejecutar el mtodo de Newton se observa que
f(xn) se aproxima a cero, la rapidez del mtodo disminuye y hay una posible raz
mltiple.
El mtodo de raz mltiple tambin es conocido como el mtodo de Newton
mejorado, y bsicamente su estructura es muy similar excepto de que se debe hallar la
segunda derivada.
Si en lugar de considerar los dos primeros trminos de la serie de Taylor se consideran
los tres primeros trminos, se representa con xi a la diferencia entre x i+1 y xi y se
iguala a cero, se tiene:
f xi xi f ' xi
y sustituyendo xi por
xi 2
2
f ' ' xi 0
(1.17)
f xi
(a partir de la frmula de Newton-Raphson) queda:
f ' xi
1 f xi
f xi xi f ' xi
f ' ' xi 0
2 f ' xi
(1.18)
Despejando Xi se obtiene:
xi
f xi
f xi
f ' xi
f ' ' xi
2 f ' xi
(1.19)
f xi
f xi
f ' xi
f ' ' xi
2 f ' xi
(1.20)
Programa
function pushbutton1_Callback(hObject, eventdata, handles)
f=get(handles.edit1,'string');
x0=str2double(get(handles.edit2,'string'));
tol=str2double(get(handles.edit3,'string'));
i=1;
fx(i)=x0; % valor inicial de fx(i)
syms x; % syms declarar la variable x
ea(1)=100;
f1=subs(f,x,fx(i)); % Evaluacion numerica de f en funcion de x para fx
z=diff(f); % derivada de f
-------------------------------------------------------------------------------------------------------------------------------------------------------Alberto L.Huaman Huaman
25
d=subs(z,x,fx(i)); % evaluacion de z
z2=diff(f,2); % calculo de la segunda derivada de f
d2=subs(z,x,fx(i)); % evaluacion de z
% Opciones de calculo
v=get(handles.seleccionar,'value');
switch v
case 2
%Limpiar tabla antes de mostrar resultado
set(handles.tabla,'Data',{})
while abs(ea(i))>=tol;
fx(i+1)=fx(i)-f1/d; % Expresion de Newton
f1=subs(f,x,fx(i+1)); % Evalua f1
d=subs(z,x,fx(i+1)); % Evalua z
ea(i+1)=abs((fx(i+1)-fx(i))/fx(i+1)*100);% Error absoluto
i=i+1;
end
for j=1:i;
%mostrara datos en tabla
valores = {j-1,fx(j),ea(j)};
temp=get(handles.tabla,'data');
valoresNuevos=[valores;temp];
set(handles.tabla,'Data',valoresNuevos)
end
% Mostrando de raiz en textbox con formato coma flotante a 6 cifras decimales
raiz=sprintf('%0.6f',fx(j));
set(handles.raiz,'string',raiz);
%end
%Grafica de la funcion
hold off
fplot(handles.axes1,f,[0 fx(j)+1]);
grid on;
hold on;
handles.axes1=plot(fx(j),subs(f,raiz),'r*');
zoom on
case 3
%Limpiar tabla antes de mostrar resultado
set(handles.tabla,'Data',{})
while abs(ea(i))>=tol;
fx(i+1)=fx(i)-(f1*d)/(d^2-(f1*d2)); % Expresion de Newton
f1=subs(f,x,fx(i+1)); % Evaluacion numerica de f en funcion de x para fx
d=subs(z,x,fx(i+1)); % Evalua z
d2=subs(z,x,fx(i+1)); % evaluacion de z
ea(i+1)=abs((fx(i+1)-fx(i))/fx(i+1)*100);% Error absoluto
i=i+1;
end
for j=1:i;
% Mostrara datos en tabla
valores = {j-1,fx(j),ea(j)};
temp=get(handles.tabla,'data');
-------------------------------------------------------------------------------------------------------------------------------------------------------Alberto L.Huaman Huaman
26
valoresNuevos=[valores;temp];
set(handles.tabla,'Data',valoresNuevos)
end
%Mostrando de raiz en textbox con formato coma flotante a 6 cifras decimales
raiz=sprintf('%0.6f',fx(j));
set(handles.raiz,'string',raiz);
%Grafica de la funcion
hold off
fplot(handles.axes1,f,[0 fx(j)+1]);
grid on;
hold on;
handles.axes1=plot(fx(j),subs(f,raiz),'r*');
zoom on
end
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton2 (see GCBO)
cla %limpiar tabla
set(handles.tabla,'Data',{})
%limpiar textboxs
set(handles.edit1,'string','');
set(handles.edit2,'string','');
set(handles.edit3,'string','');
set(handles.raiz,'string','');
set(handles.advertir,'string','');
Compilacin
Ingrese la funcin: f ( x)
667,38
* 1 exp 0,146843* x 40
x
f(x)= (667.38/x)*(1-exp(-0.146843*x))-40
xi= 12; tol: 0.05
a)
Newton Rapson
b)
Metodo Secante
Prctica 1-4
METODO SECANTE
1.5 MTODO DE LA SECANTE
Surge como una variacin del mtodo de Newton-Raphson, en lugar de tomar la
tangente se toma la secante. De manera que la derivada se aproxima por una diferencia
finita dividida hacia atras, basada en las estimaciones sucesivas es decir, como en
(figura 1.8)
f ' xi
f xi 1 f xi
xi 1 xi
(1.21)
xi 1 xi
f xi xi 1 xi
f xi 1 f xi
(1.22)
El mtodo requiere de dos valores iniciales pero como no se requiere que f(x) cambie de
signo en el intervalo considerado, no se lo incluye dentro de los mtodos que utilizan
intervalos, este mtodo no se clasifica como un mtodo cerrado.
-------------------------------------------------------------------------------------------------------------------------------------------------------Alberto L.Huaman Huaman
29
Metodo Secante
Observe la similitud entre los mtodos de la secante y de la falsa posicin. Por ejemplo,
las ecuaciones son idnticas en todos los trminos. Ambas usan dos valores iniciales
para calcular una aproximacin de la pendiente de la funcin que se utiliza para
proyectar hacia el eje x una nueva aproximacin de la raz. Sin embargo, existe una
diferencia crtica entre ambos mtodos. Tal diferencia estriba en la forma en que uno de
los valores iniciales se reemplaza por la nueva aproximacin.
1.5.1 Procedimiento de Programa en GUIDE de Matlab
Formulario
Programa
function pushbutton1_Callback(hObject, eventdata, handles)
f=get(handles.edit1,'string');
x0=str2double(get(handles.edit2,'string'));%
x1=str2double(get(handles.edit3,'string'));
tol=str2double(get(handles.edit4,'string'));
syms x;
ea(1)=100;
%Limpiar tabla antes de mostrar resultado
set(handles.tabla,'Data',{})
%Limpiar tabla, grafico en caso de que antes se haya graficado una funcion
hold off
cla
set(handles.tabla,'Data',{})
set(handles.respuesta,'string','No hay raiz');
i=1;
-------------------------------------------------------------------------------------------------------------------------------------------------------Alberto L.Huaman Huaman
30
Metodo Secante
while abs(ea)>tol;
x=x0;
g=eval(f);
x=x1;
gg=eval(f);
xi=x1-((gg*(x0-x1))/(g-gg));
ea=abs((xi-x1)/xi)*100;
x0=x1;
x1=xi;
% Mostrara datos en tabla
valores = {i,x xi,ea};
temp=get(handles.tabla,'data');
valoresNuevos=[valores;temp];
set(handles.tabla,'Data',valoresNuevos)
i=i+1;
end
%Mostrando respuesta en textbox con formato coma flotante a 6 cifras decimales
respuesta=sprintf('%0.6f',xi);
set(handles.respuesta,'string',respuesta);
%Grafica de la funcion
hold off
fplot(handles.axes1,f,[0 xi+1]);
grid on;
hold on;
handles.axes1=plot(xi,subs(f,respuesta),'r*');
zoom on
function pushbutton2_Callback(hObject, eventdata, handles)
cla %limpiar tabla
set(handles.tabla,'Data',{})
%limpiar textboxs
set(handles.edit1,'string','');
set(handles.edit2,'string','');
set(handles.edit3,'string','');
set(handles.edit4,'string','');
set(handles.respuesta,'string','');
function pushbutton3_Callback(hObject, eventdata, handles)
SOLUCION_NUMERICA
Resultado
Metodo Secante
Prctica 1-5
APLICACIONES EN
INGENIERIA DE ALIMENTOS
1. Ejercicio 1: Aplicacin en destilacin
Equilibrio liquido vapor y la determinacin de propiedades caractersticas de este
estado como son la temperatura y las composiciones.
Introduccin
Varios procesos industriales importantes, por ejemplo, destilacin, absorcin y
extraccin, ponen en contacto a dos fases entre las que, cuando no estn en equilibrio, se
efecta una transferencia de masa. La velocidad de transferencia de cada especie
depende de la separacin del sistema respecto al equilibrio (T, P.X, Y) del sistema.
En la mayor parte de los procesos industriales las fases que coexisten son vapor y
liquida aunque tambin se han encontrado sistemas liquido-liquido, vapor slido y y
liquido slido. A continuacin haremos un planteamiento de un problema en donde se
requiere conocer el comportamiento en el equilibrio para un sistema lquido vapor y los
clculos correspondientes para determinar la temperatura y composiciones de las fases
de este sistema.
Problema:
Considere un lquido en equilibrio con su vapor. Si el lquido est formado por los
componentes 1,2,3,4; con los datos dados a continuacin calcule la temperatura y la
composicin del vapor en el equilibrio a la presin total de 75 psia.
Componente
Composicin
del lquido
(%mol)
1
2
3
4
10
54
30
6
Ln pi Ai
0
Bi
T1
(1)
PT Pi
(2)
PT pi * xi
0
(3)
B
0
pi exp Ai i
T1
i 1,2,3,4
PT xi * exp Ai i
T
f T PT xi * exp Ai i
T
(4)
Ln pi , i Ai
0
Bi
T1
i 1,2,3,4
(5)
Ln pi , i Ai
0
Bi
T2
i 1,2,3,4
(6)
p10 , i
1 1
Ln 0 Bi
T1 T2
p2 , i
De donde
p10 , i
Ln 0
p ,i
Bi 2
1 1
T1 T2
Reemplazando estos valores conocemos Bi y podemos obtener Ai de la ecuacin (4).
Valores iniciales
Ahora para hallar un valor inicial de T para resolver la ecuacin 4, se considera el
componente dominante de la mezcla que en este caso de acuerdo a los datos dados en la
tabla es el componente 2, y se usa PT en lugar de p2 en la ecuacin 1 que es la de
presin de vapor. Es decir,
Ln PT A2
B2
T
De donde
B2
A2
Ln PT
xi 1 xi
f xi
f ' xi
B B
Y f T PT xi * exp Ai i 0
T
Algoritmo Utilizado
Para encontrar una raz de la ecuacin f (xi+1) = 0, proporcionar la funcin f (xi) y su
derivada df(xi) y los datos:
Datos: Valor inicial x0, criterio de convergencia (ea) o error absoluto, criterio de
exactitud (ea1) y nmero mximo de iteraciones i.
Resultados: La raz aproximada x o un mensaje de falla.
PASO 1: Hacer I = 1
PASO 2: Mientras I< MAXIT, repetir los pasos 3 a 7.
PASO 3: Hacer x1 = x0 f(x0) /df (x0) (calcula xI )
PASO 4: Si ABS (x1 x0) < EPS, entonces IMPRIMIR x1 y TERMINAR. De otro
modo
CONTINUAR.
PASO 5: Si ABS (f(x1)) < EPS1, entonces
IMPRIMIR x1 y TERMINAR. De otro modo
CONTINUAR.
PASO 6: Hacer I = I + 1.
PASO 7: Hacer x0 = x1
PASO 8: IMPRIMIR mensaje de falla EL MTODO NO CONVERGE A UNA
RAZ y terminar.
El programa utilizado en matlab en archivo.m es el siguiente:
Funcin que permite calcular la temperatura de equilibrio.
%METODO NEWTON RAPSON
clc
clear all
fprintf('METODOS NUMERICOS APLICADOS A INGENIERIA\n');
fprintf('CALCULO DE TEMPERATURAS DE EQUILIBRIO \n');
fprintf('INGENIERIA EN INDUSTRIAS ALIMENTARIAS \n\n');
P1 = [25; 14.7; 4.0; 0.5]; % Presin de vapor del componente Puro (psia) a 150K
P2 = [200.0; 60.0; 14.7; 5.0]; % Presin de vapor del componente Puro (psia) a 200K
T1 = 150;% valor 1 de T
T2 = 200; % Valor 2 de T
B = log(P1./P2)/(1/T1-1/T2);
A = log(P1)-B/T1 ;
X = [0.10; 0.54; 0.30; 0.06];% Composicin del Liquido% mol
PT = 75; % composicin del vapor en el equilibrio a la presin total de 75 psia
-------------------------------------------------------------------------------------------------------------------------------------------------------Alberto L.Huaman Huaman
36
f(T)
8.29e-01
-2.86e-03
-3.35e-08
y(j)
0.3761
0.5451
0.0729
0.0059
BIBLIOGRAFA
CHAPRA, S.C. y Canale, R. Mtodos Numricos para ingenieros Editorial McGrawHill,Mxico,1989.
Nakamura, Anlisis Numerico y Visualizacin Grafica con Matlab Math Works Inc. Y
Prentice may, Mxico, 1997.
SMITH, Van Ness. Abbott. Introduccin a la Termodinmica en Ingeniera Qumica
Editorial McGraw-Hill,Mxico, 2001.
w 2163KJ / Kg
Pa.s T(K)
g/cm3 T en C
Tanque:
Dimetro = 1m
N = 120 rpm
Dimetro paleta = 30 cm
Serpentn:
Dimetro interno = 12 mm
Dimetro externo = 14 mm
Longitud = 15 m
Vapor saturado:
Presin = 3 atm
a)
b) Clculo del coeficiente he para tanque agitado con calentamiento de vapor sistema
serpentn es:
D p 2 N .
he DT
0,87
k
0 , 62
D p 2 N .
k
he
* 0,87 *
DT
Cp.
1/ 3
0, 62
0.14
Cp.
*
1/ 3
*
w
0.14
Calculo de Re, Pr
Re
Dp N .
2
12,4
k
0,814x103 KJ / s.m. C
Reemplazando Re, Pr y otros en la ecuacin general
0,814W / m C
he
* 0,87 5,98x104
1m
12,4
0 , 62
1/ 3
3,53x10 3 Pa.s
0.14
he 680,6 w
0,14
W / m 2 C
2850
(
273
tw
)
Para obtener he es preciso conocer tw, la temperatura en la pared del serpentn, para
calcular w, viscosidad de la disolucin a la temperatura de la pared.
tm
he
tw
Tw
hi
T
Q hi Ai T Tw he Ae t w t m
Como se supone que la pared no ofrece resistencia a la transmisin de calor: Tw tw
Por tanto, de la ecuacin anterior queda:
h A T he Ae t w
tw i i
hi Ai he Ae
hi d i T d e Tm he
2
tw
hi d i d e he
2
Reemplazando valores
9300 12x103 132,9 he 14x103 38
tw
9300 12x103 he 14x103
tw
0,14
0 ,14
0 ,14
2850
tw
0 ,14
2850
2850
he 5411,824 * exp(
(273 tw)
c)
0 ,14
1
1
1
U e he hi (d i / d e )
d) Del balance energtico en el sistema
dt
d
Trmino de acumulacin
A mCp
Trmino de entrada
E U e Ae (T t )
mCp
dt
U e Ae (T t )
d
T t 0 U e Ae
Ln
T t mCp
Expresin que permite calcular, el tiempo de calentamiento para una determinada
temperatura o viceversa:
Tiempo:
m Cp T t0
Ln
U e Ae T t
U e Ae
m Cp
Temperatura: t T (T t0 ) exp
e)
Ae d e L
wv w
Cp (t t 0 )
Masa de vapor
M v wv
f)
dt U e Ae
(T t )
d mCp
kJ 3600s
3
2
1931x10
0,6597m
2
dt
s m C h
(132,9 50)
d
kJ
1000kg 2,85
kg C
dt
133,4 C / h
d
g) Temperatura a los 50 min
s m2 C
t 132,9 (132,9 16) exp
kJ
1000kg 2,85
kg
t 102,3 C
Como se supone que se trabaja a presin atmosfrica, si fuese agua no se tendra la
solucin acuosa, sino que podra pasar a vapor. Sin embargo, al tratarse de una solucin
azucarada, es posible que hierva a ms de 100C, debido al aumento ebulloscopio que
producen los slidos solubles.
a) Usando GUIDE
Crear una carpeta
Dentro de la carpeta debe estar la imagen en jpg
Formulario
Programa
Para la imagen
guidata(hObject, handles);
axes(handles.axes1)
background=imread('tanque.jpg');
axis off
imshow(background)
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% PROGRAMA DE SERPENTIN
m=str2double(get(handles.edit1,'string'));
Ti=str2double(get(handles.edit2,'string'));
Tf=str2double(get(handles.edit3,'string'));
k=str2double(get(handles.edit4,'string'));
Cp=str2double(get(handles.edit5,'string'));
Dt=str2double(get(handles.edit6,'string'));
N=str2double(get(handles.edit7,'string'));
Dp=str2double(get(handles.edit8,'string'));
di=str2double(get(handles.edit9,'string'));
de=str2double(get(handles.edit10,'string'));
L=str2double(get(handles.edit11,'string'));
P=str2double(get(handles.edit12,'string'));
T=str2double(get(handles.edit13,'string'));
Hw=str2double(get(handles.edit14,'string'));
hw=str2double(get(handles.edit15,'string'));
landa=str2double(get(handles.edit16,'string'));
hi=str2double(get(handles.edit17,'string'));
% Calculos previos
tm = (Ti + Tf) / 2;
-------------------------------------------------------------------------------------------------------------------------------------------------------Alberto L.Huaman Huaman
44
set(handles.edit18,'string',visc);
set(handles.edit19,'string',den);
set(handles.edit20,'string',xr);
set(handles.edit21,'string',Re);
set(handles.edit22,'string',Pr);
set(handles.edit23,'string',he);
set(handles.edit24,'string',Ue);
set(handles.edit25,'string',tiem);
set(handles.edit26,'string',wv);
set(handles.edit27,'string',mv);
Solucin
Ingresamos las variables de ingreso y obtenemos como resultado las variables esperadas
X Xe
8
2
X0 Xe
(2n 1) 2 2
1
exp
Def .t
2
2
4L
n 0 ( 2n 1)
Donde:
X = humedad de la muestra (g);
Def = difusividade efectiva del gua (m2/s);
t = tempo (s);
n = nmero de terminos de la srie;
L = dimensin caracterstica (m).
Para ello los valores experimentales de humedad (%) y tiempo de secado se ingresar
internamente en el programa, en la ventana se ingresar el valor inicial de la difusividad
por el tiempo (Dt), tolerancia, espesor del alimento a secar (L), humedad inicial del
alimento (Xo) y humedad de equilibrio (Xe).
Datos experimentales de secado:
Tiempo (min):0 5 10 15 20 25 30 35 40 45 50
Humedad (%):72 69,54 66,77 63,69 59,38 55,69 51,38 48 44,92 40,92 37,23
Elaboracin del programa
Formulario
Programa
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
t=str2num(get(handles.edit1,'string'));% valores de t
M=str2num(get(handles.edit2,'string'));% valores de M
M0=str2double(get(handles.edit3,'string'));% Humedad inicial
-------------------------------------------------------------------------------------------------------------------------------------------------------Alberto L.Huaman Huaman
47
valoresNuevos=[valores;temp];
set(handles.tabla,'Data',valoresNuevos)
hold on
%Mostrando respuesta en textbox con formato coma flotante a 6 cifras decimales
respuesta=sprintf('%0.16f',SUMA);
set(handles.respuesta,'string',respuesta);
%Grafico de humedad en funcion del tiempo
axes(handles.axes1)
plot(tiempo,M(k),'r*')
title('CINETICA DE SECADO DE HUMEDAD');
xlabel('Tiempo (min)'),ylabel('Humedad (g agua/100 g ms)')
grid on;
hold on
%Grafico de razon de humedad
axes(handles.axes2)
plot(tiempo,MR,'b*')
title('RAZON DE HUMEDAD ');
xlabel('Tiempo (min)'),ylabel('MR')
grid on;
hold on
%Grafico de Difusividad en funcion del tiempo
axes(handles.axes3)
plot(tiempo,Dif,'k*')
title('DIFUSIVIDAD ');
xlabel('Tiempo (min)'),ylabel('Difusividad (m2/s)')
grid on;
k=k+1;
end
function pushbutton2_Callback(hObject, eventdata, handles)
close
Solucin
4.
(1 / 4 r 2 )( dM / dt ) kc ( dC / dr ) cte.
(1)
Ci
Rc
Cs
(2)
De donde:
( dM / dt )
4 RcRkc ( Cs Ci )
( R Rc )
(3)
(4)
(5)
( dM / dt )
4 R 2 ( Cs Cg )
(1 / hc) ( R / kc) ( R Rc ) / Rc
(6)
Rearreglando esta ecuacin se obtiene una ecuacin similar a las usadas en la cintica
de reacciones qumicas heterogneas slido-fluido:
( dM / dt )
4 R 2 hc( Cs Cg )
1 ( Rhc / kc) ( R Rc ) / Rc
(7)
Por otro lado la cantidad de agua a eliminar por unidad de volumen es:
Ch ( Mo Me ) / Vo
(8)
(9)
(10)
y dado que:
(11)
( dR / dt )
R 2 ( Cs Cg )
Ch ( Rc 2 / hc) ( R / kc)( R( R Rc ))
(12)
1/ 3
(13)
(14)
( Cs Cg ) t
Ro R
Ro 2 Rc 2
Ro 2 R 2
Ch
2 kc
hc 1 (Re/ Ro ) 3
2 kc 1 (Re/ Ro ) 3
(15)
Cs Cg
Ch
Ro
(1 / hc) (1 / kc )
R 2 Rc 2 ( Ro 2 Rc 2 )(Re/ Ro ) 3
2( Ro R )
(16)
La cual es la expresin matemtica del modelo propuesto y que adopta la forma de una
recta. Donde:
( Cs Cg ) 1 (Re/ Ro ) 3 t
es la variable dependiente
(17)
R 2 Rc 2 ( Ro 2 Rc 2 )(Re/ Ro ) 3
2( Ro R )
es la variable independiente
(18)
(1 / kc)
es la pendiente
(19)
(1 / hc)
es la ordenada al origen
(20)
Ch ( Ro R )
(21)
(22)
Rcactual Rcanterior
F ( Rc ) anterior
F '( Rc ) anterior
(23)
Donde:
R
1
1 2
R RC 2 e
f ( RC ) Ro R
hc
2kc
Ro
RO 2 Rc 2
C s C g Re 3
*t
1
C h Ro
C Cg
2
f ( x) H Ro R K R 2 x 2 B * RO x 2 s
* A*t
Ch
Y
R
f ' ( x) 1 e
Ro
1 R 2 1
R 2
C2 Rc c
hc R kc
R
7 a 13 cm.
Datos de entrada
El programa requiere la siguiente informacin:
DO = Densidad inicial (g/cm3)
DSS = Densidad del slido seco (g/cm3)
RO = Radio equivalente inicial (cm)
RE = Radio equivalente en el equilibrio (cm)
MO = Peso inicial (g)
ME = Peso en el equilibrio (g)
MSS = Peso del slido seco (g)
XO = Humedad inicial (g de agua/g s.s.)
TEMP = Temperatura del aire de secado (C)
VEL = Velocidad del aire de secado (m/s)
CAM = Altura de la cama del lecho a fluidizar (m)
Salida
Para cada instante de tiempo se muestran los siguientes resultados:
Numero de iteraciones para alcanzar una exactitud de 0,0001
Tiempo (min)
Radio simulado de la partcula (cm)
Radio simulado del centro hmedo (cm)
Peso de la partcula (g)
Humedad de la partcula (g agua/g s.s.)
Elaboracion del programa
Formulario
Programa
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
-------------------------------------------------------------------------------------------------------------------------------------------------------Alberto L.Huaman Huaman
54
fxp=1;
error=0.0001;
while abs(fxp)>error
fx1= H*(RO-((C+A*x1^3)^(1/3)))+K*(((C+A*x1^3)^(1/3))^2-(C/RO)-A*x1^2)(CS/CH)*A*tiempo;
gx1=-A*(H*((x1^2)/((C+A*(x1)^3)^(1/3))^2)+2*K*(x1(x1^2/((C+A*(x1)^3)^(1/3)))));
xp = x1 -(fx1 / gx1);
fxp= H*(RO-((C+A*xp^3)^(1/3)))+K*(((C+A*xp^3)^(1/3))^2-(C/RO)-A*xp^2)(CS/CH)*A*tiempo;
x1 = xp;
it= it+1;
end
% CALCULOS
XR(k)=xp;
RR= XR(k);
% CALCULO DEL RADIO DE LA PARTICULA"
R=((C+A*(RR)^3)^(1/3));
% CALCULO DEL PESO
M=ME+(MO-ME)*((RR)/RO)^3;
%"CALCULO DE LA HUMEDAD BASE SECA
X=(M-MSS)/MSS;
% MOSTRARA DATOS EN TABLA
valores ={tiempo xp R M X};
temp=get(handles.tabla,'data');
valoresNuevos=[valores;temp];
set(handles.tabla,'Data',valoresNuevos)
hold on
%Grafico de humedad en funcion del tiempo
axes(handles.axes1)
plot(tiempo,X,'r*')
title('CINETICA DE SECADO');
xlabel('Tiempo (min)'),ylabel('Humedad base seca (g agua/100g ms)')
grid on;
hold on
%Grafico de peso en funcion del tiempo
axes(handles.axes2)
plot(tiempo,M,'b*')
title('CINETICA DE SECADO');
xlabel('Tiempo (min)'),ylabel('Peso (g)')
grid on;
hold on
%Grafico de radio de particula en funcion del tiempo
axes(handles.axes3)
plot(tiempo,R,'k*')
title('CINETICA DE SECADO');
xlabel('Tiempo (min)'),ylabel('Radio de particula (m)')
grid on;
k=k+1;
end
-------------------------------------------------------------------------------------------------------------------------------------------------------Alberto L.Huaman Huaman
56
BIBLIOGRAFIA
Alamilla, B. L. 1990. Simulacin de la operacin de secado de vegetales basada en un
estudio de deshidratacin por lecho fluidizado. Tesis de Maestra en Ciencias
(Alimentos). Escuela Nacional de Ciencias Biolgicas, IPN, Mxico, D. F.
Alamilla, L., Gutirrez, G., Hernndez, H. y Santiago, P. 1991. Estudio
semifundamental del secado de papa en lecho fluidizado. Tec. Aliment.
25(4):24-29.
Brown, G. G., Foust, A. S., Katz, D. V., Schneidewind, R., White, R. R., Wood, W. P.,
Brownell, L. E., Martin, J. J., Williams, G. B., banchero, J. T., and York, J. L.,
1965. Fluidizacin de slidos. Cap. 20, En Operaciones Bsicas de la Ingeniera
Qumica. p. 285-288. Ed. Marn, Barcelona.
De Baun, R. M. 1959. Response surface design for three factors at three levels.
Technometrics. 1(1):1-8.
Flix, A. B., Robles, R. R. y Santiago, P. T. 1989. Estudio de Ingeniera para la
deshidratacin de papa por lecho fluidizado. Memorias de AMIDIQ.,Mxico
Levenspiel, O., 1976. Solid-fluid reactions. Ch. 12, In Chemical Reaction Engineering.
2da. ed., p. 357-377. Wiley International Edition, N. Y.
5.
L *v2
hf f
2* D* g
Dnde:
hf: prdida de carga
F: Factor de friccin(s/u)
L: longitud de la tubera
D; dimetro de la tubera
v: velocidad promedio del fluido dentro de la tubera
g: aceleracin de la gravedad
Por otro lado, el factor de friccinf puede ser estimado mediante la ecuacin de
Colebrook:
1
1
2.51
2 log
4f
3.7( D / e) Re g 4 f
n 2 n
4n D v
Re g
n 1
3n 1 8 k
n
f
Q
m
A .A
Q
1.
fm
Q
A
n 2 n
4n D v
Re g
n 1
3
n
1
8
k
2.
n
3.
1
1
2.51
2 log
4f
3.7( D / e) Re g 4 f
4. hf f
(a)
L*v2
2* D * g
Primero creamos el programa, introduciendo los datos del ejercicio, luego los clculos
previos que debe hacer el programa para el clculo de las constantes, luego aplicaremos
la solucin por el mtodo de falsa posicin.
%PROBLEMA DE PERDIDA DE CARGA EN TRANSPORTE DE FLUIDO
%SOLUCIN DE ECUACIONES NO LINEALES
%"METODO DE REGLA FALSA"
% Setiembre 2010
% Ingeniero Alberto HUAMANI HUAMANI
clear all
clc
flujom = 2.22;den = 1165;n = 0.65;k = 4.43;e = 0.000005;Diam = 0.0343;lon = 200;
%Calculos
Q =flujom/den;
Area =3.1416 * (Diam) ^ 2/ 4;
vel = Q / Area;
A = (4 * n / ((3 * n) + 1)) ^ n;
Reg = A * ((Diam ^ n) * (vel ^ (2 - n)) * den) / (k * 8 ^ (n - 1));
b1 = 1 / (3.7 * (Diam / e));
b2 = 2.51 / Reg;
% Crear la salida
disp(' ')
disp(' Alberto HUAMANI HUAMANI')
disp(' Ingeniera en Industrias Alimentarias')
disp(' Metodos matemticos en industrias alimentarias')
disp(' ')
fprintf('\n');
x1=0.001;
x2=0.1;
error=0.0001;
it=1;
fxr=1;
while abs(fxr)>error
-------------------------------------------------------------------------------------------------------------------------------------------------------Alberto L.Huaman Huaman
59
fx1=-1-2*(4*x1)^0.5*log(b1+b2*(4*x1)^-0.5);
fx2=-1-2*(4*x2)^0.5*log(b1+b2*(4*x2)^-0.5);
xr=x1-(fx1*(x2-x1)/(fx2-fx1));
fxr=-1-2*(4*xr)^0.5*log(b1+b2*(4*xr)^-0.5);
if(fxr*fx2)>0;
x2=xr;
else
x1=xr;
end
it=it+1;
hf = (xr * lon * (vel^2))/(2 * Diam * 9.81);
end
fprintf('\n El coeficiente de friccin f es: %8.6f \n',xr);
fprintf('\n El nmero de iteraciones es: %4.0f \n',it);
fprintf('\n El caudal Q (m3/h) es: %8.4f \n',Q);
fprintf('\n La velocidad v(m/s) es: %8.6f \n',vel);
fprintf('\n El reynolds generalizado Reg es: %8.6f \n',Reg);
fprintf('\n La perdida de carga (m agua) es: %8.6f \n',hf);
Compilacin: ejecutamos el programa realizado
Alberto HUAMANI HUAMANI
Ingeniera en Industrias Alimentarias
Metodos matemticos en industrias alimentarias
El coeficiente de friccin f es: 0.010160
El nmero de iteraciones es: 8
El caudal Q (m3/h) es: 0.0019
La velocidad v(m/s) es: 2.062281
El reynolds generalizado Reg es: 148.820555
La prdida de carga (m agua) es: 12.841765
6.
1 dma
K g C s C g
A dt
Dnde:
A
ma
t
kg
Cs
Cg
(1)
=
=
=
=
=
=
La ecuacin que describe el movimiento del agua desde el ncleo hmedo hacia la
superficie de la placa, a travs de la capa de slido seco, es:
1 dma
dC
Di
A dt
dz
(2)
Donde:
A
ma
t
Di
C
=
=
=
=
=
Si el secado es controlado por condiciones externas, la ecuacin (1) ser la que describa
el proceso. Si el slido representa la mayor resistencia, la ecuacin (2) tendr un
significado ms alto. En realidad el modelo del ncleo hmedo presenta como
caracterstica ventajosa, desde el punto de vista fenomenolgico, que considera una
sucesin gradual de resistencia. En un principio la fase gaseosa tendr mayor
importancia y posteriormente el slido ser el factor controlante. Esto es un reflejo
cercano a lo que sucede durante el proceso de secado de muchos alimentos y materiales
biolgicos en general.
-------------------------------------------------------------------------------------------------------------------------------------------------------Alberto L.Huaman Huaman
62
Di ae bt
(3)
1 dm
kgC
A dt
(4)
kgCc
t
Ch
(5)
Lc L 0
Que es el modelo que explica la disminucin del espesor de la placa cuando la difusin
de agua a travs de la pelcula gaseosa controla la velocidad de secado.
1 dm Di Cc
A dt L Lc
Lc L0
(6)
2L0Cc ebt 1
LeCh
b
(7)
Donde:
Lo : el espesor inicial
Le :el espesor de la placa en equilibrio
Cc: la concentracin de agua en el ncleo hmedo
Ch : la cantidad de agua a evaporar por unidad de volumen
Que es el modelo que explica la disminucin del espesor de la placa cuando la difusin
de agua a travs de la capa de slido seco controla la velocidad de secado.
En las expresiones anteriores, aparece una resistencia combinada: capa de slido seco y
de la pelcula gaseosa cuya importancia relativa vara a medida que se realiza el secado,
controlando as el proceso global de deshidratacin de la placa.
Debe tomarse en cuenta que ambas resistencias actan en serie y que ambas son lineales
respecto a la concentracin de agua y slidos. Por consiguiente, se pueden combinar
directamente las resistencias individuales de ambas etapas de acuerdo a:
A kg Cc
dm
dt 1 kg L Lc
Di
-------------------------------------------------------------------------------------------------------------------------------------------------------Alberto L.Huaman Huaman
63
(8)
kg ( L Lc )
Di
(9)
bCh
( Lc L0 )
kgCc
bt
Lekg
kgCc
Lekg 2 Cc
L 0 Lc
a
L0
bCh
bChL 0
(10)
me m0 me lc
l0
(11)
m mss
mss
(12)
INICIO
Parmetros de
simulacin
(propuestos)
kg, a, b
Dimensiones y
masas de la placa
A, Lo, mo
me, De, mss
Clculo de
Ch, Le y Cc
i = 1 , 100
S
t = -1
Fn
No
Di = a exp (bt)
Obtencin de la raz lc ,
del modelo (ecuacin 10)
Mtodo de
Newton de
2 orden
m = me + (mo - me)lc/Lo
X = (m - mss)/mss
t,X
lc lco
f ' (lco )
f Lc e
bCh Lc L0
k g Cc
f (lco )
f (lco )
(13)
2 f ' (lco )
2
bt Le k g
k g Cc
Le k g Cc
L0 Lc
a
ae
L
bC
bCh L0
0
h
Lk C
f Lc p Di L0 Lc a e g c
bCh L0
f Lc p * q a
bCh
k g Cc
: funcin matemtica
p exp * x L0
f Lc p * q a
Le k g
L0
Di a expb * 60 * t
q Di * L0 x
Dnde:
F(lc) y F(lc) son la primera y segunda derivadas de F(lc), respectivamente.
Formulario
-------------------------------------------------------------------------------------------------------------------------------------------------------Alberto L.Huaman Huaman
66
(14)
Programa
function pushbutton1_Callback(hObject, eventdata, handles)
kg=str2double(get(handles.edit1,'string'));
a=str2double(get(handles.edit2,'string'));
b=str2double(get(handles.edit3,'string'));
Ar=str2double(get(handles.edit4,'string'));
Lo=str2double(get(handles.edit5,'string'));
mo=str2double(get(handles.edit6,'string'));
me=str2double(get(handles.edit7,'string'));
mss=str2double(get(handles.edit8,'string'));
de=str2double(get(handles.edit9,'string'));
t=str2num(get(handles.edit10,'string')); % para varios valores
n=length(t);
%Calculus: Ch, Le, Cc, alfa y beta
Din = mo/(Ar*Lo);
Ch = Din*(mo-me)/mo;
Le = me/(de*Ar);
Dss = mss/(Ar * Le);
xo = (mo - mss)/mss;
Cc = Dss*xo;
alfa = b*Ch/(kg * Cc);
beta = Le*kg / Lo;
%Clculo del contenido de humedad en funcin del tiempo
for k=1:n
% t(k)*60; % conversin de tiempo de min a s
Di = a*exp(b*t(k)*60);% Calculo de Di y conversin min a s
tiempo = t(k);
%METODO DE NEWTON RAPHSON DE SEGUNDO ORDEN
lcv = Lo; %Aproximacin inicial de la raz
e=0.000001;
-------------------------------------------------------------------------------------------------------------------------------------------------------Alberto L.Huaman Huaman
67
ea=1000;
it=0; % iteracion
while ea>e
p = exp(alfa*(lcv-Lo));
q = Di + beta*(Lo-lcv+1/alfa);
f = p*q-a-beta/alfa;
DF = p*(alfa*q-beta);
DDF = p*(alfa^2*q-2*alfa*beta);
% lcn = lcv-f/(DF-f*DDF/(2*DF));
lcn=lcv-(f*DF)/((DF^2)-(f*DDF));
ea= abs(((lcn-lcv)/lcv)*100);
lcv = lcn;
it=it+1;
end
%CALCULO DE HUMEDAD EN CADA TIEMPO
lc(k)=lcn;
Lc=lc(k);
m = me+(mo-me)*Lc/Lo;% Calculo de masa seca en cada tiempo
X= (m-mss)/mss; % Humedad en cada tiempo
% CALCULO DEL ENCOGIMIENTO DEL ESPESOR EN CADA TIEMPO
lc(k) = lcn;
L(k) = Le+(1-Le/Lo)*lc(k);
Dam = kg*(L(k)-lcn)/Di;
rpg(k) = 1/(1+Dam);
rcss(k) = Dam/(1+Dam);
% MOSTRARA DATOS EN TABLA
valores ={tiempo m X L(k) };
temp=get(handles.tabla,'data');
valoresNuevos=[valores;temp];
set(handles.tabla,'Data',valoresNuevos)
hold on
%Grafico de humedad en funcion del tiempo
axes(handles.axes1)
plot(tiempo,X,'r*')
title('CINETICA DE SECADO');
xlabel('Tiempo (min)'),ylabel('Humedad (g agua/ 100g ms)')
grid on;
hold on
% Variacion de masa de agua
axes(handles.axes2)
plot(tiempo,m,'b*')
title('CINETICA DE SECADO');
xlabel('Tiempo (min)'),ylabel('Masa de agua (g)')
grid on;
hold on
% Grafico de variacion de espesor
axes(handles.axes3)
plot(tiempo,L(k),'g*')
title('CINETICA DE SECADO');
xlabel('Tiempo (min)'),ylabel('espesor de nucleo (m)')
-------------------------------------------------------------------------------------------------------------------------------------------------------Alberto L.Huaman Huaman
68
grid on;
k=k+1;
end
function pushbutton2_Callback(hObject, eventdata, handles)
close
Ejecucion del programa
Bibliografa
1. Zazueta, N.J.A. 1994. Estudio del secado a baja presin y baja temperatura y su
comparacin con el secado en tnel experimental. Tesis de Maestra, Universidad
Autnoma de Sinaloa, Mxico. Programa elaborado en lenguaje Visual Basic.
Ejercicios propuestos
Prctica 1-7
EJERCICIOS PROPUESTOS
1.
Suponiendo que no hay forma constante y geomtrica de una placa infinita con
espesor 2L, donde la transferencia de humedad durante la deshidratacin osmtica es
predominantemente unidireccional y considerando Def constante, la ecuacin 2.1 se
reduce a:
X
2 X
Def
t
y 2
Para la situacin de humedad inicial X0 uniforme, despreciando las resistencias externas
a la transferencia de materia y considerando la contraccin del producto durante la
deshidratacin despreciable, las condiciones de contorno para la humedad X son:
X Xo
en el
t=0
0<y<L
(2.2a)
Ejercicios propuestos
X Xe
en el
y=L
t>0
(2.2b)
X
0
y
en el
y=0
t>0
(2.2c)
La solucin de la ecuacin 2.2 con las condiciones de contorno 2.2a, 2.2b e 2.2c es:
X Xe
8
2
X0 Xe
(2n 1) 2 2
1
exp
Def .t
2
2
4L
n 0 ( 2n 1)
Para el soluto
M Me
8
2
M0 Me
(2n 1) 2 2
1
exp
Def .t
2
2
4L
n 0 ( 2n 1)
Donde:
X = humedad de la muestra (g);
M = masa de slidos (sacarosa) en la muestra (g);
Def1 = difusividade efectiva del agua (m2/s);
Def2 = difusividad efetiva del soluto (m2/s);
t = tiempo (s);
n = nmero de terminos de la srie;
L = dimensin caracterstica (m). caso placa
Realizar un programa con dos tablas de resultado y dos graficos de cintica de
difusividad efectiva para el soluto y para el agua del producto.
Tabla: Valores de la Perdida de gua (PA), Ganancia de Slidos (GS) y del
Adimensional GS/PA durante la cintica de desidratacin osmtica con solucin
de sacarosa (40, 50 y 60Brix) a 30C.
2.
Ejercicios propuestos
Solucin
El nmero de Reynold crtico correspondiente a este flujo se obtiene de la ecuacin:
6464n
Re Crtico
2 n
1 n
1 3n 1
2n
2
Ef
Se asume una velocidad a partir del cual se evala el valor del mdulo de Reynolds
generalizado
d n 4n 2n
v
8n1 k 1 3n
n
Re G
d n 4n
8n1 k 1 3n
Re G C * v 2 n
16
Re G
16
C * v 2 n
2 d Ef
vm
4fL
1/ 2
vm
2 d
vm
Ejercicios propuestos
Ef
16
4*L*
C * v 2n
2 d
E f * C * v 2n
4 * L *16
f ( v ) v 2
2 d
E f * C
4 * L *16
v 2n 0
3.
Ejercicios propuestos
De las Tablas de vapor saturado de agua para tv=105C, calor latente de vaporizacin
es:
v105C 2242kJ / kg
El calor de condensacin de vapor es cedido al tomate para aumentar su temperatura
desde 18C hasta 75C.
wc v w f Cp f t s t e
kJ
wc 2242 1200kg / h 3,98kJ / kg C 75 18 C
kg
wc 1214,2kg / h
Segn el enunciado del problema se puede despreciar la resistencia que la capa de
condensado y la pared ofrecen a la transmisin de calor, por lo que: U=hi
Como el coeficiente global de transmisin de calor varia linealmente con la
temperatura: U = a+bt, el caudal de calor que atraviesa la seccin lateral del tubo
metlico ser:
UT mtc U 2 T1 U 1T2
U T
Ln 2 1
U 1 T2
U1 h1
T1 Tv tc 105 18 87 C
U 2 h2
T2 Tv t s 105 75 30 C
Ejercicios propuestos
0 ,14
0,027k
Re 0,8 Pr0,33
h
d
w
Calculo de la densidad de flujo de la corriente de tomate:
w1
4
G
d2
4 *12000kg / h
* 5,25 *10
2 2
1h
kg
1539,8 2
m .s
m 2 3600s
1,75x104 exp(4000/ T )
En la tabla siguiente se hallan recogidos los valores de Re, Pr y calculados a partir de
las ecuaciones anteriores:
Puede observarse que la entrada Re1=496, por lo que para el clculo de h1 se debe
utilizar una expresin para flujo laminar:
d
Nu 1,86Re Pr
L
1/ 3
0 ,14
Luego,
1,86k
Re Prdi 1/ 3
h1
di
w
0 ,14
L1/ 3
Para el clculo de h1 es preciso conocer la longitud del intercambiador, lo que hace que
el problema deba resolverse por iteracin o tanteo.
Al sustituir los valores de las variables, se obtiene:
h1 892L1/ 3 W/m 2 C
Para el clculo de h2 se utiliza la ecuacin de Sieder.Tate.
La longitud del intercambiador se calcula mediante la expresin:
L
Q
d i UT mtc
Ejercicios propuestos
Siendo:
Q wc v 756,18kW
di 5,25*102 m
160,62 * ln(3,91L1/ 3 )
3,91 L1/ 3
160,62 * ln(3,91L1/ 3 )
0
3,91 L1/ 3
4.
Ejercicios propuestos
Solucin
Seccin del tubo interior:
d i 2
3,1416* (0,22m) 2
S
0,0380m 2
4
4
Seccin anular:
Sa
d 0 2 d e2
4
3,1416* (0,30m)
0,02694m 2
d 0 2 d e2
d 0 d e2
0,302 0,2362
4
De 4 * rH
0,1454m
de
de
0,236
Densidad de flujo msico para el agua
GC
wc 10000kg / h 1h
kg
103,1 2
Sa
0,02694 3600s
m s
hDe
0,023Re 0,8 Pr 0,3
k
Mdulo de Prand
kJ 3
4,185
10 Pa.s
kg C
Cp
Nu
7,2
kJ
k
0,58x103
s.m. C
Mdulo de Reynolds
kg
0,1454m
2
v De Gc De
m
.
s
Re
1,5 x104
3
10 Pa.s
Al sustituir en la ecuacin Dittus-Boelter
103,1
W
m C 0,023 1,5 x104
he
0,1454m
0,58
7,2
0 ,8
0, 3
363
W
m2 C
Ejercicios propuestos
W
kg
J 1 min
3
0,52
4 6
1100 3 3,35x10
m C
kg C min 60s
m
hi 2
W
hi 988 2
m C
1/ 2
Ui
1
988
W
m2 C
8 x103
1
W 0,228m
W 0,236m
23
363 2
m C 0,22m
m C 0,22m
d e d i 0,236 0,22
0,228m
de
0,236
ln
ln
0,22
di
Al operar se obtiene:
U i 255
W
m2 C
2,904*103
1,507 968
fL
L
L0,37
2,904*103 0
1,507 968
Paralelo:
L
L0,37
2,904*103
1,523 968
fL
Ejercicios propuestos
L
L0,37
2,904*103 0
1,523 968