Escolar Documentos
Profissional Documentos
Cultura Documentos
morales@ita.br
2012
Neste breve tutorial os comandos de Matlab serao apresentados dentro
de caixas para facilitar sua visualizacao.
comando do Matlab
Janelas do Matlab
Criando um escalar
x = 0.2
guarda o valor escalar 0, 2 na variavel x;
deve-se utilizar o ponto decimal no lugar da vrgula;
para que o matlab nao repita o valor da variavel na command window
acrescente um ponto-vrgula no final (exemplo: x = 0.2;);
o nome de uma variavel pode ser composto por varias letras e n
umeros,
iniciando sempre com uma letra (exemplo: variavelx1 = 0.2)
3.1
=
=
=
=
1;
2;
3;
[a,b,c];
ou entao:
a = 1;
b = [2,3];
x = [a,b];
2
3.2
colon operator
x = x1:step:xn
3.3
comando linspace
x = linspace(x1,xn,n)
6.1
o i-
esimo elemento de um vetor
ielem = x(i)
6.2
ou
ltimo o elemento do vetor
ultimoelem = x(end)
seleciona o u
ltimo elemento do vetor linha ou coluna x.
6.3
7.1
1 2 3
A= 4 5 6
7 8 9
4
7.2
comando ones
A = ones(m,n)
7.3
comando zeros
A = zeros(m,n)
7.4
comando diag
A = diag([1,2,3])
lendo as dimens
oes de uma matriz - comando size
[nl,nc] = size(A)
retorna os valores do n
umero de linhas e do n
umero de colunas;
neste exemplo esses valores sao colocados nas variaveis nl e nc respectivamente.
10
criando funco
es
10.1
11
structures
11.1
Exemplo: structure
paramAtm.H0 = 0;
paramAtm.T0 = 288.15;
paramAtm.g0 = 9.80665;
paramAtm.rho0 = 1.225;
paramAtm.L = -6.5*10^(-3);
paramAtm.R = 287.053;
Para utilizar o valor de R basta fazermos:
R = paramAtm.R
12
if - else
Estrutura do if - else:
if estrutura l
ogica
.
.
.
else
.
.
.
end
Na estrutura l
ogica podemos utilizar operadores relacionais e operadores logicos. Exemplos de operadores relacionais: igual (==), diferente ( =),
maior (>), maior ou igual (>=), menor (<), menor ou igual (<=). Exemplos
de operadores relacionais: e (&), ou (|).
12.1
Exemplo: fun
c
ao temperatura
function T = temperatura(H,paramAtm)
T0 = paramAtm.T0;
L = paramAtm.L;
H0 = paramAtm.H0;
if H <= 11000
T = T0 + L*(H-H0);
else
T = temperatura(11000,paramAtm);
end
12.2
Exemplo: fun
c
ao densidade
(H) =
13
for
Estrutura do for:
for k = kinicial:passo:kfinal
.
.
.
end
a variavel k inicial com o valor kinicial;
em cada iteracao o valor de k e aumentado de um passo;
as iteracoes sao terminam quando a variavel k atinge o valor kfinal.
13.1
Exerccio: plotar
14
10
O Teorema Fundamental do C
alculo estabelece uma importante conexao entre as equacoes diferenciais e as intregrais, dentro de algumas condicoes
(vide mat-12):
Z
tf
f (s, y (s))ds
y (tf ) = x (ti ) +
ti
14.1
ode45
y1 (ti )
y2 (ti )
Y = ..
.
yn (ti )
14.2
..
..
..
.
.
.
yn (t2 ) yn (t3 ) . . . yn (tf )
comando deval
14.3
resultado direto
y1 (ti ) y2 (ti ) . . .
y1 (t2 ) y2 (t2 ) . . .
Y = y1 (t3 ) y2 (t3 ) . . .
..
..
..
.
.
.
y1 (tf ) y2 (tf ) . . .
12
yn (ti )
yn (t2 )
yn (t3 )
..
.
yn (tf )
14.4
Exemplo: Atrator Ca
otico de Lorenz
15
15.1
plotagem
plot
figure
plot(T,Y(1,:))
xlabel(tempo),ylabel(y1)
figure
plot(T,Y(2,:))
xlabel(tempo),ylabel(y2)
figure
plot(T,Y(3,:))
xlabel(tempo),ylabel(y3)
Tambem podemos colocar varias trajetorias em um mesmo plot. No roteiro a seguir sao feitas duas simulacoes das equacoes de Lorenz, com a diferenca que o estado inicial da segunda simulacao possui um incremento de
1e 5 em y1 :
parametros.sigma = 10;
parametros.r = 28;
parametros.b = 8/3;
tf = 25;
yiA = [5;5;15];
yiB = yiA + [1e-5;0;0];
solA = ode45(@LorenzDinam,[0 tf],yiA,[],parametros);
solB = ode45(@LorenzDinam,[0 tf],yiB,[],parametros);
T = 0:0.01:tf;
YA = deval(solA,T);
YB = deval(solB,T);
figure
plot(T,YA(1,:),T,YB(1,:))
xlabel(tempo),ylabel(y1)
legend(simulacao A,simulacao B)
figure
plot(T,YA(2,:),T,YB(2,:))
xlabel(tempo),ylabel(y2)
legend(simulacao A,simulacao B)
figure
plot(T,YA(3,:),T,YB(3,:))
xlabel(tempo),ylabel(y3)
legend(simulacao A,simulacao B)
14
15.2
subplot
15.3
plot3
16
avi
ao modelo ponto-massa longitudinal
16
V
Vi
nV n
;
i
onde:
m e a deflexao da manete do motor (0 m 1);
Fmaxi , Vi e i sao valores de referecia do modelo propulsivo.
estados e controles:
V
m
,
u=
x=
H
xo
Para uma aeronave tipo Airbus 320, cruzando a 10000 metros de altitude
com velocidade aerodinamica de 210 m/s:
m = 120000;
CL0 = 0;
CD0 = 0.0175;
F = 1/180;
Fmaxi = 240000;
16.1
Sref = 260;
CL = 4.982;
K1 = 0;
K = 0.06;
nV = 0;
n = 0.75;
Vi = 100;
i = 1.225;
exercicio
17
fsolve
Intuitivamente, um ponto de equilbrio e uma condicao em que nao ha tendencia de alteracao do movimento ao longo do tempo. Colocar a aeronave
em um ponto inicial de equilbrio significa encontrar os valores dos estados
e controles tais que a aeronave continuaria voando sem as oscilacoes apresentadas na simulacao anterior. Para isso e necessario que as derivadas dos
estados V , e H sejam nulas. Assim, temos que encontrar a solucao para o
sistema de equacoes nao lineares:
17
0 = F cos( + F ) D mg sin
0 = F sin( + F ) + L mg cos
0 = V sin
Repare que a terceira equacao e satisfeita para V = 0 ou sin = 0. Como
nao se trata de um voo pairado ficamos com sin = 0, que implica em = 0.
Assim o nosso sistema e reduzindo para duas equacoes nao lineares:
0 = F cos( + F ) D mg sin
0 = F sin( + F ) + L mg cos
18
Trabalho
18.1
dicas
18.2
data de entrega
18