Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TALLER 4
1) Animación
% Movimiento Browniano
n = 20;
s = .02;
x = rand(n,1)-0.5;
y = rand(n,1)-0.5;
h = plot(x,y,'.');
axis([-1 1 -1 1])
axis square
grid off
set(h,'EraseMode','xor','MarkerSize',18)
while 1
drawnow
x = x + s*randn(n,1);
y = y + s*randn(n,1);
set(h,'XData',x,'YData',y)
end
clear; clc;
fig=figure;
set(fig,'DoubleBuffer','on');
figure(1);
set(gca,'xlim',[-80 80],'ylim',[-80 80],'NextPlot','replace','Visible','off')
mov = avifile('EjmAVI1.avi')
x = -pi:.1:pi;
radio = 0:length(x);
for k=1:length(x)
h = patch(sin(x)*radio(k),cos(x)*radio(k),[abs(cos(x(k))) 0 0]);
set(h,'EraseMode','xor');
F = getframe(gca);
mov = addframe(mov,F);
end
mov = close(mov);
a) x = fminbnd(@sin,0,2*pi)
b) x = fminbnd(@FMin,0,5)
function f = FMin(x)
f = (x-3).^2 - 1;
− X1 − 2 X 2 − 2 X 3 ≤ 0
X 1 + 2 X 2 + 2 X 3 ≤ 72
options=optimset('Diagnostics','off','Display','Iter','LineSearchType','cubicpoly','Hessian'
,'off');
[x,fval] = fmincon(@FMinR,x0,A,b,[],[],[],[],[],options)
function f = FMinR(x)
f = -x(1) * x(2) * x(3);
∑ ( 2 + 2k − e − e kx2 )
10
kx1
k =1
CONCEPTOS DEMOSTRADOS
Simulación de reacciones químicas o biológicas en un proceso por lotes que puede tratar
con velocidades muy altas de reacción con muy bajas concentraciones de reactantes.
dB BS dS BS
= k1 = −0.75k1
dt k2 + S dt k2 + S
donde B y S son las respectivas concentraciones de biomasa y sustrato. Las constantes
cinéticas de la reacción son k1=0.3 y k2=10-6 en unidades consistentes.
function ReactorStiff();
clc; clf
k1=0.3; k2=1E-6; t0=0; B0=0.05; S0=5.0; tf=20;
Param=[k1 k2];
options = odeset('RelTol',1e-7,'AbsTol',1e-7);
%x(1)=B, x(2)=S
[T,Y] = ode45(@fStiff,[t0 tf],[B0 S0],options,Param);
% [T,Y] = ode15s(@fStiff,[t0 tf],[B0 S0],options,Param); %STIFF
figure(1)
plot(T,Y,'-')
title('Crecimiento de Biomasa desde el sustrato')
h = legend(['Biomasa(B)'],['Sustrato(S)'],4);
xlabel('Tiempo')
ylabel('Concentración de Biomasa (B) , Sustrato (S)')
function dx = fStiff(t,x,Param)
k1=Param(1); k2=Param(2);
dx = zeros(2,1);
%x(1)=B, x(2)=S
B=x(1); S=x(2);
dB_dt = k1*B*S/(k2+S);
dS_dt = -0.75*k1*B*S/(k2+S);
dx(1)=dB_dt; dx(2)=dS_dt;
Método del disparo para solucionar ecuaciones diferenciales con valores de frontera
típicamente usados en fenómenos de transporte y cinética de reacciones.
CONCEPTOS DEMOSTRADOS
Método para solucionar ecuaciones diferenciales ordinarias con valores de frontera de
dos puntos típicamente usado en fenómenos de transporte y cinética de reacciones.
d 2CA k
2
= CA (1)
dz DAB
C A = C A0 para z = 0 (3)
dC A
= 0 para z = L (4)
dz
cosh ⎡⎣ L k / DAB (1 − z / L ) ⎤⎦
C A = C A0 (2)
(
cosh L k / DAB )
a) Solucionar numéricamente la ecuación (1) con las condiciones de frontera (2) y (4)
para C A 0 =0.2 kg-mol/m3, k =10-3 s-1, DAB =1.2x10-9, y L=10-3 m. Esta solución podría
usar la técnica del disparo y emplear el método de Newton-Raphson para la
convergencia a la condición de frontera dada por la ecuación (3).
SOLUCIÓN
function Reaction();
clc; clf
k=0.001; DAB=1.2E-9; L=1E-3; CA0=0.2;
LkDAB=L*(k/DAB)^0.5;
dCA_dz0f=dCA_dz0i-fdCA_dzLCalc/f1dCA_dzLCalc;
end
dCA_dz0=Y(1,2);
[T,Y] = ode45(@fReaction,[0 L],[CA0 dCA_dz0],options,Param);
dCA_dzLCalc=Y(size(Y,1),2); %debe ser 0
figure(1)
subplot(2,1,1)
plot(T,Y(:,1),'r-')
title('Reacción')
xlabel('Longitud (m)')
ylabel('C_A (kgmol/mol^3), orden 1')
hold on
LZ=[0:1E-5:L];
CA=CA0*cosh(LkDAB*(1-LZ./L))./cosh(LkDAB);
plot(LZ,CA,':')
legend(['C_A (EDO)'],['C_A (analítico)'],1);
subplot(2,1,2)
plot(T,Y(:,2),'r-')
xlabel('Longitud (m)')
ylabel('dC_A/dz (kgmol/mol^3.m)')
hold on
LZ=[0:1E-5:L];
dCA_dZ=(-1/L)*LkDAB*CA0*sinh(LkDAB*(1-LZ./L))./cosh(LkDAB);
plot(LZ,dCA_dZ,':')
legend(['dC_A/dz (EDO)'],['dC_A/dz (analítico)'],2);
hold off
function dx = fReaction(t,x,Param)
k=Param(1); DAB=Param(2); Caso=Param(3);
dx = zeros(2,1);
CA=x(1); y=x(2);
dCA_dz = y;
dy_z = k/DAB*CA;
dx(1)=dCA_dz;
dx(2)=dy_z;
8) PROBLEMAS PROPUESTOS
En t=0: X=Y=Z=0.1
Variar en forma ínfima a los 3 parámetros del sistema de ecuaciones y discutir los
resultados.
d3y ⎛ d 2 y 1⎞ ⎛ dy ⎞
− 2 x sin ⎜ ⎟ + exp ⎜ ⎟ − 3 y sin ( y ) = −t cos ( t )
3
8.4 Resolver la ecuación 4
dt ⎝ dt t ⎠ ⎝ dt ⎠
Las condiciones son y(0)=1, y’(0)=-π/2, y’’(0)=0