Escolar Documentos
Profissional Documentos
Cultura Documentos
1.
2.
3.
4.
5.
6.
3
3
3
3
3
4
AULA 2 PROGRAMAO
1.
2.
3.
4.
5.
6.
7
7
8
9
9
10
11
1.
11
AULA 4 SIMULINK
13
1.
2.
3.
4.
13
15
16
18
21
1.
2.
21
25
TOOLBOXES
GUIDE
LISTA DE EXERCCIOS
28
BIBLIOGRAFIA RECOMENDADA
31
3. Comandos Bsicos
Alguns comandos bsicos que ajudam o usurio na
utilizao do software so descritos a seguir:
help sin
which sin
5*2
2^3
b=7*3;
c=a+b
clear all;
2/3
which ode23
2. Comandos de linhas
5+7
2\3
help ode23
cd c:\temp
cd
4. Smbolos e constantes
Diversos smbolos representam constantes ou limites da
mquina. Os principais so:
Entrada de matrizes
Matrizes podem ser geradas de diferentes modos:
a = [1 2]
3 4]
diag([1 2])
size(A)
reshape(A,m,n)
redimensiona a matriz A
segundo
o
as
novas
dimenses mxn
a (2,1) = 3
eye(3)
diag(A)
ones(3)
zeros(3)
STRINGS
a = [ 1:3 ; 4:6]
s(1:4)
ans =
Este
eval(S)
[2 3; 4 5] .* [1 2; 3 4]
ans =
[2 6
12 20]
num2str(7)
strcat(S,T)
concatena as strings S e T
strcmp(S,T)
compara as strings S e T
6. Grficos
Os grficos so considerados pelo MATLAB como
figuras, nas quais pode-se visualizar de vrias formas
diferentes um conjunto de dados. Como so figuras, para
manipul-los, pode-se utilizar comandos de linha
(diretamente atravs da barra de ferramentas da janela
criada para o grfico) ou ento utilizando o GUIDE, como
ser visto mais adiante.
[2 3; 4 5] .^2
ans =
[4 9
16 25]
2D PLOTS
x = [1:10] ; y = x;
plot(x,y);
10
9
8
7
6
5
4
3
2
1
10
plot(x, x, r, x, 2 * x, --b');
subplot(1,2,1);plot(1:10,'*b');subplot(1,2,2);plot(1:10,'--m');
20
18
16
10
10
12
10
14
4
2
0
10
2
1
cor
amarelo
magenta
ciano
vermelho
verde
azul
branco
preto
.
o
x
+
*
s
d
v
marcador
ponto
crculo
x-marca
cruz
estrela
quadrado
diamante
tringulo
:
-.
--
10
10
tipo de linha
slido
ponto
trao-ponto
tracejada
3D PLOTS
Para gerar grficos 3D preciso montar uma malha com
os vetores das trs dimenses envolvidas. O comando que
gera esta malha com facilidade o mesgrid que toma dois
vetores como argumento para gerar uma malha que ser
utilizada para o clculo da uma terceira dimenso.
x = [1:10] ; y = x;
200
ezplot(cos(x) , [0,pi]);
150
Funo co-seno
100
50
0
10
0.5
Y=cos(X)
10
8
6
4
2
0
-0.5
-1
0
0.5
1.5
X
2.5
plot3(x , y , z);
scatter(x,y(:,2));
15
10
200
150
100
50
0
10
0
10
10
6
4
2
0
gray
jet
bone
copper
pink
white
prism
autumn
cool
hsv
flag
winter
abre uma figura nova
abre uma figura
salva a figura
imprime a figura
bar(x,y);
15
10
10
25
20
15
10
10
pie(x);
4% 2%
5%
18%
7%
9%
16%
11%
13%
15%
seleciona objetos
insere texto
insere seta
insere reta
Aula 2 Programao
critrio de convergncia do bloco de deciso interrompa o
ciclo.
2. M-FILES
A linguagem de programao do MATLAB utiliza
exatamente os mesmos comandos descritos na aula
anterior, do mesmo modo que eles seriam utilizados se
digitados no workspace, porm os comandos ficam
agrupados e a execuo de todos eles, em seqncia, pode
ser realizada digitando-se apenas o nome atribudo
seqncia, que pode ser salva em um arquivo de texto com
a extenso .m. Os arquivos contendo rotinas de execuo
para o MATLAB so denominados m-files.
Exibir
valor
Deciso
Processo
2 2
Resolver A e B
[ (
0 ,46 R Tc
1 + m 1 Tr
Pc
0 ,078 RTc
b=
Pc
a=
)]
Script-files
Resolver equao
de estado,
obtendo zL e zV
Calcular f V e fL
P=P
No
fV
1 < tol ?
aP
R 2T 2
B=
bP
RT
Z 3 + Z 2 ( B 1 ) + Z A 3B 2 2 B +
B 3 + B 2 AB = 0
bP
ln = ( z 1 ) ln z
RT
bP
z + 1 + 2 RT
a
ln
2bRT 2 z + 1 2 bP
RT
f
=
P
Escrever
P=Psat
(
(
Sim
)
)
% Programa:
% Frmula centesimal --> Frmula molecular
% Inicializao
clc, clear all , clear global
% Pesos moleculares dos elementos
pm=[ 12.01 1.01 16 14.01 ];
% Entrada de dados
comp=input('Entre com o vetor de composies
percentuais (C,H,O,N) ');
pmc=input('Entre com o peso molecular do composto
); '
% Execuo
prorp=pmc*comp/100;
formula=round(prorp./pm)
no
script-file
so
global variavel
Functions
As rotinas escritas como functions so tambm
executadas a partir do prompt do MATLAB, e ento
criam um workspace (a partir de agora denominado
f-workspace) prprio, onde apenas algumas (ou mesmo
nenhuma) variveis do workspace do MATLAB
entram, onde todas as variveis geradas so
armazenadas e de onde apenas as variveis desejadas
retornam. A forma de execuo das functions segue a
seguinte sintaxe:
[sadas] = funcao(entradas)
Lao FOR
1
4
9
16
Operador lgico IF
for i=1:3;
for j=1:3;
switch B(i,j)
case 0
C{i,j}='zero';
case {1,-1}
C(i,j)={'nonzero'};
end
end
end
C
C=
'zero'
'nonzero'
'nonzero'
Para indicar o trmino de uma operao lgica if devese inserir o comando end rotina.
'nonzero'
'zero'
'nonzero'
'nonzero'
'nonzero'
'zero'
4. Vetorizao
for i=1:3;
for j=1:3;
if i == j
B(i,j)=0;
elseif i>j
B(i,j)=-1;
else
B(i,j)=1;
end
end
end
B
B=
0 1 1
-1 0 1
-1 -1 0
'
&
'
0
6
Operador while
&
.
6
<
&
>
?
+
&
>
'
5. Utilizao do DEBUGGER
6. ExcelLink
Para facilitar o trabalho de fluxo de dados entre o
MATLAB e programas do MS-Office, foi criado o
ExcelLink, uma macro desenvolvida para o MS-Excel
que permite o envio e recebimento de dados do
MATLAB.
Executando o arquivo excllink.xla* o MS-Excel
executado, surgindo um conjunto de botes aparece na
barra de ferramentas.
O MATLAB deve ser executado a partir do Excel para
ativar o link.
Pode-se enviar dados para o MATLAB selecionando
uma ou vrias clulas e usando o boto putmatrix,
ento aparecer uma janela pedindo o nome da varivel
a ser armazenada com estes dados.
Para receber dados deve-se utilizar o boto getmatrix e
informar a varivel onde esto armazenados os dados
que quer-se buscar.
possvel ainda utilizar funes do MATLAB no
Excel. Para tanto, usa-se o boto evalstring. As
variveis de sada devem ser armazenadas no
workspace do MATLAB, ento deve-se atribuir um
nome varivel para depois import-la para o Excel.
CELL ARRAYS
z = { A B C ... }
onde A, B,C,etc., podem ser matrizes, outras listas, uma
estrutura ou um string, por exemplo.
a=1:3; b=[5 6;7 8]; c={a b}; d.a=a; d.b=b; z={a b c d};
a
a=
1 2 3
b
b=
5 6
7 8
c
c=
[1x3 double] [2x2 double]
d
d=
a: [1 2 3]
b: [2x2 double]
z
z=
[1x3 double] [2x2 double] {1x2 cell} [1x1 struct]
MULTIDIMENSIONAL ARRAYS
Matrizes multidimensionais so uma extenso do
conceito de matrizes bidimensionais, que so acessadas
utilizando apenas dois ndices (linha, coluna); para o
caso de uma matriz tridimensional, o nmero de
ndices necessrios para localizar um elemento
especfico na matriz passa a ser igual a trs. Desta
forma, para uma matriz com dimenso igual a n, um
elemento especfico estar definido por n ndices. A
figura a seguir apresenta uma forma visual de
interpretar matrizes multidimensionais.
rand(2,2,3)
ans(:,:,1) =
0.5466 0.6946
0.4449 0.6213
ans(:,:,2) =
0.7948 0.5226
0.9568 0.8801
ans(:,:,3) =
0.1730 0.2714
0.9797 0.2523
z{3}{2}(1,2)
ans =
6
STRUCTURES
As estruturas so uma classe de matrizes do MATLAB
que permitem armazenar dados de naturezas diferentes
em um mesmo lugar. As estruturas diferem das Listas
por possurem nomes que identificam seus campos.
Uma forma de criar uma estrutura a seguinte:
dados.nome='fulano';
dados.idade=25;
dados.fones={[316 33 33] [316 44 44]};
dados
dados =
nome: 'fulano'
idade: 25
fones: {[316 33 33] [316 44 44]}
Ou ainda,
b(1,1).a=[35 36];
b(1,2).a=[37 38];
b(2,1).a=[39 40];
b(2,2).a=[41 42];
b
b=
2x2 struct array with fields:
a
b(1:2,1).a
ans =
35 36
ans =
39 40
12
Aula 4 Simulink
"
O subsistema
"
U
!
"
"
"
"
i
j
"
"
"
"
"
simulao, clique em
janela do SIMULINK.
"
"
na barra de ferramentas da
"
"
"
13
2. Mscaras
O uso de mscaras permite a criao de caixas de dilogo e
cones especficos para subsistemas. Algumas vantagens
do uso de mscara so listados a seguir.
Simplificao na utilizao do modelo pela simplificao na entrada de parmetro, uma vez que em um
subsistema mascarado o usurio pode inserir todos os
parmetros de um conjunto de blocos em uma nica
caixa de dilogo.
Permite a construo de uma interface prpria para com
o usurio, definindo-se a descrio, texto de ajuda e
cone do bloco.
Previne a modificao acidental de subsistemas, uma
vez que estes ficam protegidos atrs de uma interface.
3. S-functions
As chamadas S-functions (System Functions) so
descries de sistemas dinmicos, escritas em uma
linguagem de programao prpria (ou em C e compiladas
como MEX-files), que interage com os solvers do
SIMULINK. Seu uso mais comum est vinculado ao
seguintes pontos:
=
t
x = g( t, x, u )
x = x
dt = u dt
if flag == 0,
x0 = 0;
sys = [1 0 1 1 0 0]';
Integrao
Passo de simulao
Calcula sadas
Calculata derivadas
=u
y = x = x
Recalcula sadas
elseif abs(flag) == 1,
sys = u;
elseif flag == 3,
sys = x;
else
sys = [];
Terminao, executa
qualquertarefa exigida
Inicializao
mdlInitializeSizes
flag = 4
mdlOutputs
flag = 3
mdlUpdate
flag = 2
mdlDerivatives
flag = 1
Trmino da simulao
mdlTerminate
flag = 9
% y = x
% No utilizar
% demais flags
flag = 0
% dx/dt = u
end
% Condies iniciais
% Definio do
% tamanho dos vetores
if ~exist('par')
par = [1 1 .2 100]; % Valores default
end
K = par(1);
ro = par(2);
A = par(3);
h0 = par(4);
switch flag
case 0
x0 = h0;
% Condies iniciais
sys = [1 0 2 1 0 0]'; % Tamanho dos vetores
case 1
sys = (u-K*sqrt(x))/(ro*A); % EDO do sist.
case 3
sys(1) = x;
% h (nvel do tanque)
sys(2) = K*sqrt(x); % Fo (vazo de sada)
case {1, 2, 4, 9}
sys = [];
% No utilizar flags
end
V
h
Ab
FO
Com o modelo construdo pode-se simular o comportamento de um ou mais tanques com diferentes dimenses,
condies iniciais e disposio (em srie ou em paralelo).
Pode-se ainda criar uma mscara para o bloco, construindo
um cone prprio e uma caixa de dilogo para a entrada
dos parmetros.
dV
dt
4. Tabelas de auxlio
h ( t , FI )
h (t 0 ) = h 0
Agora podemos implementar este modelo como
S-function. Um modo de implementao apresentado
a seguir:
Clock
Constant
18
Digital Clock
Digital Pulse
Generator
From File
FromWorkspa
ce
Pulse
Generator
Ramp
Random
Number
Repeating
Sequence
Signal
Generator
Sine Wave
Step
Uniform
Random
Number
Abs
Algebraic
Constraint
Combinatorial
Logic
Complex to
MagnitudeAngle
Complex to
Real-Imag
Derivative
Dot Product
Gain
Logical
Operator
MagnitudeAngle to
Complex
Math
Function
Matrix Gain
MinMax
Product
Real-Imag to
Complex
Relational
Operator
Rounding
Function
Sign
Slider Gain
Sum
Trigonometric
Function
19
Subsystem
Data Store
Memory
Data Store
Read
Data Store
Write
Data Type
Conversion
Demux
Enable
From
Goto
Goto Tag
Visibility
Ground
Hit Crossing
IC
Inport
Merge
Model Info
Mux
Outport
Probe
Subsystem
Terminator
Trigger
Width
specified library.
Define a shared data store.
Read data from a shared data store.
Write data to ashareddatastore.
Convert a signal to another data type.
Separate a vector signal into output
signals.
Add an enabling port to a subsystem.
Accept input from a Goto block.
Pass block input to From blocks.
Define the scope of a Goto block tag.
Ground an unconnected input port.
Detect crossing point.
Set the initial value of a signal.
Create an input port for a subsystem or
an external input.
Combine several input lines into a
scalar line.
Display revision control information in
a model.
Combine several input lines into a
vector line.
Create an output port for a subsystem
or na external output.
Output an input signals width, sample
time, and/or signal type.
Represent a system within another
system.
Terminate an unconnected output port.
Add a trigger port to a subsystem.
Output the width of the input vector.
20
1. Toolboxes
Symbolic Math
solve
dsolve
diff('sin(a)','a')
ans =
cos(a)
int
Calcula a integral de uma funo. Esta funo pode
fazer diferentes tipos de clculos de acordo com os
argumentos de entrada:
dsolve('Dx = - a * x')
ans =
C1*exp(- a * t)
21
laplace
Calcula a transformada de Laplace de uma funo em
relao a varivel t (padro). Se a funo for dada em
termos de s, ento laplace retorna a sua inversa em t.
As variveis utilizadas nesta funo devem ser objetos
simblicos, portanto sempre devem ser declaras antes
atravs do comando syms.
f=inline('x^2-6*x+5');
fzero(f,[0 2])
Zero found in the interval: [0, 2].
ans =
1
fzero(f,7)
Zero found in the interval: [4.76, 8.5839].
ans =
5
syms a s t w x
laplace(t^5)
ans =
120/s^6
laplace(exp(a * s))
ans =
1/(t - a)
laplace(sin(w * x),t)
ans =
w/(t^2+w^2)
laplace(diff(sym('F(t)')))
ans =
s * laplace(F(t), t, s)-F(0)
fsolve
Resolve equaes no lineares do tipo: F(X) = 0,
utilizando o mtodo dos mnimos quadrados, onde F e X
podem ser vetores ou matrizes. A funo F deve ser
implementada na forma de um M-file. A sintaxe deste
comando a seguinte:
Optimization Toolbox
Neste toolbox encontram-se funes para clculos de
otimizao, ou seja, problemas minimizao com ou
sem restries, minimizao de funes multiobjetivos, mtodo dos mnimos quadrados linear e no
linear, clculo de zeros, etc. Todos estes algoritmos
possuem opes especficas inerentes aos mtodos
utilizados, a tolerncia permitida, dentre outras. Para
definir quais sero estas opes, o MATLAB utiliza
uma estrutura que guarda todas as informaes
necessrias que sero utilizadas por uma funo
especfica. Esta estrutura pode ser definida utilizando o
comando optimset, que apresentado em seguida.
f =inline('(x-2)^3+5*(x-2)^2+13');
x = fminbnd(f,0,6)
Optimization terminated successfully:
the current x satisfies the termination criteria using
OPTIONS.TolX of 1.000000e-004
x=
2.0000
optimset
Cria uma estrutura com as opes que sero utilizadas
pelas funes do Optimization Toolbox. A sua sintaxe
a seguinte:
options = optimset(par1,valor1,par2,valor2,...)
lsqnonlin
optimset ( fzero );
22
s+1
s2 +s+1
Entrada(Step)
u(t)
sada
y(t)
tf
Gera um objeto do modelo LTI que possui como uma das
suas informaes a funo de transferncia, tendo como
argumentos os coeficientes do numerador e o
denominador. Um objeto LTI uma das formas de
representao para modelos lineares invariantes no tempo,
que pode ser manipulado pelas diversas ferramentas
disponveis no control toolbox. A sintaxe geral a
seguinte:
G = tf(NUM,DEN);
step
Esta funo aplica um sinal degrau na entrada do sistema,
que representado por uma funo de transferncia, por
exemplo, e ento avalia a sada apresentando o resultado
graficamente.
K ( o S + 1)
2
1 2 S + 1 + (1 + 2 )S + 1
Funo de Transferncia
G(s)
step(G);
ou
step(num,den);
23
Step Response
pade
From: U(1)
1.4
1.2
To: Y(1)
Amplitude
0.8
0.6
0.4
0.2
0
0
10
12
Time (sec.)
zpkdata
Este comando pega de um objeto LTI e retorna os
valores dos zeros, plos e ganho do sistema, que so
informaes teis na anlise de estabilidade do modelo
e posterior construo do controlador.
pade(4,8);
q
Amplitude
[z,p,k] = zpkdata(G)
z=
[-1]
p=
[2x1 double]
k=
1
4
5
Time (secs)
Phase response
0
Phase (deg.)
-500
-1000
-1500
-2000
-1
10
p{1}
ans =
-0.5000 + 0.8660i
-0.5000 - 0.8660i
p
0.5
-0.5
10
Frequency (rad/s)
10
bode
Apresenta o diagrama de Bode. Tem como argumento o
objeto criado do modelo LTI. Neste grfico possvel se
obter muitas informaes sobre o sistema referentes a sua
estabilidade.
pole
Retorna os valores dos plos do sistema. Toma como
argumento um objeto LTI. Este comando eqivale a
calcular os autovalores da matriz A na representao
no espao de estado utilizando o comando eig.
bode(G)
r
Bode Diagrams
From: U(1)
5
0
-10
-15
-20
0
-20
To: Y(1)
-5
pole(G)
ans =
-0.5000 + 0.8660i
-0.5000 - 0.8660i
p
-40
-60
-80
-100
10-1
100
zero
101
Frequency (rad/sec)
nyquist
[Z,K] = zero(G)
Z=
-1
K=
1
nyquist(G);
pzmap
Nyquist Diagrams
From: U(1)
1.5
To: Y(1)
Imaginary Axis
0.5
-0.5
-1
-1.5
-1
-0.5
0.5
1.5
Real Axis
q
pzmap(G);
margin
Pole-zero map
1
0.8
0.6
Imag Axis
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-1
-0.8
-0.6
-0.4
-0.2
0.2
0.4
0.6
0.8
Real Axis
24
Conceitos Bsicos
O Handle Graphics uma estrutura orientada para objeto
que permite a criao e manipulao de grficos e
imagens. Os Object Handles podem ser considerados
como indicadores nicos atribudos pelo MATLAB para
cada objeto, permitindo desta maneira referenciar estes
objetos para manipul-los. Existem 3 formas de se obter
um handle:
Bode Diagrams
Gm = Inf, Pm=109.47 deg. (at 1.4142 rad/sec)
5
0
-5
-10
-15
-20
0
-50
-100
-150
-200
10-1
100
a)
101
Frequency (rad/sec)
na criao do objeto
rlocus
c)
utilizando o findobj
p = plot([1:10],sin(2*[1:10]));
rlocus(G);
1
0.8
0.6
0.4
Imag Axis
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-3
-2.5
-2
-1.5
-1
Real Axis
-0.5
0.5
b.1) gcf
b.2) gca
ltiview
b.3) gco
b.4) gcbf
b.5) gcbo
ltiview('step',G);
Step Response
From: U(1)
1.4
1.2
To: Y(1)
Amplitude
0.8
0.6
0.4
0.2
0
0
var_handle = findobj(ponto_incio,propriedade,valor)
Time (sec.)
exemplo:
plot([1:10]);
h = findobj(gca, 'Color',[0 0 1]);
set (h, Color, [1 0 0]);
2. GUIDE
Esta uma mais uma das ferramentas poderosas do
MATLAB, que permite a construo de uma interface
amigvel para o usurio e o que melhor, de uma
25
f)
Exemplo 1:
a)
guide
Exemplo 2:
e)
c)
26
CommandString = get(gcbo,'String');
EditHandle = findobj(gcbf,'Tag','EditText1');
ZString = get(EditHandle,'String');
eval(ZString);
eval(CommandString);
A primeira linha pega a o que est na propriedade
String do objeto corrente, enquanto que a Segunda
linha armazena o handle do objeto que possui o Tag
EditText1. A terceira linha pega o que est no campo
String do objeto identificado na linha anterior e
armazena em ZString, que executado na linha
seguinte e por fim, executa o comando que foi pego na
primeira linha.
f=findobj(gcf,'style','edit','Tag','func');
xl=findobj(gcf,'style','edit','Tag','xlim');
xl =eval(get(xl,'String'));
f = get(f,'String');
fplot(f,xl);
d) A primeira linha de comando ir pegar o handle na
caixa de texto editvel que possui o Tag func,
enquanto que a segunda ir atribuir a xl o handle
da caixa de texto editvel que possui o Tag xlim.
Na linha seguinte, o valor que foi digitado nesta
caixa, e que est armazenado na propriedade
String pego pelo comando get e em seguida
convertido em um valor e armazenado em xl. A
Quarta linha pega o valor da propriedade String da
caixa de textos da funo, que neste momento
possui o identificador (handle) f, e armazena este
valor na prpria varivel f. A ltima linha utiliza o
comando fplot que faz um grfico de uma funo
apenas tomando como argumento uma string da
funo e um vetor com os limites da varivel
independente.
e)
c)
e)
Exemplo 3:
Criar uma interface grfica que permita o usurio
entrar uma funo pr construda de trs variveis e
esta seja apresentada de uma das diversas formas
existente no MATLAB para grficos 3D, e ainda com a
opo de alterar suas cores.
a)
Hgrid=findobj(gcbf,'Tag','gridflag');
if get(Hgrid,'Value')
grid on;
else
grid off;
end
f)
Lista de Exerccios
Montar uma funo ( m-file)
1. AULA 1
Arquivo: a2_e2
Em um laboratrio de pesquisas so preparadas
periodicamente solues de sulfato de alumnio para
pesquisas sobre o tratamento de gua potvel. Os pedidos
de soluo so realizados ao laboratrio de preparo de
reagentes em concentraes sempre variveis.
Tarefas:
a) Desenvolver um programa para automatizar os
clculos necessrios para o preparo das solues. O
programa deve receber a quantidade de soluo
necessria (ml) e a concentrao desejada (molaridade),
gerando a quantidade de sal que deve ser utilizada (g). As
solues so preparadas a partir de gua destilada e
sulfato
de
alumnio
hexadecahidratado
(Al2(SO4)3.16H2O).
S=32.06 O=16
Massas molares: Al=26,98
H=1
Comandos no Workspace
Arquivo: a1_ew
1. Criar uma matriz A 20x2 com os elementos da
primeira coluna variando de 1 a 20, com um
intervalo unitrio, e dados aleatrios para os
elementos da segunda coluna.
2. Atribuir ao vetor X os valores da primeira coluna da
matriz A at a linha 15. Fazer o mesmo para a
Segunda coluna, armazenando os dados no vetor Y.
3. Fazer um grfico com os vetores (X,Y). Colocar um
ttulo e nomear os eixos.
4. Sobre o mesmo grfico anterior, apresentar uma
parbola (x2 - 15x + 60) com linha tracejada
vermelha.
2. AULA 2
Montar um script-file
Arquivo: a2_e1
O dixido de titnio (TiO2) um pigmento branco muito
utilizado na indstria de tintas.
Em uma planta h dois tanques contendo dixido de
titnio misturado com resina. Estes tanques possuem
diferentes concentraes de pigmento:
Identificao do tanque
TQ-101 TQ-102
Concentrao ( % peso/peso) 15
5
Uma certa quantidade das misturas contidas em cada um
destes tanques, ser adicionada em um terceiro tanque
(TQ-103) para a produo de tintas:
Tarefas:
a) Para auxiliar o departamento de produo deve ser
preparado um grfico que relacione a concentrao de
pigmento (% p/p) no tanque TQ-103 com a razo entre a
quantidade de massa adicionada proveniente do tanque
TQ-101 e a quantidade de massa adicionada proveniente
do tanque TQ-102. Traar o grfico entre as razes 0 e
10.
b) Estimar atravs do grfico, a razo entre as massas
adicionadas para a produo de
uma tinta com
concentrao de pigmento branco de 12 % p/p.
f (x 0 ) = 0
(1)
O Mtodo da Bisseco se inicia com a determinao de
um intervalo [a,b] onde a raiz desejada esteja situada.
Para que o mtodo funcione adequadamente, deve existir
apenas uma raiz no intervalo [a,b] e a funo f(x) deve
ser contnua no intervalo.
Sejam xi e xs respectivamente o limite inferior e superior
do intervalo de busca inicial. Ento:
28
xi
xm
Observao:
claro que se durante o algoritmo f(xm) = 0, o
procedimento imediatamente interrompido pois a raiz
o prprio valor de xm.
Tarefas:
a) Descrever o algoritmo do Mtodo da Bisseco passo
a passo, montando o fluxograma.
b) Criar uma rotina computacional para a aplicao do
mtodo.
c) Um trocador de calor um equipamento destinado a
permitir a transferncia de calor entre dois fluidos. Em
um determinado modelo de trocador de calor, gua deve
ser aquecida utilizando-se para isto uma corrente de leo.
A equao abaixo relaciona a carga trmica (taxa de
transferncia de calor entre os fluidos) com as
temperaturas de entrada e sada do leo e da gua no
equipamento:
( Toleo1 Tagua1 ) ( Toleo2 Tagua2 )
=0
Q UA
Toleo1 Tagua1
ln(
)
Toleo2 Tagua2
onde,
Q - Carga trmica do trocador, 160.103 W
U - Coeficiente global de transferncia de calor,
320 W/m2K
A - rea do trocador de calor, 16 m2
Toleo1 - Temperatura de entrada do leo no trocador,
110 C
Toleo2 - Temperatura de sada do leo no trocador, 80 C
Tagua1 - Temperatura de entrada da gua no trocador,
35 C
Tagua2 - Temperatura de sada da gua no trocador
c.1) Fazer o grfico do valor numrico da equao em
relao a temperatura de sada da gua (Tagua2). O
grfico deve conter o ttulo e as identificaes dos eixos.
Verifique atravs do grfico, se o Mtodo da Bisseco
pode ser aplicado para a resoluo da equao.
c.2) Determinar a temperatura de sada da gua do
equipamento (Tagua2), utilizando como regio de busca
inicial o intervalo 35,1 C at 79,9 C e tolerncia de
0,1 C.
xs
3. AULA 3
Agenda de endereos usando estruturas
Arquivo: a3_e1
Montar uma lista de endereos simples armazenando os
dados em uma estrutura. Este programa deve permitir a
localizao de telefones apenas dando o nome da pessoa.
29
4. AULA 4
Exemplo de S-function, mscaras e resoluo
de sist. De equaes dif. no simulink
Arquivo: a4_e1.mdl, prexpre (s-function)
Devido ao fato de grande parte dos biorreatores operarem
em regime de batelada ou de semi-batelada sua operao
inerentemente transiente, isto todas suas variveis
[concentraes de clulas, de produtos(s) e de
substrato(s); a temperatura (caso o biorreator for no
isotrmico) mudam com o tempo. Os mtodos de anlise
dinmica de processos, geralmente utilizados em controle
de processos, sero de extrema utilidade nestas
apresentaes, em especial sero apresentados conceitos
iniciais de dinmica no linear que justificam vrios
fenmenos inerentes a este tipo de processo. Como
ilustrao de modelos dinmicos, o exemplo clssico o
modelo dinmico da presa-predador.
O modelo de Lotka-Volterra, desenvolvido no final da
dcada de 1920!] que constitudo por um sistema de
duas equaes diferenciais ordinrias fundamentadas em:
5. AULA 5
Utilizando o GUIDE
Arquivo: a5_e1
Tarefa:
Montar um programa que determine os coeficientes de
um polinmio de grau n para um conjunto de dados
experimentais. Este programa deve ter uma interface
grfica amigvel.
30
Bibliografia recomendada
Manuais do MATLAB (podem ser encontrados na rede
interna do DEQUI, no diretrio:
p:\winapps\matlab2\hel\pdfdocs)
http://www.mathworks.com/
http://www.rpi.edu/~bequeb/Process_Dynamics/MATLA
B/MATLAB_index.html
http://www.owlnet.rice.edu/~ceng303/Matlab/MatCont.h
tml
http://www.indiana.edu/~statmath/smdoc/Matlab.html
http://www.math.utah.edu/lab/ms/matlab/matlab.html
http://www.math.ttu.edu/~gilliam/m5399-matlab.html
http://www.geodyn.psu.edu/GEOSC203/tutorial.html
http://www.math.ufl.edu/help/matlab-tutorial/
http://www.owlnet.rice.edu/~ceng301/toc.html
31