Sei sulla pagina 1di 26

Matlab Bsico

Guilherme Oliveira
fb.com/oliveiraglm
guilherme9509@gmail.com

Matrizes e Vetores
Guilherme Oliveira

Matrizes e Vetores
Assim como as demais linguagens de programao, o Matlab
tambm oferece recursos para que possamos trabalhar com
Matrizes e vetores;
Com estes recursos alguns problemas de engenharia se tornam
mais fceis de serem resolvidos, j que podemos analisar um
conjunto muito grande de dados e suas contribuies para o
problema em anlise de forma muito rpida e sem muito esforo;
Tem grande aplicao em solues numricas de problemas da
engenharia complexos e difceis de serem resolvidos
algebricamente;

Criando vetores
Existem vrias formas de se iniciar um vetor;

x = primeiro : ultimo;
x = primeiro : incremento : ultimo;
x = linspace(primeiro,ultimo, n);
x = logspace(primeiro, ultimo, n); de 10 10
logaritmicamente espaados

x=[abdce]

Exemplos

Vetores
Os exemplos acima possuem 1 linha e vrias colunas (vetor linha);

Para criar um vetor com 1 coluna e vrias linhas basta separar os


elementos no vetor por ;
Podemos criar este mesmo vetor coluna
atravs da transposta de um vetor linha:
>>vetor

Endereamento de Vetores
Cada um dos =elementos de um vetor pode ser acessado atravs de seu
ndice.

Para um vetor linha, o ndice de cada elemento representa a coluna em que o


mesmo est contido;
>> a = vetor(n) a varivel a recebe o valor contido na coluna n de um vetor linha;

Tambm h a possibilidade de acessar cada um desses vetores em blocos


>> b = vetor(n1:n2) b ser um subvetor contendo os valores do vetor inicial no
intervalo de n1 at n2;
>> b = vetor(n1:inc:n2) seleciona o valores no intervalo de n1 at n2 de inc em inc
nmeros. Tambm na ordem inversa;

Endereamento de vetores

Para acessar a ltima posio de um vetor,


basta passar como ndice a palavra
reservada end

Operaes com vetores

OBS.: Sempre lembre do ponto final antes de um operador


para operaes entre vetores.

Exerccios
Gerar um vetor inteiro A, com o valor inicial 10 e valor mximo 90, com
variao entre elementos de 6.
Gerar um vetor B, subtraindo 3 de cada um dos valores de A.
Gerar um vetor C com a multiplicao, elemento a elemento, de A por B.

Gerar um vetor D com as colunas pares de C ( Dica: Subvetor)


Gere o vetor V = [1 -3 4 -19 20 30] e substitua seus valores negativos por
0(!)

Apague todas as variveis criadas

Matrizes
Os elementos de cada linha de uma matriz so separados por
espaos em branco ou virgulas, j as colunas so separadas por
ponto e virgula (;)

No Matlab:
>> A = [a11 a12 a13; a21
a22 a23; a31 a32 a33]

Matrizes
Tambm podemos usar os mtodos de gerao de um
vetor para gerar linhas de matrizes.
Ex:
Gere uma matriz 3x3 cuja primeira linha vai de 1 a 3 (incremento
de 1), a segunda linha inicia em 8 e termina em 9, com os valores
linearmente espaados e a terceira linha inicia em -1 e termina
em -3 com um incremento de -1.

possvel definir um elemento de uma matriz ou vetor


como uma operao matemtica;

Endereamento de Matrizes
A(:,n) todas as linhas da coluna n da matriz A

A(n,: ) todas as colunas da linha n da matriz A


A(:,m:n) todas as linhas entre as colunas m e n da
matriz A
A(m:n,:) todas as colunas entre as linhas m e n da
matriz A

A(m:n,p:q) todos os elementos entre as linhas m e n, e


entre as colunas p e q;

Exerccio
Gere uma matriz A 4x4 e obtenha uma matriz B 2x2
excluindo todas as linhas e colunas mais externas da
matriz A;
Crie dois vetores v1 e v2, onde v1 a primeira linha da
matriz B e v2 e a segunda linha da matriz B, e gere um
vetor cujo elementos so resultados da multiplicao de
v1 por v2.

Apague todas as variveis

Operaes com matrizes


Transposta ()
Adio e subtrao (somente para matrizes de mesmas dimenses)
Adio e subtrao de escalar (soma ou diminui um valor de todos os elementos da
matriz)
Multiplicao (*) A(m,n) * B(p,q) apenas se n = p;
Multiplicao por escalar A*n;

Multiplicao de matrizes de mesma dimenso (elemento por elemento) ( .* )


Inversa da matriz inv(A)
Diviso de matrizes de mesma dimenso ( ./ )

Potenciao A.^B ou por escalar;


Determinante da matriz det(A)

Exerccios
Crie duas matrizes 3X4 inteiras, A e B;

Em uma matriz C guarde a transposta de A;


Em D guarde a soma de A e B;

Em E guarde a multiplicao de elemento a elemento de


A por B;

Exerccios
Apague as variveis existentes;

Crie duas matrizes mat1 e mat2, com dimenses 3x2 e


2x3 respectivamente;
Obtenha o produto matricial de mat1 por mat2 e salve-o
em uma matriz PROD;

Matrizes Auto vetores e Auto Valores


Dada uma matriz A
O comando eig(A) calcula um vetor coluna contendo os
autovalores de A
O Comando [Q,d] = eig(A) calcula uma matriz quadrada
Q contendo os autovetores de A como colunas e uma
matriz quadrada q contendo os auto valores de A na
diagonal.

Gerenciamento de Matrizes e Vetores


length(a) nmero de elementos da matriz;

size(a) retorna o tamanho da matriz em um vetor linha [m,n]


reshape(a,m,n) rearranja uma matriz para ter m linhas e n
colunas

diag(v) com v sendo um vetor;


diag(a) com a sendo uma matriz quadrada;

Anlise de dados de vetores e matrizes


mean(v) mdia dos valores de um vetor
max(A) maior elemento de um vetor ou maiores elementos de cada coluna de
uma matriz;

[d,n] = max(A) se A um vetor d o maior valor e n a posio desse valor;


min(A) , [d,n] = min(A);
sum(v) soma dos elementos do vetor;
sort(v) coloca os elementos de um vetor em ordem crescente;
std(v) retorna o desvio padro entre os elementos de um vetor

dot(a,b) retorna o produto escalar entre dois vetores;


cross(a,b) retorna o produto cruzado de dois vetores a e b;
OBS.: a e b devem ter 3 posies.

Determine o momento de F em relao a O

OBS.: Lembre-se de
usar as funes
trigonomtricas na
forma de graus.
A

Funes polinomiais

No Matlab um polinmio interpretado como um vetor;


Logo,
>> f = [ 1 2 1 0 ]
Tomando um polinmio neste formato, algumas operaes podem
ser feitas.

Funes polinomiais
roots(f) retorna as razes do polinmio na forma de um vetor
linha;
polyval(f,v) valida o polinmio com um valor ou conjunto de
valores;
poly(v) Cria um polinmio a partir de um vetor de entrada
contendo suas razes;
polyfit(x,y,n) retorna os coeficientes de um polinmio de grau n
que melhor se encaixa no conjunto de dados x,y.

Exerccios
A populao de uma cidade foi analisada de 20 em 20 anos de 1800
at 2000 e est apresentada abaixo para cada ano analisado
respectivamente:
Ano

Populao

1800

84500

1820

85056

1840

87656

1860

91555

1880

98655

1900

113320

1920

118952

1940

125685

1960

140659

1980

170652

2000

204823

Obs.:
Uma forma de
visualizar melhor
os dados no
Matlab atravs
do comando
table(v1,v2) que
recebe como
parmetro dois
vetores.

Exerccio
Encontre um polinmio de grau 2 que descreve o
comportamento da populao em funo dos
anos, e estime a populao dessa cidade em
2020.

Exerccio
Um sistema pode ser resolvido utilizando matrizes.
Dado um sistema A*B = C, tendo:
1 1
A=
2x2
1 1
3
C =
2x1
1
Obtenha a matriz soluo B;

Potrebbero piacerti anche