Académique Documents
Professionnel Documents
Culture Documents
Workspace
Ajuda
Prompt do interpretador
Janela de
comandos
Histrico de
comandos
1. Manipulao de matrizes
O tipo numrico padro usado pelo MATLAB a matriz de valores em ponto flutuante: nmeros reais ou
complexos so armazenados em matrizes 1x1. A maneira mais simples de se armazenar uma matriz na
memria com uma atribuio, como em:
>> A = [2
5]
O resultado do comando anterior mostrado na Figura 2. Note que o comando passou a fazer parte do
histrico do programa e que a matriz foi armazenada no workspace. A alocao da matriz tambm pode ser
confirmada pelos comandos who (que mostra os nomes das variveis armazenadas) ou whos (que mostra
os nomes e espaos ocupados pelas variveis). Exemplo:
>> whos
Name
Size
Bytes
Class
1x5
40
double array
Comando digitado
A matriz deste exemplo chamada de vetor linha, j que se trata de uma matriz com apenas 1 linha: na
digitao, os valores do vetor podem ser separados por espaos, como no exemplo, ou por vrgulas. Para
criar um vetor coluna deve-se separar cada linha das demais usando ponto-e-vrgula. Exemplo:
>> B = [5; -4; 6.5]
B =
5.0000
-4.0000
6.5000
1
6
4
3
7
5
Quando for interessante omitir a exibio do resultado de qualquer comando basta encerr-lo com pontoe-vrgula. Exemplo:
M = [2 1 3; 4 6 7; 3 4 5];% Cria uma matriz 3x3 (3 linhas e 3 colunas)
O smbolo de porcentagem serve para criar comentrios de uma linha, tanto na janela de comandos
quanto no ambiente de programao do MATLAB.
Os elementos de uma matriz podem ser acessados pelo nome da varivel, seguido de ndices entre
parnteses, sendo que o primeiro elemento sempre o de ndice 1. Exemplo de acesso:
>> x = B(2)
x =
-4
Se uma nova informao for atribuda a um vetor ou matriz os redimensionamentos necessrios sero
feitos automaticamente. Exemplo:
>> A = [4 5 9];
>> A(6) = 8
Valores inseridos
automaticamente
A =
4
Para acessar os elementos de uma matriz escreve-se o conjunto de ndices entre parnteses, separados por
vrgula. Exemplo:
>> x = M(2,3)
x =
7
O resultado de qualquer comando que no seja atribudo a uma varivel especfica armazenado em uma
varivel especial chamada ans. Exemplo:
>> M(2,1)
ans =
4
Para facilitar a repetio de comandos possvel usar as setas para cima e para baixo do teclado ou dar um
duplo-clique nos itens da janela de histrico. No existem comandos especficos para desfazer atribuies
feitas na janela de comando, apesar de existir a opo undo no menu Edit do programa.
A indexao de matrizes pode ser usada em conjunto com o sinal ":" para indicar "todos os elementos" de
uma certa dimenso. Por exemplo, os comandos a seguir criam um vetor linha com todos os elementos da
segunda linha da matriz M:
M = [2 -1 5; 3 1 1; 2 0 2];
com ";"?
v1 = M(2,:)
O comando anterior pode ser traduzido como "armazene em v1 os elementos de M que esto na linha 2 e
em todas as colunas". Da mesma forma, o comando a seguir cria um vetor coluna com os elementos da
primeira coluna da matriz M:
v2 = M(:,1)
Finalmente, matrizes podem ser concatenadas por meio de atribuies diretas. Exemplo:
M2 = [[5; 5; 5]
v2
v1']
2. Seqncias
O uso de ":" tambm serve para denotar uma seqncia igualmente espaada de valores, entre dois limites
especificados, inteiros ou no.
Por exemplo, a instruo
v3 = 3:8
cria um vetor linha com os valores 3, 4, 5, 6, 7 e 8 (o incremento padro unitrio).
4
O incremento pode ser definido pelo usurio se a seqncia for criada sob a forma:
[Valor inicial: Incremento: Valor final]
Exemplo:
>> v4 = 2:0.5:4
v4 =
2.0000
2.5000
3.0000
3.5000
4.0000
Outra forma de se obter um vetor com valores igualmente espaados pelo uso da funo linspace. Por
exemplo, a instruo
y = linspace(10,200,25)
gera um vetor linha com 25 valores igualmente espaados entre 10 e 200. Se o parmetro que controla o
nmero de pontos for omitido, a seqncia ter 100 valores.
A diferena entre usar o operador ":" e a funo linspace que a primeira forma exige o espaamento
entre os valores enquanto a segunda requer a quantidade de valores.
Seqncias com valores linearmente espaados so usados, normalmente, para fornecer valores de
variveis independentes para funes. Por exemplo, as instrues a seguir criam um vetor com 50 valores
da funo y sen x , para x [0,2]:
x = linspace(0,2*pi,50);
valor de
y = sin(x);
Neste tipo de operao, chamada de vetorizada, o MATLAB cria ou redimensiona o vetor y com a mesma
dimenso do vetor x. Em situaes que exijam grandes variaes de valores, como na anlise de respostas
em freqncia, interessante que a variao de valores seja logartmica, o que pode ser obtido com o uso
da funo logspace, de sintaxe semelhante de linspace. Por exemplo, a instruo
f = logspace(0,4,50);
cria um vetor com 50 valores espaados logaritmicamente entre 10 0 1 e 10 4 1 .000 .
3. Operaes matemticas
O MATLAB reconhece os operadores matemticos comuns maioria das linguagens de programao nas
operaes com escalares (nmeros reais e complexos). Nas operaes com matrizes preciso respeitar as
regras da Matemtica em relao s dimenses envolvidas. Por exemplo, considere as seguintes matrizes:
1 4 5
A 2 3 9
6 0 1
5 5 5
B 4 6 2
3 4 5
C = A+B
C = A-B
C = A*B
C = A.*B
C = A./B
C = A.^2
(Soma)
(Subtrao)
(Multiplicao matricial)
(Multiplicao elemento-a-elemento)
(Diviso elemento-a-elemento)
(Potenciao elemento-a-elemento)
i)
6 9 10
C 6 9 11
9 4 6
iv)
5 20 25
C 8 18 18
18 0
5
ii)
4 1
C 2 3
3 4
v)
0
7
4
iii)
36 49 38
C 49 64 61
33 34 35
vi)
1 16 25
C 4
9 81
36 0 1
Ateno:
1) Para obter o sinal de potenciao (^) preciso pressionar a tecla correspondente duas vezes;
2) A multiplicao de uma matriz A (n k) por uma matriz B (k m) produz uma matriz n m. Para as outras
operaes mostradas, as matrizes A e B devem ter as mesmas dimenses.
4. Operaes com matrizes
H uma srie de funes disponveis no MATLAB para gerao ou alterao de matrizes e vetores,
exemplificadas a seguir. Execute as instrues, anote os resultados obtidos e anote uma breve explicao
sobre a utilidade de cada funo.
a) x = max(M)
x = max(v)
[vmax imax] = max(v)
b) [nl nc] = size(M)
c) x = length(v)
x = length(M)
d) M2 = zeros(3)
M3 = zeros(3,2)
e) M4 = ones(4)
M5 = ones(size(M3))
5. Grficos
A maneira mais simples de traar um grfico bidimensional com o MATLAB pelo uso da funo plot. A
forma plot(x,y) desenha um grfico bidimensional dos pontos do vetor y em relao aos pontos do vetor x
(ambos devem ter o mesmo nmero de elementos). O grfico resultante desenhado em uma janela de
figura com as escalas automticas nos eixos x e y e segmentos de reta unindo os pontos.
Por exemplo, para desenhar o grfico da funo
y 1 1 ,1547 e 1 ,5 x sen 2 ,5981 x 1 ,0472 ,