Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
COMANDOS, FUNES E
OPERAES BSICAS
INTRODUO
O software MATLAB (MATLAB marca registrada de The MathWorks, Inc.) foi
originalmente desenvolvido para ser um Laboratrio para estudo de Matrizes, porm
atualmente suas capacidades ultrapassam muitas vezes as possibilidades de sua verso original.
Desta forma, o MATLAB hoje um dos principais sistemas interativos e uma das mais
importantes linguagens de programao para computao tcnica e cientfica em geral.
Sua primeira verso foi escrita na Universidade do Novo Mxico e na Universidade de
Stanford, no final da dcada de 70, e destinava-se a cursos de teoria matricial, lgebra linear e
anlise numrica. Hoje, o MATLAB integra anlise numrica, clculo com matrizes,
processamento de sinais, imagens, sons, e construo de grficos em ambiente fcil de usar onde
problemas e solues so expressos matematicamente, ao contrrio dos mtodos de
programao tradicional.
Os usos tpicos do MATLAB incluem:
- Clculos matemticos;
- Desenvolvimento de Algoritmos;
- Modelagem, simulao e confeco de prottipos;
- Anlise, explorao e visualizao de dados;
- Grficos cientficos e de engenharia;
Desenvolvimento de aplicaes, incluindo a elaborao de interfaces grficas com o
usurio.
tambm um sistema interativo cujo elemento bsico de informao uma matriz que
no requer dimensionamento. Esse sistema permite a resoluo de muitos problemas numricos
em apenas uma frao do tempo que se gastaria para escrever um programa semelhante em
outra linguagem, como o Pascal e o Fortran.
O AMBIENTE DO APLICATIVO
A rea de trabalho do MATLAB assemelha-se bastante ao ambiente Windows padro,
com a diferena que o programa oferece uma linha de prompt (como no antigo MS-DOS), onde o
usurio pode digitar comandos.
Os menus do MATLAB so os seguintes:
a) Menu FILE: permite que o usurio abra, feche e salve arquivos ou a rea de trabalho.
Permite ainda, que se alterem as configuraes do software, que se envie arquivos
para impresso, que se abra o editor de janelas e se encerre o programa;
b) Menu EDIT: possui as opes do Windows, tais como undo, copy, paste. Alm disso,
permite que se limpe a rea de trabalho;
http://ramoieeeufpatuc.blogspot.com
Introduo ao MATLAB
c) Menu WINDOWS: menu que permite a alternncia entre as vrias janelas abertas
durante a execuo do programa;
d) Menu HELP: contm os tpicos de ajuda e informaes gerais sobre o software.
Na barra de menu, dois botes se destacam. O primeiro o boto Workspace Browser,
que abre uma janela contendo a relao de todas as variveis, seus nomes, suas classes e seus
tamanhos. O segundo boto o Path Browser, que permite que um novo diretrio seja
adicionado ao path do MATLAB.
http://ramoieeeufpatuc.blogspot.com
Introduo ao MATLAB
who
Todas as variveis da rea de trabalho corrente aparecero na tela;
whos
Lista o nome e o tipo das variveis no Workspace ou da varivel fornecida, whos y;
help
Oferece instrues sobre as funes do programa. Se for necessrio obter informaes sobre
uma funo, digamos plot, basta digitar o comando help plot;
home
Move o cursor para o topo da tela
Caracteres especiais
O MATLAB usa os seguintes caracteres especiais:
=
Comando de atribuio;
[]
Usado na formao de vetores e de matrizes;
()
Usado para a quebra da precedncia de operadores em expresses aritmticas;
Introduo ao MATLAB
Vetores e matrizes so definidos da seguinte forma:
Valores numricos
Devem ser definidos entre [ ].
Vetores coluna
So delimitados por ou ,.
Linhas
So delimitadas por ;.
Exemplos:
>> escalar=27
escalar =
27
>> vetor_coluna=[10;20;30]
vetor_coluna=
10
20
30
>> matrizb=[1.5
3.4
7
1
6.8
2
4.7
2
9]
matrizb=
1.5000
2.0000
4.7000
3.4000
7.0000
2.0000
1.0000
6.8000
9.0000
>> vetor_linha=[1 2 5]
vetor_linha =
1
10.0000
15.0000
3.0000
5.5000
2.0000
4.0000
6.8000
7.0000
http://ramoieeeufpatuc.blogspot.com
Introduo ao MATLAB
f=
1
-4
-7
Podemos tambm definir uma matriz usando outra que j est definida. Por exemplo,
considere as seguintes matrizes:
>> B=[1.5,3.1];
>> S=[3.0 B]
Podemos tambm mudar e adicionar valores na matriz usando uma referncia entre
parnteses. Assim, o seguinte comando:
>> S(2)=-1.0;
Introduo ao MATLAB
segundo nmero como incremente. A notao abaixo gera um vetor-linha denominado tempo
que contm os nmeros de 0.0 : 0.5 com incrementos de 0.5:
>> tempo=0.0:0.5:5.0;
Comando input
Para entrar com os valores da matriz, via teclado, utiliza-se o comando input que mostra
um texto e ento espera por uma entrada. Considere o comando:
f=input(Valores de f:);
Comando format
Por definio, se o elemento de uma matriz for um nmero inteiro, o MATLAB
apresenta o resultado como nmero inteiro. Se o elemento for um nmero real, o MATLAB
apresenta-o com cinco dgitos significativos. Podemos alterar o formato numrico utilizando o
comando format.
Exemplo: seja uma varivel V que armazene a raiz quadrada de 2.
>> V = sqrt(2)
De acordo com o formato numrico escolhido, a varivel A pode estar apresentada sob a
forma:
Comando MATLAB
Varivel V
Descrio
Format long
1.41421356237310
16 dgitos
Format short
1.4142
Format short e
1.4142e+000
Format long e
1.414213562373095e+000
http://ramoieeeufpatuc.blogspot.com
10
Introduo ao MATLAB
Forma Algbrica
MATLAB
Adio
a+b
a+b
Subtrao
a-b
a-b
Multiplicao
ab
a*b
Diviso
a:b
a/b
Exponenciao
ab
a^b
11
Introduo ao MATLAB
round(x)
Arredonda o valor de x para o inteiro mais prximo.
fix(x)
Arredonda o valor de x para o inteiro mais prximo de zero
floor(x)
Arredonda o valor de x para o inteiro mais prximo de -
ceil(x)
Arredonda o valor de x para o inteiro mais prximo de .
sign(x)
Se x menor que zero, a funo retorna ao valor -1; se x for igual a zero, retorna ao valor
zero; caso contrrio, a funo retorna ao valor 1.
rem(x,y)
Retorna o resto da diviso x/y. Por exemplo, rem(25,4) 1.
exp(x)
Esta funo retorna ao valor de ex, onde e a base para logaritmo natural.
log(x)
Retorna a ln x, o logaritmo natural de x para a base e.
log10(x)
Retorna a log10x, ou seja, o logaritmo de x na base 10.
Exerccio
Calcule as seguintes expresses:
>> round(-2.8);
>> fix(-2.8);
>> floor(-2.8);
>> ceil(-2.8);
>> abs(round(-2.8));
>> sqrt(floor(9.7));
>> rem(13,2);
>> floor(ceil(9.7));
>> log10(100)-log10(0.001);
>> abs(-5.5);
>> round([0:0.3:2,1:0.74:4]);
http://ramoieeeufpatuc.blogspot.com
12
Introduo ao MATLAB
Funes trigonomtricas
As funes trigonomtricas supem que os ngulos estejam representados em radianos.
A seguir uma lista de funes trigonomtricas com uma breve descrio:
sin(x)
Calcula o seno de x, em radianos.
cos(x)
Calcula o cosseno de x, em radianos.
tan(x)
Calcula a tangente de x, em radianos.
asin(x)
Calcula o arcoseno de x.
acos(x)
Calcula o arcosseno de x
atan(x)
Calcula o arcotangente de x.
atan2(x,y)
Calcula o arcotagente do valor de y/x.
Obs.: As outras funes trigonomtricas podem ser calculados usando combinaes, e o
valor de representado por pi.
Funes Hiperblicas
Estas funes so teis em aplicaes como o projeto de alguns tipos de filtros digitais.
O MATLAB inclui vrias funes hiperblicas, como as mostradas abaixo:
sinh(x)
Calcula o seno hiperblico de x.
cosh(x)
Calcula o cosseno hiperblico de x.
tanh(x)
Calcula a tangente hiperblica de x.
asinh(x)
Calcula o seno hiperblico inverso de x.
http://ramoieeeufpatuc.blogspot.com
13
Introduo ao MATLAB
acosh(x)
Calcula o cosseno hiperblico inverso de x.
atanh(x)
Calcula a tangente hiperblica inversa de x.
Operaes aritmticas com nmeros complexos
Os comandos MATLAB reconhecem os nmeros complexos usando i para representar
-1. O comando a seguir define uma varivel complexa:
>> Z=2-0.5*i;
y=-1/x
y=tg 2x
y=cos(x/2)
y=1/(x-3)
y=1+2x-x
y=2-x+1
y=||x| - 1|
y=|cos x|
y=sec(x)
z=2x j3x
http://ramoieeeufpatuc.blogspot.com
14
Introduo ao MATLAB
(Variveis complexas) Calcule o mdulo e a fase dos nmeros complexos abaixo:
a)
b)
c)
d)
24+j7
1+j1
-8+j83
4+j3
http://ramoieeeufpatuc.blogspot.com
15
Introduo ao MATLAB
MATRIZES, POLINMIOS E
FUNES ESPECIAIS
MATRIZES
Criao de matrizes especiais
Magic Square
Uma matriz magic square de ordem n uma matriz n n constituda de nmeros
inteiros de 1 a n. Os elementos aij da matriz esto dispostos de forma tal que o somatrio de
cada linha igual ao somatrio de uma coluna.
magic(n)
Matriz magic square de ordem n.
Exemplo:
>>magic(3),magic(2),magic(4)
ans =
Zeros
Esta funo gera uma matriz cujos elementos aij so nulos.
zeros(n)
Gera uma matriz zero, quadrada, de ordem n;
zeros(m,n)
Gera uma matriz zero de ordem mn
Exemplo:
>>zeros(2),zeros(3),zeros(2,3)
Ones
A funo ones gera uma matriz cujo valor dos elementos aij unitrio.
ones(n)
Gera uma matriz quadrada de ordem n;
ones(m,n)
Gera uma matriz de ordem mn.
http://ramoieeeufpatuc.blogspot.com
16
Introduo ao MATLAB
Exemplo:
>>ones(2), ones(4),ones(4,5)
Eye
A matriz identidade pode ser gerada pelo MATLAB atravs da funo eye. Uma matriz
identidade uma matriz escalar de qualquer ordem cujos elementos aij so iguais a 1 para i=j.
eye(n)
Gera uma matriz identidade de ordem n.
eye(m,n)
Gera uma matriz de ordem mn.
Exemplo:
>>eye(3),eye(4),eye(2,3)
Pascal
Cria uma matriz cujas diagonais lembram o tringulo de Pascal. Assim, se usarmos o
comando pascal(4), a seguinte matriz gerada:
1
10
10
20
Rand
Cria matriz de nmeros pseudo-aleatrios uniformemente distribudos entre 0 e 1.
rand(n)
rand(n,m)
>>rand(2),rand(3,2)
Matriz inversa
Por definio o inverso de uma matriz quadrada A a matriz A-1.
http://ramoieeeufpatuc.blogspot.com
17
Introduo ao MATLAB
inv(a)
>>Inv(x),inv(y),inv(x),inv(y)
Determinante
No MATLAB, o comando utilizado para se achar o determinante de uma matriz
det(A).
>>det(x), det(y), det(inv(x),det(inv(rand(3)))
Comandos de troca
rot90
Uma matriz A pode sofrer uma rotao de 90 usando-se o comando rot90.
>>B=rot90(x),rot90(y),C=rot90(A,2)
fliplr
Esse comando troca o lado esquerdo com o direito de uma matriz.
>>fliplr(x), fliplr(y)
flipud
Esse comando troca a parte de cima com a parte de baixo de uma matriz.
>>flipud(x), flipud(y), flipud(inv(x))
diag
Esse comando extrai os elementos da diagonal principal da matriz x e os coloca em um vetor
coluna. Desta forma, temos:
>>diag(x), diag(y), diag(inv(rand(3)))
triu
Este comando trata uma matriz preenchendo com zeros nos lugares dos antigos elementos
localizados abaixo da diagonal principal.
>>triu(x), triu(y), triu(rand(2))
18
Introduo ao MATLAB
matrizes A e B:
>>A=[2 3;4 5;6 7]
>>B=[1 0;2 3;0 4]
Exemplo:
>>y = A -1, y=B+3-C
Multiplicao
A multiplicao de duas matrizes corresponde ao somatrio de produtos das linhas i da
primeira matriz e das colunas j da segunda matriz. Como o somatrio de produtos requer que os
vetores tenham o mesmo nmero de elementos, ento o nmero de colunas de A deve ser igual
ao nmero de linhas de B.
No MATLAB podem ser usados os seguintes comandos:
>>A = [2 5 1;0 3 -1];
>>B = [1 0 2;-1 4 -2;5 2 1];
>>C = A*B
Exemplo:
>>x=[1;2;3],y=[ 4;5;6],x*y,x*y,y*x,5*x,3*y
Exponenciao matricial
A exponenciao de uma matriz A, de dimenso n n, uma matriz nn obtida atravs
da funo expm(A). Isto :
>>expm(A) = 1+A+A/2!+A/3!+
19
Introduo ao MATLAB
y tiverem a mesma dimenso, ento a execuo do comando x.*y resulta no arranjo cujos
elementos so o produto de cada um dos elementos individuais de x e y.
>>x=[1 2 3],y=[ 4 5 6 ],z=x.*y
Autovalores
Se A uma matriz nn, ento os n nmeros
que satisfazem a relao Ax = x, so
os autovalores de A. Eles podem ser determinados usando-se o comando eig(A) que retorna os
autovalores sob a forma de um vetor coluna.
>>A = [ 0 1 ; -1 0], eig(A)
ANLISE POLINOMIAL
Representao
Como exemplo, vamos tomar o seguinte polinmio:
f(x)=3x 4 0.5x + x 5.2
Se x assumir valores escalares, podemos escrever:
>>f(x) = 3*x^4 0.5*x^3 + x - 5.2;
Equao caracterstica
As razes da equao caracterstica so idnticas aos autovalores da matriz A. A equao
caracterstica da matriz A calculada atravs de p=poly(A).
Por exemplo, se uma matriz A for igual a [ 0 1 0;0 0 1; -6 -11 -6] ento o comando
poly(A) conduz a:
1
11
Razes de polinmios
Achar as razes de um polinmio, isto , os valores para os quais o polinmio igual a
zero, um problema comum em muitas reas do conhecimento, como por exemplo, achar as
razes de equaes que regem o desempenho de um sistema de controle de um brao robtico,
ou analisando a resposta de um motor, e analisando e estabilidade de um filtro digital.
Estas razes podem ser obtidas atravs do comando r = roots(p), sendo p um vetor linha
http://ramoieeeufpatuc.blogspot.com
20
Introduo ao MATLAB
qualquer. As razes podem ser rearrumadas de novo no polinmio original com o comando
q = poly(r).
Exerccio: Ache as razes dos seguintes polinmios:
a) x + 2x + 4
b) 3x - 2x + 5x 20
c) 4x4 2x + 10
d) 8x - 12x + 2
Operaes aritmticas
Soma e subtrao
Para somar ou subtrair polinmios basta somar ou subtrair seus respectivos coeficientes.
O MATLAB no apresenta um comando especfico para somar polinmios. A soma ou
subtrao padro funciona se ambos os vetores polinomiais forem do mesmo tamanho.
Somemos os polinmios a seguir:
g(x) = x4 3x - x + 2.4
h(x) = 4x - 2x + 5x 16
som(x) = g(x) + h(x)
sub(x) = g(x) h(x)
Produto
O produto dos polinmios a convoluo de seus coeficientes. O produto dos polinmios
a(s) e b(s) pode ser obtido com o comando c=conv(a,b).
Exemplo:
>>a=[1 0 -20.6]; b=[ 1 19.6 151.2]; c=conv(a,b)
Derivada e integral
O comando polyder serve para derivar o polinmio, enquanto que o comando polyint
serve para integrar o polinmio.
Exemplo:
>>p=[ 4 2 2 1 3];
>>pd = polyder(p)
ans = 16 6 4 1
>>polyint(p)
ans =
21
Introduo ao MATLAB
Avaliao de polinmios
Para avaliar um polinmio utiliza-se o comando polyval, exemplo: para calcular o
polinmio x + 3x - 5x + 2, entre [-5,5] utilizam-se os comandos abaixo:
>>pn = [ 1 3 -5 2];
>>xn = [ -5:0.1:5];
>>yn = polyval(pn,xn);
>>plot(xn,yn)
>>xn = 0:0.1:11;
>>yn = polyval(p3,xn);
>>plot(x,y,bo:,xn,yn,r)
http://ramoieeeufpatuc.blogspot.com
22
Introduo ao MATLAB
Figura 2. plot(x,y,bo:,xn,yn,r)
http://ramoieeeufpatuc.blogspot.com
23
Introduo ao MATLAB
GRFICOS
INTRODUO
O sistema grfico do MATLAB incorpora uma variedade de tcnicas sofisticadas para
apresentao e visualizao de dados. Este sistema construdo atravs de um conjunto de
objetos grficos, tais como linhas e superfcies, cuja presena pode ser controlada pelo ajuste dos
valores das propriedades de cada objeto. Neste captulo mostraremos os recursos disponveis no
MATLAB de criao e manipulao de figuras para apresentao de resultados em formato
grfico.
Engenheiros usam grficos para analisar e resolver problemas e situaes. Por isso
muito importante aprendermos a interpretar e gerar grficos e suas formas. Vamos aprender
como o MATLAB pode nos ajudar a gerar grficos.
1. GRFICOS 2-D
muito comum engenheiros e cientistas usarem grficos x - y. Os dados que ns
plotamos so usualmente lidos por um arquivo ou calculados em nossos programas.
Geralmente assumimos que valores de x representam variveis independentes e que
valores de y representam variveis dependentes. Os valores de y podem ser calculados usando as
funes de x, ou os valores de x e y podem ser retirados de experincia.
1.1 Coordenadas Retangulares
Os pontos retangulares identificam os pontos no sistema de coordenadas cartesianas com
suas posies ao longo dos eixos horizontal e vertical como na figura a seguir.
http://ramoieeeufpatuc.blogspot.com
24
Introduo ao MATLAB
Os pares ordenados (x,y) assim criados so marcados no grfico e ligados por segmentos
retas (interpolao linear). Observa-se, portanto, que, quanto menor for o incremento do vetor X,
mais pares ordenados sero criados e, consequentemente, melhor ser a preciso do grfico. Em
compensao, uma maior quantidade de memria utilizada.
Entre as inmeras funes existentes, esto listadas abaixo apenas as mais usadas.
plot(x,y)
uma funo bsica de gerao de grficos no MATLAB. Gera grfico bidimensional com
eixos x e y lineares.
Exemplo:
>>x=[0:0.2:10];
>>y=x.^2;
>>plot(x,y)
A funo plot pode ser tambm usada no desenho de mais de um grfico em uma mesma
figura. Para isso, usa-se a seguinte notao:
plot(X1, Y1, X2, Y2, ... , Xn, Yn) ,
onde X1 e Y1 correspondem s coordenadas do grfico 1, X2 e Y2 correspondem s
coordenadas do grfico 2, e assim sucessivamente.
http://ramoieeeufpatuc.blogspot.com
25
Introduo ao MATLAB
Smbolo
y
m
c
r
g
b
w
k
Cor
amarelo
magenta
azul-claro
vermelho
verde
azul
branca
preta
Smbolo
.
x
+
*
s
d
v
^
<
>
p
h
Marcador
ponto
crculo
xis
cruz
estrela
quadrado
losango
tringulo p/ baixo
tringulo p/ cima
tringulo p/ esquerda
tringulo p/ direita
pentagrama
hexagrama
Smbolo
:
-.
--
Tipo de linha
slida
pontilhada
trao-ponto
tracejada
Para criar grficos em janelas diferentes, usa-se o comando figure(n) antes do comando
plot, onde n o nmero da janela de figuras. Caso contrrio, cada novo grfico criado ser
plotado na ltima janela aberta (grfico corrente). Para apagar o grfico da janela corrente sem
fech-la, escreve-se o comando clf.
26
Introduo ao MATLAB
subplot
Divide a janela de figuras em uma matriz m x n de sub-janelas, selecionando uma das
sub-janelas pelo seu nmero correspondente. Esses nmeros esto ordenados sucessivamente ao
longo das linhas. As entradas dessa funo so respectivamente o nmero de linhas e colunas da
janela e a posio do par de eixos corrente.
Exemplo:
>>subplot(2,2,1)
>>plot(x,x.^2)
>>subplot(2,2,2)
plot(x,10*x)
>>subplot(2,2,3)
>>plot(x,log10(x+1))
semilogx(x,y)
Este comando gera grfico usando escala linear para y e escala logartmica para x.
semilogy(x,y)
Este comando gera grfico usando escala linear para x e escala logartmica para y.
loglog(x,y)
Este comando gera grficos com escala logartmica para ambos os eixos.
Exemplo:
>>x=[0:0.2:10];
>>clf
>>semilogx(x,10*x)
http://ramoieeeufpatuc.blogspot.com
27
Introduo ao MATLAB
Grficos mltiplos
plotyy
Plota duas curvas no mesmo grfico com diferentes escalas para o eixo y. A primeira delas
tem escala esquerda, e a segunda tem escala direita.
Exemplo:
>>plotyy(x,y,x,cos(x));
Grficos polares
Grficos polares so teis quando valores so representados por ngulo e magnitude.
Quando se trabalha com coordenadas polares, um ponto representado por um ngulo
e uma
magnitude r. O valor de
geralmente dado entre 0 e 2 . A magnitude um valor positivo
que representa a distncia do eixo que fornece o ngulo at o ponto.
O comando no MATLAB para gerar grficos polares :
polar( , r)
Este comando generaliza grficos polares com ngulo
correspondente.
Exemplo 1:
>>ang=[0:.1:2*pi];
>>raio=10*ang;
>>polar(ang, raio);
http://ramoieeeufpatuc.blogspot.com
28
Introduo ao MATLAB
Exemplo 2:
>>theta=0:2*pi/100:2*pi;
>>r=theta/(2*pi);
>>polar(theta,r)
O MATLAB tambm trabalha com alguns tipos especiais de grficos, tais como:
bar(x,y)
Este comando gera grficos de barras com elementos do vetor y localizados no vetor x,
contm o mesmo espao entre os vetores.
stairs(x,y)
Este comando gera um grfico de degraus com os elementos do vetor y localizados no vetor
x, contendo o mesmo espao entre os valores.
stairs(y)
Este comando gera um grfico de degraus com os elementos do vetor y.
Quando se trata de grficos 2-D, interessante citarmos a funo:
comet(y)
Dados x e y, ele gera grfico com exibio de trajetria animada.
GRFICOS 3-D
Para gerar um arquivo que representa uma superfcie 3-D, primeiramente calculamos os
valores de x e y que representam as variveis independentes e depois calculamos os valores de z
que representa os valores da superfcie. Nesta seo apresentaremos as principais funes de
criao e manipulao de grficos tridimensionais.
http://ramoieeeufpatuc.blogspot.com
29
Introduo ao MATLAB
Tratando-se de dimenses espaciais comearemos com a funo:
plot3
Plota pontos e linhas em 3D, a partir de trs vetores de coordenadas de mesmo tamanho.
Exemplo
>>t=0:0.1:10*pi;
>>plot3(t.*sin(t),t.*cos(t),t);
My =
1
http://ramoieeeufpatuc.blogspot.com
30
Introduo ao MATLAB
1
A funo acima citada utilizada para gerar dados para todas as outras funes 3D, tais
como:
mesh(mx,my,mz)
Gera malha em 3D, a partir de trs matrizes.
Exemplo:
>> [X,Y] = meshgrid(-2:.2:2, -2:.2:2);
>> Z = X .* exp(-X.^2 - Y.^2);
>> mesh(X,Y,Z)
surf(mx,my,mz)
Gera superfcie a partir de coordenadas 3D.
Exemplo:
>> surf(X,Y,Z);
As cores, tanto da superfcie quanto da malha em 3D, esto codificadas de acordo com a
altura relativa dos pontos no eixo z. Quanto maior for z, mais avermelhada ser a cor, e quanto
menor for z, mais azulada ela ser.
http://ramoieeeufpatuc.blogspot.com
31
Introduo ao MATLAB
Grficos 3D Especiais:
cylinder(raio,n)
Cria um cilindro de altura 1, onde os parmetros de entrada so o raio e o nmero de faces
(N).
sphere(n)
Cria uma esfera de raio 1. N o nmero de faces.
Entre outras funes importantes acerca da criao de grficos no MATLAB, podemos
citar as seguintes:
ezplot3(x(t),y(t),z(t))
Gera grfico 3D a partir das equaes paramtricas x(t), y(t) e z(t).
Exemplo
>>ezplot3(cos(4*t),sin(2*t),1./(t+1))
32
Introduo ao MATLAB
>>ezcontour(equacao)
>>subplot(2,3,2)
>>ezcontourf(equacao) % rea de nvel de superfcie
>>subplot(2,3,3)
>>ezmesh(equacao)
% malha
>>subplot(2,3,4)
>>ezmeshc(equacao)
>>subplot(2,3,5)
>>ezsurf(equacao)
% superfcie
>>subplot(2,3,6)
>>ezsurfc(equao)
Exerccio
Gerar 12 pontos de uma funo para os valores de x comeando de x=0 e incrementando
de 0.5;
y = 5x.^2:
a) Gerar o grfico linear desta funo;
b) Gerar o grfico desta funo com escala logartmica x;
c) Gerar o grfico desta funo com escala logartmica y;
d) Gerar o grfico loglog desta funo;
REFERNCIAS
Grupo PET TELE. Apostila de Introduo ao Matlab/Octave. Universidade Federal Fluminense
(2011). Disponvel em: < http://www.telecom.uff.br/pet/petws/downloads/apostilas/MATLA
B.pdf>. Acessado em 17 de junho de 2012.
RIBEIRO, J. M & COVACIC, M. R. Introduo ao MATLAB. Universidade Estadual Paulista
UNESP (2007). Disponvel em: < http://www.ebah.com.br/content/ABAAABOecAI/intro
ducao-ao-matlab-unesp-ilha-solteira>. Acessado em 17 de junho de 2012.
http://ramoieeeufpatuc.blogspot.com
33
Introduo ao MATLAB
PROGRAMAO
CONTROLE DE FLUXO
As linguagens imperativas de programao de computadores caracterizam-se pela
execuo sequencial de comandos. Elas possuem ainda recursos que permitem o controle de
fluxo de execuo de comandos com base em estruturas de tomada de deciso. Nesta seo,
sero vistas as estruturas mais comuns.
OPERADORES RELACIONAIS
Operadores Relacionais
O MATLAB tem operadores relacionais que podem ser usados para comparar duas
matrizes de mesma ordem ou para comparar uma matriz e um escalar, como os mostrados a
seguir:
Operador
<
<=
>
Descrio
Menor que
Menor ou igual a
Maior que
>=
Maior ou igual a
==
~=
No igual a
Ento, o valor de a<b ser o vetor [1 1 0], enquanto o valor de a~=b ser [1 1 1].
ESTRUTURAS CONDICIONAIS
Uma estrutura condicional permite a seleo de um conjunto de comandos a serem
http://ramoieeeufpatuc.blogspot.com
34
Introduo ao MATLAB
executados quando uma dada condio for ou no satisfeita, podendo assim modificar o fluxo
natural de comandos. As trs estruturas condicionais bsicas do MATLAB esto listadas a
seguir.
Estrutura if 1
if condio
comandos
end
Estrutura if 2
if condio1
comandos1
else
comandos2
end
Estrutura if 3
if condio1
comandos1
elseif condio2
comandos2
elseif condio3
comandos3
...
else
comandosN
end
Quando se faz uso repetido de testes de igualdade com apenas um argumento comum,
costuma-se usar a estrutura switch-case. Essa estrutura tem a seguinte forma:
switch var_teste
case expresso_teste1
comandos1
case {expresso_teste2, expresso_teste3, expresso_teste4 }
comandos2
otherwise
comandos3
end
35
Introduo ao MATLAB
Exemplo:
clear all
num=input(Escrever um inteiro: ); %Exibe texto e l valor
para a varivel.
switch num
case 1
y=1
case {2,2.5}
y=2
case tres
y=3
case {quatro, Quatro, QUATRO}
y=4
otherwise
y=0
end
Estruturas de Repetio
Uma estrutura de repetio faz com que uma sequncia de comandos seja executada
repetidamente enquanto se satisfaa uma dada condio. O MATLAB possui duas estruturas de
repetio: for e while.
Estrutura for
for varivel=inic:incr:fim
comandos
end
Estrutura while
while condio
comandos
end
A condio da estrutura for que varivel seja menor ou igual a fim. Enquanto satisfeita
essa condio, ao trmino de cada loop de comandos, varivel incrementada de incr. O
incremento incr considerado unitrio caso seja omitido.
Abaixo, segue um exemplo de clculo de mdia, usando-se, de forma comparativa, as
duas estruturas.
Exemplo:
clear all
x=input(Vetor de amostras: );
copmr=length(x); % retorna o comprimento do vetor
soma_f=0;
for k=1:copmr
http://ramoieeeufpatuc.blogspot.com
36
Introduo ao MATLAB
soma_f=soma_f+x(k)
end
media_f=soma_f./compr;
soma_w=0;
k=1;
while k<=compr
soma_w=soma_w+x(k)
k=k+1;
end
media_w=soma_w./compr;
Tomada de decises
Estrutura If Else End
if expresso
Comandos
end
Suponha que a seja um escalar. Se a < 50, ento count incrementada por 1 e a
adicionada sum; caso contrrio, os comandos no sero executados. A prxima estrutura
contm um parmetro if dentro de outro parmetro if:
if expresso 1
grupo de comandos A
if expresso 2
grupo de comandos B
http://ramoieeeufpatuc.blogspot.com
37
Introduo ao MATLAB
end
grupo de comandos C
end
grupo de comandos D
http://ramoieeeufpatuc.blogspot.com
38
Introduo ao MATLAB
elseif expresso 2
grupo de comandos B
elseif expresso 3
grupo de comandos C
end
REFERNCIAS
Grupo PET TELE. Apostila de Introduo ao Matlab/Octave. Universidade Federal Fluminense
(2011). Disponvel em: < http://www.telecom.uff.br/pet/petws/downloads/apostilas/MATLA
B.pdf>. Acessado em 17 de junho de 2012.
RIBEIRO, J. M & COVACIC, M. R. Introduo ao MATLAB. Universidade Estadual Paulista
UNESP (2007). Disponvel em: < http://www.ebah.com.br/content/ABAAABOecAI/intro
ducao-ao-matlab-unesp-ilha-solteira>. Acessado em 17 de junho de 2012.
http://ramoieeeufpatuc.blogspot.com
39