Escolar Documentos
Profissional Documentos
Cultura Documentos
®
MATLAB
Ministrantes:
Alex Reis
André Luiz Machado de Oliveira
Guilherme Henrique Bernardes Cunha
Osmando Pereira Junior
Prefácio
numérica e gráfica de alta performance utilizado em cálculos com matrizes e vetores. Ele
programação tradicional.
como filtros digitais, moduladores e demoduladores de sinais, etc. As aplicações são infinitas.
advém da perseverança.
Boa aprendizagem!
Página 2 de 20
CURSO DE MATLAB ® - PET/Eng.Elétrica – UFU / 2007
Sumário:
1. Operações Aritméticas 4
2. Funções Básicas 5
4. Vetores Unidimensionais 9
5. Matrizes 12
6. Gráficos 14
Página 3 de 20
CURSO DE MATLAB ® - PET/Eng.Elétrica – UFU / 2007
1. Operações Aritméticas
Operação Operador
adição +
subtração -
multiplicação *
divisão / e \
Solução1.1.a
>> 5+3
ans =
Outras operações:
1.1. Potenciação (^)
Fazer no MATLAB: a) 10^2 b) 2^3 c) 4^(1/2) d) 5^2.31
e) a = 2e-4 f) (10^4)*A c) A=(10^4)*a
Página 4 de 20
CURSO DE MATLAB ® - PET/Eng.Elétrica – UFU / 2007
2. Funções Básicas
Nome_função(argumento_função)
Observação:
1) Uso de setas no Command Window: ↑ ↓ ← →
2) Para facilitar o trabalho com funções trigonométricas, lembrar:
cte = pi/180
Página 5 de 20
CURSO DE MATLAB ® - PET/Eng.Elétrica – UFU / 2007
3. Formato de Números, Gravar Workspace (diary) e Limpar Command Window (clc)
3.1.Formato de Números
>> exp(1)
ans =
2.7183
ans =
2.71828182845905
Verifique:
>>format long g
>>format short g
>>format long e
>>format short e
>>format bank
>>format rational
>>format compact
>>a
Página 6 de 20
CURSO DE MATLAB ® - PET/Eng.Elétrica – UFU / 2007
3.1.2. Comando pelo endereço File>>Preferences...>>Command Window
Página 7 de 20
CURSO DE MATLAB ® - PET/Eng.Elétrica – UFU / 2007
3.2. Gravar Wokspace (comando diary)
É possível armazenar o código feito no Command Window para, posteriormente,
acessá-lo. Este armazenamento (gravação) é feito pela função diary.
Executem o código abaixo no MATLAB.
>> diary('c:\temp\aula1.txt')
>> format compact
>> a=4+3i
a=
4.0000 + ...
3.0000i
>> imag(a)
ans =
3
>> real(a)
ans =
4
>> abs(a)
ans =
5
>> conj(a)
ans =
4.0000 - 3.0000i
>> a^2
ans =
7.0000 +24.0000i
>> plot(a,’*’)
>> compass(a)
>> diary off
O comando clc limpa a janela de trabalho. Esta ferramenta é muito importante visto
que permite melhor organização na janela de trabalho.
Executem na janela de trabalho: >>clc
Página 8 de 20
CURSO DE MATLAB ® - PET/Eng.Elétrica – UFU / 2007
4. Vetores Unidimensionais
Vetor é definido como um conjunto de elementos organizados de acordo com a
seguinte estrutura:
Observação:
E4.2. Verificar no MATLAB a definição de vetor pela definição de elemento por elemento,
como se segue:
>> clear a
>> format short
>> format compact
>> a(1)=0
a=
0
>> a(2)=1
a=
0 1
>> a(3)=2
a=
0 1 2
>> a(4)=3
a=
0 1 2 3
>> a(5)=4
a=
0 1 2 3 4
>> a
a=
0 1 2 3 4
Página 9 de 20
CURSO DE MATLAB ® - PET/Eng.Elétrica – UFU / 2007
4.2. Vetor Coluna
>> A=[1 2 3]
A=
1 2 3
>> At = A'
ans =
1
2
3
Observação: A ferramenta transposta (‘) permite criar um vetor coluna a partir de um
vetor linha.
4.4.1. Soma
>> a=[1 2 3]; Observações:
>> b=[4 5 6];
>> A = a + b 1- Notar a utilização do parâmetro ; no final da linha de comando.
A= 2- O elemento A(1) é dado pela soma a(1)+b(1). O elemento
5 7 9 A(2), pela soma a(2)+b(2) e assim sucessivamente.
Página 10 de 20
CURSO DE MATLAB ® - PET/Eng.Elétrica – UFU / 2007
4.4.2. Subtração
>> c=[1 2 3]; Observações:
>> d=[4 5 6];
>> B = c - d 1- O elemento B(1) é dado pela subtração c(1)-d(1). O elemento
B= B(2), pela subtração c(2)-d(2) e assim sucessivamente.
-3 -3 -3 2- Pode-se subtrair apenas vetores de mesmo comprimento.
Página 11 de 20
CURSO DE MATLAB ® - PET/Eng.Elétrica – UFU / 2007
5. Matriz
Matrizes podem ser representadas no MATLAB de forma similar a vetores. Deve-se
escrever todas as linhas em um única linha, separando-se uma linha da matriz da outra
utilizando a ferramenta ;.
Os elementos da matriz podem ser identificados por dois índices, sendo que o primeiro
indica a linha e o segundo, a coluna.
>> a(1,1)
ans =
1
>> a(3,1)
ans =
7
>> a(3,3)
ans =
9
Página 12 de 20
CURSO DE MATLAB ® - PET/Eng.Elétrica – UFU / 2007
5.3. Concatenando duas ou mais matrizes
5.5.1. Soma
Verificar A + B.
5.5.2. Subtração
Verificar ans - B
Página 13 de 20
CURSO DE MATLAB ® - PET/Eng.Elétrica – UFU / 2007
5.5.3. Multiplicação e divisão por um escalar
Verificar C*5
5.5.5. Potenciação
Verificar: a) A^2 b) A.^2
6. Gráficos
>> x = linspace(0,2*pi,40);
>> y = sin(x);
Página 14 de 20
CURSO DE MATLAB ® - PET/Eng.Elétrica – UFU / 2007
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
0 1 2 3 4 5 6 7
>> x = linspace(0,2*pi,30);
>> y = sin(x);
>> z = cos(x);
Página 15 de 20
CURSO DE MATLAB ® - PET/Eng.Elétrica – UFU / 2007
Caracteres COR
y Amarelo
m Magenta
c Ciana
r Vermelho
G Verde
b Azul
W Branco
k Preto
Página 16 de 20
CURSO DE MATLAB ® - PET/Eng.Elétrica – UFU / 2007
Comandos Descrição
axis([xmax,xmin,ymax,ymin]) Define os valores máximos e mínimo edos
eixos usando os valores dados no vetor de
linha.
Axis auto Retorna o escalamento de eixos para o
Axis (‘auto’) modo automático padrão: xmin=min(x),
xmax=max(x), etc.
Axis (axis) Congela a escala nos seus limites atuais,
de modo que se o comando hold é ligado,
gráficos subseqüentes usam os mesmos
limites de eixo.
Axis xy Usa a forma padrão de coordenadas
Axis (‘xy’) cartesianas, na qual a origem do sistema
(o menor par de coordenadas) está no
canto inferior esquerdo. O eixo hoizontal
aumenta da esquerda para a direita e o
eixo vertical aumenta de baixo para cima.
Axis ij Usa a forma coordenada matricial, onde a
Axis (‘ij’) origem do sistema encontra-se no canto
superior esquerdo. O eixo horizontal
aumenta da esquerda para a direita, mas o
eixo vertical aumenta de cima para baixo.
Axis square Faz com que o gráfico atual seja
Axis (‘square’) quadrado, e não retangular (que é o
padrão).
Axis equal Define os fatores de escalamento para
Axis (‘equal’) ambos os eixos como sendo iguais.
Axis normal Desliga axis equal e axis square.
Axis (‘normal’)
Axis off Desliga todos os nomes de eixos, grades e
Axis (‘off’) marcadores. Não altera o título nem o
nome colocado pelo comando gtext.
Axis on Liga nomes de eixos, marcadores e grade.
Axis (‘on’)
>> q = [1 2 4 2 6 8 2 2 9]
>> plot (q, 'r'); grid on
Nota 1: Um vetor é plotado como função dos índices dos seus elementos. Como o vetor X
possui 9 elementos, a abscissa será graduada de 1 até 9 e o eixo das ordenadas terá sua
graduação em função do valor dos elementos do eixo X.
Nota 2: Para alterar os limites de escala da janela gráfica atual basta usar a função axis com os
argumentos:
>>axis([xmax,xmin,ymax,ymin])
Página 17 de 20
CURSO DE MATLAB ® - PET/Eng.Elétrica – UFU / 2007
>> a = [1 2 3 4]
>> b = [2 -1 0 -5]
>> plot(a,b)
>> a = [ 2 1 4; 1 7 5 ; 6 8 4]
>>plot (a)
0.8
0.6
0.4
eixo das cordenadas
0.2
-0.2
-0.4
-0.6
-0.8
-1
0 1 2 3 4 5 6 7
eixo das abscissas
>> x = linspace(0,2*pi,40);
>> y = sin(x);
>> z = cos(x);
>> plot (x,y,'g:',x,z,'b--')
>> xlabel ('eixo das abscissas')
>> ylabel ('eixo das cordenadas')
>> title('Funções SENO e COSSENO')
>> grid
Página 18 de 20
CURSO DE MATLAB ® - PET/Eng.Elétrica – UFU / 2007
Outras funções
bar()
stairs()
errorbar()
compass()
rose()
feather()
fplot()
6.5 Subgráficos
Função subplot(m,n,s)
Onde:
M: linhas
N: colunas
S: numeração do gráfico
>>x = 0:pi/100:4*pi;
>>subplot(221)
>>plot(cós(x))
>>gtext(‘cosseno(x)’)
>>subplot(222)
>>plot (sin(x))
>>axis([0 500 -1 1])
>>title (‘seno(x)’);
>>subplot(223)
>>plot(cos(x),sin(x))
>>gtext(‘sen(x).cos(x)’)
>>subplot(224)
>>plot(cos(2x),sin(x))
>>title(‘cos(2x).sen(x)’)
A função do MATLAB fplot permite plotar o gráfico de qualquer função, bastando fornecer o
intervalo onde se deseja que a função seja plotada:
>>fplot(‘exp’,[0 5])
Página 19 de 20
CURSO DE MATLAB ® - PET/Eng.Elétrica – UFU / 2007
Onde x,y,z são vetores ou matrizes e c é o caracter ou string que define a cor ou estilo de
linha.
Exemplo
>>p = 0:pi/50:10*pi
>>plot3(sin(p),cós(p),p,’r’)
>>xlabel(‘sin(p)’)
>>ylabel(‘cos(p)’)
>>zlabel(‘p’)
6.8 Superfícies
As funções mesh e surf permitem representar superfícies no MATLAB. A função mesh plota
superfície no modo ‘armação de arame’ e a função surf preenche a armação de arame com
cores. Outra função importante é a colormap que altera a cor default do MATLAB.
Exemplo:
>>mat = zeros(14);
>>mesh(mat)
>>colormap([0 1 1])
>>surf(mat)
Página 20 de 20