Documente Academic
Documente Profesional
Documente Cultură
O objetivo deste apndice apresentar uma srie de comandos bsicos para famili-
arizao com os ambientes MATLAB R
e Octave1 de programao. Cumpre ressaltar que
este apndice no detalhar os resultados obtidos, cabendo ao leitor a interpretao dos
diversos comandos apresentados e tambm se aprofundar consultando o menu de ajuda do
programa.
A Figura 1 ilustra a tela inicial do MATLABR
, enquanto a mesma tela referente
ao ambiente Octave apresentada na Figura 2. Nesta tela, trs ambientes esto visveis:
No canto superior esquerdo, existe o comando New script. Este comando abrir uma
outra aba para que um script (isto , um conjunto de comandos seja programado e, ento,
1
O Octave um software gratuito e que pode ser obtido neste link.
Captulo 1. Comandos bsicos em ambientes MATLAB
R
e Octave 2
executado de uma nica vez). Na maior parte das vezes, interessante a programao de
um script para executar as tarefas desejadas como, por exemplo, a integrao numrica
de uma equao diferencial ordinria. Uma vez o script finalizado, o usurio deve salvar
o arquivo, produzindo uma m-file (arquivo com extenso .m) e execut-lo. Isto pode ser
feito atravs do cone destacado na Figura 3.
Tenha o hbito de comentar seu cdigo. Isto pode ser feito colocando um % e
escrevendo seu comentrio logo em seguida.
O MATLAB R
, assim como o Octave, conta com dois formatos de ajuda ao usurio.
Para uso do primeiro formato, o usurio deve digitar help < N omedaF uncao > na janela
de comando. Por exemplo, digitando help plot, o programa oferece uma descrio da funo
plot, alm de alguns exemplos de uso. O segundo tipo de ajuda, mais completo, pode ser
acessado por meio da barra de tarefas, localizada na poro superior da tela.
A Tabela 1 apresenta alguns comandos elementares de manipulao de variveis,
ilustrado operaes triviais. J a Tabela 2 tambm apresenta comandos elementares, porm
focados na manipulao de vetores e matrizes. Note que o MATLAB e o Octave consideram
a primeira posio em vetores como o ndice 1 e no 0.
O usurio tambm poder usar comandos como while, if/else e for, j bastante
conhecidos de outras linguagens de programao. No entanto estes comandos sempre
devem ser finalizados com um end.
Captulo 1. Comandos bsicos em ambientes MATLAB
R
e Octave 4
sin( x2 + y 2 )
f (x, y) = 2 ; 8 < x < 8, 8 < y < 8. (1.1)
x + y2
A Tabela 8 apresenta uma srie de comandos necessrios para a visualizao desta
funo, bem como outras formas representativas que podem ser de interesse do leitor.
Uma outra forma de exibir funes de duas variveis consiste em usar um grfico
de cores. Suponha que desejemos representar a funo dada pela Equao 1.1 por meio de
um grfico de cores.
O comando pcolor ideal para representar os valores de uma matriz por meio
de cores. Note que sua sintaxe tem como dois primeiros parmetros os vetores e um
terceiro que a matriz a ser representada. Neste exemplo, os elementos das matrizes esto
relacionados a elementos de dois vetores.
Este ltimo exemplo introduz uma srie de novos conceitos quando comparados
com os comandos at aqui apresentados. Em primeiro lugar, nota-se o uso do comando
for, bastante comum em programao. Cada comando for deve ser encerrado por um
comando end. As variveis contadoras contx e conty variam da primeira posio dos
Captulo 1. Comandos bsicos em ambientes MATLAB
R
e Octave 7
Tabela 8 Sequncia de comandos para superfcies dadas por funes de duas variveis.
Comando Resultado
range = linspace(8, 8, 41);
[X, Y ] = meshgrid(range, range)
Z = sin(sqrt(X. 2 + Y. 2))./sqrt(X. 2 + Y. 2);
surf (X, Y, Z);
surf ace(X, Y, Z);
waterf all(X, Y, Z);
contour(X, Y, Z);
Tabela 9 Sequncia de comandos para produzir grficos de cores para funes de duas
variveis.
Comando Resultado
vetorx = linspace(8, 8, 41);
vetory = linspace(8, 8, 41);
f orcontx = 1 : length(vetorx);
f orconty = 1 : length(vetory);
xcalc = vetorx(contx);
ycalc = vetory(conty);
M atriz(contx, conty) = sin(sqrt(xcalc2 + ycalc2 ))/sqrt(xcalc2 + ycalc2 );
end
end
pcolor(vetorx, vetory, M atriz);
h = pcolor(vetorx, vetory, M atriz);
set(h, edgecolor , none );
colorbar;
F0
u + 2 u + 2 u = cos(t), u(0) = 0.1, u(0) = 0 (1.2)
m
Aqui, ser descrito o uso da funo ode45 do MATLAB R
, que utiliza o Mtodo
de Runge-Kutta para integrao numrica. Em ambiente Octave, a mesma sequncia
de comandos deve ser aplicada, porm substituindo o comando ode45 para lsode. Alm
disso, a sintaxe da funo lsode exige que a varivel de integrao (no caso, o tempo) seja
declarada aps a varivel que representa a incgnita.
Em ambos os ambientes de programao, necessrio transformar a Equao 1.1
(equao de segunda ordem) em um sistema de equaes de primeira ordem. Isto feito por
meio da seguinte mudana de variveis x1 = u e x2 = u. Esta mudana permite escrever a
Equao 1.2 na seguinte forma:
Captulo 1. Comandos bsicos em ambientes MATLAB
R
e Octave 10
x1 = u = x2 (1.3)
F0
x2 = u = 2 u 2 u = 2x2 2 x1 + cos(t) (1.4)
m
x = Ax + b (1.5)
x = {x1 x 2 }t (1.6)
S T
0 1 V
A=U 2
(1.7)
2
S T
0
b=U V (1.8)
F0
m
cos(t)
e [tsim, xsim] = lsode(f, x0, t); ao invs de algumas das linhas mostradas na referida
Tabela. J a funo2 ser dada pela sequncia apresentada na Tabela 11
2
A segunda e a terceira linha da funo podem ser substitudas pela sequncia de comandos xp(1, 1) =
x(2); xp(2, 1) = 2 zeta w x(2) w2 x(1) + F 0/m cos(wbarra t). Estas expresses correspondem
exatamente equao diferencial de primeira ordem definida na forma matricial.
12
2.1 Exerccio 1
Construa um script que iniciado limpando a janela de comandos, apagando todas
as variveis e fechando todas as figuras.
O seu script deve gerar sries temporais para a funo u(t) = Aen t cos(d t + ),
para 0 < t < 50 para os seguintes conjuntos de parmetros:
Srie 1: A = 1, = 90 , n = 2, = 0,05 e d = n 1 2
Srie 2: A = 1, = 90 , n = 2, = 0,15 e d = n 1 2
2.2 Exerccio 2
Construa cinco sries temporais anlogas do exerccio anterior, porm considerando
trs sries adicionais:
Srie 3: A = 1, = 90 , n = 2, = 0,25 e d = n 1 2
Srie 4: A = 1, = 90 , n = 2, = 0,35 e d = n 1 2
Srie 5: A = 1, = 90 , n = 2, = 0,75 e d = n 1 2
Exiba as cinco sries em um mesmo grfico. No se esquea de dar rtulos aos eixos
e tambm de identificar as legendas corretamente.
2.3 Exerccio 3
Considere a equao:
1
D= (2.1)
(1 2 )2 + (2)2
2.4 Exerccio 4
Considere a funo dada por f (x, y) = ax2 + by 2 . Considerando a = 1 e b = 2,
construa uma rotina que construa o grfico de f (x, y) no domnio 1 < x < 11 < y < 1.
2.5 Exerccio 5
Considere a Equao de van der Pol dada por q + (q 2 1)q + q = 0, sendo
= 0,01. Construa um simulador para a obteno numrica da soluo q(t) para um
determinado par de condies iniciais q(0) e q(0). Obtenha, em um mesmo grfico, as sries
temporais q(t) para as seguintes condies iniciais: q(0) = q(0) = 0; q(0) = 0.1, q(0) = 0 e
q(0) = 5, q(0) = 0.
2.6 Exerccio 6
Considere a Equao de Mathieu dada por u + (1 + sin(nt))u = 0. Considerando
como condies iniciais u(0) = 0.1 e u(0) = 0 e tambm = 0.2, obtenha as sries
temporais para n = 1 e n = 2.
2.7 Exerccio 7
Considere uma viga bi-apoiada, submetido ao carregamento uniforme q = 10kN/m.
Esta viga possui seo transversal retangular de dimenses b = 10cm e h = 30cm e
comprimento L = 3m. O momento fletor dado por: M (x) = (qx/2)(L x).
Mostre o diagrama de momentos fletores ao longo da viga, bem como a mxima
tenso normal de trao ao longo do comprimento. Dados Iy = bh3 /12 e (z) = M (x)z/Iy .
2.8 Exerccio 8
A equao de uma estrutura modelada como um sistema de um grau de liberdade
dada por:
mu + cu + ku = F0 cos(t) (2.2)
Sabe-se que a frequncia natural do sistema = k/m e sua taxa de amorteci-
mento dada por = c/2m valem, respectivamente 2rad/s e 0,05. Sabe-se que nenhuma
fora externa atua nesta estrutura. Sabendo-se que em t = 0 o seu deslocamento u = 0.1m
e sua velocidade nula, obtenha a srie temporal de deslocamento u(t)
Captulo 2. Exerccios propostos - temas gerais 14
2.9 Exerccio 9
Com base no mesmo exemplo anteriormente estudado, simule o problema de
vibrao livre condio para os seguintes valores de : = 0; 0,01; 0,10; 1; 1,2. Mantenha
os demais parmetros como indicados no Exerccio 2.
2.10 Exerccio 10
Com base no mesmo exemplo anteriormente estudado, retome o problema forado
harmonicamente. Obtenha a srie temporal de deslocamento na condio de ressonncia
para dois valores de taxa de amortecimento: = 0 e = 0,05.
15
Referncias