Professional Documents
Culture Documents
Objetivo
O objetivo dessa aula apresentar comandos que alteram o comportamento sequencial padro do MATLAB e permitem a execuo de operaes condicionais e
iterativas. Alm disso, so apresentados os comandos bsicos relacionados criao
de grficos.
Para a realizao de comparaes nas operaes condicionais e iterativas, o MATLAB conta com seis operadores relacionais, conforme visto na Tabela 1.
Tabela 1: Operadores relacionais.
Operador relacional Significado
<
Menor que.
<=
Menor que ou igual a.
>
Maior que.
>=
Maior que ou igual a.
==
Igual a.
~=
Diferente de.
>> x ~= y
ans =
1
>> x > 0
ans =
1
Operaes Condicionais
3.1
If
if expressao logica
comandos
end
Exemplo: calcular a raiz de x se x 0.
if x >= 0
y = sqrt(x)
end
A expresso lgica pode ser composta e os comandos podem ser um grupo de
comandos. Por exemplo, no cdigo a seguir os valores de z e w so atualizados
somente se x e y no so negativos; caso contrrio, eles mantm o valor inicial nulo:
z = 0;w = 0;
if (x >= 0)&(y >= 0)
z = sqrt(x) + sqrt(y)
w = sqrt(x*y)
end
2
Aula 3: Introduo ao MATLAB Parte III
if expressao logica 1
comandos 1
if expressao logica 2
comandos 2
end
end
3.2
Else
Exemplo: y =
if x >= 0
y = sqrt(x)
else
y = exp(x) - 1
end
Quando um vetor ou matriz utilizado na expresso lgica, o teste retorna TRUE
apenas se a avaliao verdadeira para todos os elementos do vetor ou matriz.
3.3
Elseif
if x >
y =
elseif
y =
else
y =
end
10
log(x)
x >= 0
sqrt(x)
exp(x) - 1
Operaes Iterativas
O MATLAB usa dois tipos de loops: for, quando o nmero de iteraes conhecido priori e while, quando o processo de looping deve ser encerrado ao se cumprir
uma condio especfica, logo o nmero de iteraes no conhecido priori.
3
Aula 3: Introduo ao MATLAB Parte III
4.1
For
total = 0;
for k = 1:15
total = 5*k^2 - 2*k + total;
end
disp (`A soma dos 15 termos :`)
disp (total)
Observaes:
O valor do passo s pode ser negativo. Por exemplo, k = 10 : 2 : 4 avaliado
com k = 10, 8, 6, 4.
Se s omitido, o valor do passo padro igual a 1.
Se s positivo, o loop no executado quando m maior do que n.
Se s negativo, o loop no executado quando m menor do que n.
4.2
While
quantia = 500;
k=0;
while quantia < 10000
k = k+1;
quantia = quantia*1.05 + 500;
end
quantia
k
Grficos
x = 0:0.01:7;
y = 5*sin(2*x);
plot(x,y)
x = 0:0.01:5;
y = 2*sqrt(x);
z = 4*sin(3*x);
plot(x,y,x,z)
A Tabela 2 apresenta algumas das funes bsicas associadas gerao de grficos.
Tabela 2: Funes trigonomtricas.
Comando
Descrio
[x, y] = ginput(n)
Obtm n coordenadas x e y de um grfico.
grid
Adiciona linhas de grade a um grfico.
title(`Texto`)
Exibe o ttulo na parte superior do grfico.
xlabel(`Texto`)
Adiciona texto no eixo horizontal.
ylabel(`Texto`)
Adiciona texto no eixo vertical.
axis[xmin xmax ymin ymax]
Define os valores mnimos e mximos dos eixos.
legend(`dado 1`,`dado 2`, ...) Exibe a legenda.
O comando subplot(m,n,p) divide uma janela de figura em m linhas e n colunas,
permitindo a criao de subgrficos. A varivel p especifica a posio do grfico a ser
gerado pelo prximo comando plot. Exemplo:
5
Aula 3: Introduo ao MATLAB Parte III
x = 0:0.01:5;
y = exp(-1.2*x).*sin(10*x+5);
subplot(1,2,1)
plot(x,y),xlabel(`x`),ylabel(`y`),axis([0 5 -1 1])
x = -6:0.01:6;
y = abs(x.^3-100);
subplot(1,2,2)
plot(x,y),xlabel(`x`),ylabel(`y`),axis([-6 6 0 350])
Algumas observaes adicionais:
O comando hold pode ser utilizado para especificar que os resultados dos prximos comandos plot devem ser exibidos na mesma figura. O comando deve ser
digitado novamente para que esse comportamento seja cancelado.
O comando figure pode ser utilizado para que o prximo grfico seja gerado em
uma janela diferente.
Digite o comando help plot para ler sobre opes adicionais sobre o comando,
em especial sobre os tipos de linha e marcadores disponveis.
Alm do comando plot, existem comandos para obteno de grficos logartmicos (loglog,semilogx,semilogy) e com sinais discretos (stem,stairs), entre
outros.
Exerccios Propostos
Exerccio 1 Crie uma funo chamada lab3 que gera uma matriz especial n n, em
que n o argumento da funo, na qual os elementos da primeira linha e da primeira
coluna so iguais a 1 e os elementos restantes so a soma do elemento acima e do
elemento esquerda, caso a soma seja menor que 20; caso contrrio, esse elemento
deve ser o valor mximo entre os dois elementos citados anteriormente. Por exemplo,
ao digitar-se lab3(5), deve-se obter
A=
1
1
1
1
1
1 1 1 1
2 3 4 5
3 6 10 15
.
4 10 10 15
5 15 15 15
7
Aula 3: Introduo ao MATLAB Parte III