simulación
Modelo de interaccione (presa –presador)
X1=población de presas
X2=población de predadores
A, b, c, d= parámetros del modelo
Modelo (dx1/dt)=ax1-bx1x2 (dx2/dt)= cx1x2, dx2
A=1,b=2,c=2,d=1
X1(0)=1 resolver de 0-20 unidades de tiempo
X2(0)=0.1
Ejemplo 2
Modelo de un CSTR no-isotérmico y no-adiabático
X1= concentración a dimensionaldel reactante A
X2= Temperaturas del reactor
Parámetros X1in , X2in , F/V=TETA ,( Eact/R)=gama , K0=alfa, (DELTAH/roCpV)=beta, (UA/ROCpV)=fi
Modelo
(dx1/dt)=teta(x1in-x1)-alfaexp{-gama/x2}x1
(dx2/dt)=teta(x2in-x2)+betaalfaexp{-gama/x2}x1+fi(x2j-x2)
X1in=1, x2in=350, teta=1, gama=10000, alfaexp{25}, beta=200, fi=1, x2=350, xi(0)=1.0, x2j(0)=320
Resolver de0-10 unidades//LAS FUNCIONES DE MATLAB PARA RESOLVER PROBLEMAS DE VALOR INICIAL PARA ECUACIONES DIFERENCIALES ORDINARIAS SON:
// ODE45 - MÉTODO RUNGE -KUTTA -FEHLBERG DE LARGO DE PASO VARIABLE QUE COMBINA UN MÉTODO DE ORDEN CUATRO CON UNO DE ORDEN CINCO
// ODE23 - MÉTODO RUNGE-KUTTA DE LARGO DE PASO VARIABLE QUE COMBINA UN MÉTODO DE ORDEN DOS CON UNO DE ORDEN TRES.
[ ] Se utilizan para formarvectores y matrices
( ) Define precedencia en expresiones aritméticas. Encierra argumentos de funciones en forma usual
, Separador de elementos de una matriz, argumentos de funciones y declaraciones en líneas con declaraciones múltiples
; Termina filas de una matriz, separador de declaraciones
PLOT - CREA UNA GRÁFICA DE VECTORES Ó COLUMNAS DE MATRICES.
SUBPLOT: Dibuja la pantalla en mxnsubdivisiones, numeradas por el parámetro p, de izquierda a derecha, iniciando por la fila superior
function ejemplo1 //DECLARANDO LA FUNCION
[t,x]=ode45(@pp,[0 20],[1 0.1]);
subplot(3,1,1); plot(t,x(:,1));
subplot(3,1,2); plot(t,x(:,2));
subplot(3,1,3); plot(x(:,1),x(:,2));
function dx=pp(t,x)
%parametros
a=1; b=2; c=2; d=1;
%modelo
dx=zeros(2,1)//ZEROS SIGNIFICA MATRIZ DEMXN DE CEROS
dx(1)=a*x(1) -b*x(1)*x(2);
dx(2)=c*x(1)*x(2) -d*x(2);
function ejemplo2
[t,x]=ode23s(@cstr,[0 10],[1 320]);
subplot(3,1,1);plot(t,x(:,1));
subplot(3,1,2);plot(t,x(:,2));
subplot(3,1,3);plot(x(:,1),x(:,2));
function dx=cstr(t,x)
%parametros
teta=1; x1in=1; x2in=350; x2j=350;
alfa=exp(25); delta=10000; beta=200; gama=1;
%modelo
dx=zeros(2,1);dx(1)=teta*(x1in-x(1))-alfa*exp(-delta/x(2))*x(1);
dx(2)=teta*(x2in-x(2))+beta*alfa*exp(-delta/x(2))*x(1)+gama*(x2j-x(2));
//TODO ESTO SE HACE SIN CERRAR NADA
function ejemplo2
[t,x]=ode23s(@cstr,[0 10],[1 320]);
subplot(3,1,1);plot(t,x(:,1));hold on
subplot(3,1,2);plot(t,x(:,2));hold on
subplot(3,1,3);plot(x(:,1),x(:,2));hold on
function dx=cstr(t,x)%parametros
teta=1; x1in=1; x2in=350; x2j=350;
alfa=exp(25); delta=10000; beta=200; gama=1;
%modelo
dx=zeros(2,1);
dx(1)=teta*(x1in-x(1))-alfa*exp(-delta/x(2))*x(1);
dx(2)=teta*(x2in-x(2))+beta*alfa*exp(-delta/x(2))*x(1)+gama*(x2j-x(2));
function ejemplo2
[t,x]=ode23s(@cstr,[0 10],[0 320]);
subplot(3,1,1);plot(t,x(:,1));hold onsubplot(3,1,2);plot(t,x(:,2));hold on
subplot(3,1,3);plot(x(:,1),x(:,2));hold on
function dx=cstr(t,x)
%parametros
teta=1; x1in=1; x2in=350; x2j=350;
alfa=exp(25); delta=10000; beta=200; gama=1;
%modelo
dx=zeros(2,1);
dx(1)=teta*(x1in-x(1))-alfa*exp(-delta/x(2))*x(1);
dx(2)=teta*(x2in-x(2))+beta*alfa*exp(-delta/x(2))*x(1)+gama*(x2j-x(2));
function ejemplo2
[t,x]=ode23s(@cstr,[0 10],[0 500]);subplot(3,1,1);plot(t,x(:,1));hold on
subplot(3,1,2);plot(t,x(:,2));hold on
subplot(3,1,3);plot(x(:,1),x(:,2));hold on
function dx=cstr(t,x)
%parametros
teta=1; x1in=1; x2in=350; x2j=350;
alfa=exp(25); delta=10000; beta=200; gama=1;
%modelo
dx=zeros(2,1);
dx(1)=teta*(x1in-x(1))-alfa*exp(-delta/x(2))*x(1);
dx(2)=teta*(x2in-x(2))+beta*alfa*exp(-delta/x(2))*x(1)+gama*(x2j-x(2));...
Regístrate para leer el documento completo.