Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/11/2007, 11:25
RedtuX
 
Fecha de Ingreso: noviembre-2007
Mensajes: 2
Antigüedad: 17 años, 4 meses
Puntos: 0
Erro al programar un modelo prediseñado de MATLAB

ok el problema es el siguiente... estoy haciendo un programa que viene en un libro ya... el listado es el siguiente:

Cita:
% Comportamiento en un reactor batch
% Se puede obtener el comportamiento del crecimiento,
% consumo de sustrato
% y oxigeno en un reactor por lote (Batch)
% [t,y]=ode45('lotemonod',[0 20],[668 210 5]); (para correr)
% plot(t,y(:,1),'-',t,y(:,2)'-.'t,y(:,3),'+') (para graficar)
% format short g; para poner antes que ver todo el valor que resulta
% [t,y(:,1),y(:,2),t,y(:,3)] (para tener los valores)

% Ecuaciones (V-12a), (V-13a) y (V-14a)

% Susutrato en el reactor:

% dS/dt=-(Umax/Y)*(X*S/Ks+S)

% para biomasa en el reactor:

% dX/dt=X*Umax*(S/Ks+S)-kd*X

% para el oxigeno

% dO2/dt=kla(O2sat-O2)-(a/Y)*X*Umax*(S/Ks+S)+b*X

function dy = batchmonodo2(t,y)
kla=17.6; %(h-1); %de aireacion
O2sat=8;
Y=0.3678;
Umax=0.07937;
Ks=115.374; % mg/L
kd=0.0041166; %h-1
a=0.302;
b=0.010079; %h-1

% sistema de ecuaciones
dy=zeros(3,1); %vector columna
dy(1)=-((Umax/y)*y(1)*y(2))/(Ks+y(1)); % Ecuacion(V-12a)
dy(2)=((Umax*y(1)*y(2))/(Ks+y(1)))-kd*y(2); % ec. (V-13a)
dy(3)=kla*(O2sat-y(3))-(((a/Y)*Umax*y(1)*y(1)*y(2))/(Ks+y(1)))-b*y(2); %Ec. (V-14a)
pero al correrlo me manda el siguiente mensaje:

>> lotemonod
??? Input argument 'y' is undefined.

Error in ==> C:\MATLAB6p5\work\LOTEMONOD.m
On line 36 ==> dy(1)=-((Umax/y)*y(1)*y(2))/(Ks+y(1)); % Ecuacion(V-12a)

que es lo que esta mal :S no se mucho de esto...