Você está na página 1de 25

UNIVERSIDADE FEDERAL DO MARANHÃO

CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA - CCET


COORDENAÇÃO DO CURSO DE ENGENHARIA QUÍMICA - COEQ

Resolução de equações diferenciais e de


sistemas de equações diferenciais com o
MATLAB

Cálculo de Reatores Químicos;

Prof. Antonio Freitas


Utilizando o Matlab
• A programação em ambiente MATLAB dispensa tarefas
como declaração de variáveis e alocação de memória,
necessárias durante a utilização de linguagens de
programação como C ou Fortran.

• Antes de abordar a programação em ambiente MATLAB,


faz-se necessária uma análise da execução de comandos
de linha diretamente digitados na área de trabalho
(workspace).

 MATLAB é uma abreviação para MATrix LABoratory;

 O Programa trabalha com matrizes;


Utilizando o Matlab
Exemplo de equação diferencial - simples
dy
= -0,1.(y-10)
dt

Resolver essa equação com:

y0 =100

Utilizar o Matlab e o comando ODE 45


Utilizando o Matlab
Utilizando o Matlab

Novo m-file
Utilizando o Matlab dy
= -0,1.(y-10)
dt
Function dy= df(t,y)
dy=-0.1*(y-10)
Utilizando o Matlab

Voltando a tela inicial


Utilizando o Matlab
Utilizando o Matlab
Utilizando o Matlab
Sistema de equações diferenciais
dx
= x + k1.y
Condição de contorno, em t = 0:
dt
Com: k1 = 2
x=2
dy
= k2 .x + k1.y k2 = 3 y=3
dt

Esse sistema de equações tem solução analítica, dada por:

x = k1. exp 4.t


y = k2 . exp 4.t
Sistema de equações diferenciais

Definição das constantes

Matriz de resposta
Sistema de equações diferenciais
Sistema de equações diferenciais
Sistema de equações diferenciais

Comparação com a solução analítica

180

160

140

120

100
x, y

xnum.

80 ynum.
xana.
60 Yana

40

20

0
0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

Tempo
Problemas de Valor inicial no Matlab:

Comando Método de solução


ode45 Runge Kutta de ordem superior
ode23 Runge Kutta de ordem inferior

[t,y]=odexx(‘func’,tspan,yo)

Yo- valor inicial


Tspan- valor inicial e final de tempo
Func- função a ser integrada
Exercício 01 - Sistema de equações diferenciais
dx
u
dt
xo  2
du
 (1  u 2 )u  x u0  0
dt

Solução:

function dydt = vdp1(t,y)


dydt(1)= y(2);
dydt(2)=(1-y(2)^2)*y(2)-y(1);
dydt=[dydt(1);dydt(2)];

>>ode45(‘vdp1’,[0 20],[2 0]);


Solução Matlab
Em um novo m-file

function dydt=q2811(t,y)

%y(1)=C e y(2)=T

dydt(1)=-exp(-10/(y(2)+273))*y(1);

dydt(2)=1000*exp(-10/(y(2)+273))*y(1)-10*(y(2)-20);

dydt=[dydt(1); dydt(2)];

na tela de comando:

>> [t,y]=ode45('q2811',[0 10], [1 15]);


Reação de síntese de biodiesel
Reação de síntese de biodiesel
Reação de síntese de biodiesel

Você também pode gostar