Você está na página 1de 28

Universidade Estadual de Mato Grosso

Faculdade de Engenharia Civil

INTRODUÇÃO AO MATLAB
René Quispe Rodríguez
Graduado em Engenharia Mecânica pela
Universid Nacional de Ingeniería;
Doutor em Mecânica dos Sólidos e Projeto
Mecânico, pela NICAMP/Carleton
University ;
E-MAIL: rene.rodriguez@unemat.br
ALGEBRA LINEAR

• Vetores e Matrizes
a) Matriz é o formato fundamental de dados do MATLAB
(MATrix LABoratory).
b) Vetor é uma matriz de uma dimensão.
• Geração de Vetores
a) Especificando o incremento dos componentes v = a:h:b
b) Especificando a dimensão linspace(a,b,n)
VETORES
• Os vetores podem ser de linha ou de coluna.
 Vetor linha: Entre colchetes separados por espaços ou
‘,’.
>>v = [2 3 4] ou >>v = [2, 3, 4]

 Vetor coluna: Os elementos de cada coluna estão


separados “;”.
>> w = [7;9;8]
OPERAÇÕES: Vetores x Vetores
OPERAÇÃO DESCRIÇÃO

v+y adição
v-y subtração
v.*y multiplica cada elemento de v pelo correspondente de y
v./y divide cada elemento de v pelo correspondente de y
v.^y cada elemento de v está elevado ao correspondente de y
v*y’ calcula o produto escalar de v vezes y
FUNÇÕES DO MATLAB
• Funções Específicas para Vetores:
FUNÇÕES DESCRIÇÃO
sum(v) soma
prod(v) produto
V’ transposta de vetores (linhas  colunas)
dot(v,w) produto escalar de vetores
cross(v,w) produto vetorial de vetores
[y,k]=max(v) y valor máximo dos elementos de um vetor k indica a posição
[ y,k ]= min(v) y valor mínimo dos elementos de um vetor k indica a posição
Exemplos
• Criar vetor com os 6 primeiros quadrados perfeitos.

>> v = 1:6
v =1 2 3 4 5 6

>> Quadperf = v.^2

Quadperf = 1 4 9 16 25 36
Exemplos
• Crie um vetor complexo z = x + i*y, onde x é um vetor de 10
elementos inteiros na ordem decrescente desde o numero 20
e y e um vetor de valores aleatórios entre 0 e 1.
Exemplos
• Crie um vetor complexo z = x + i*y, onde x é um vetor de 10
elementos inteiros na ordem decrescente desde o numero 20
e y e um vetor de valores aleatórios entre 0 e 1.

>> x = 20 : -2 : 1
x = 20 18 16 14 12 10 8 6 4 2
>> y = rand(1,10)
y = Columns 1 through 6
0.2987 0.6614 0.2844 0.4692 0.0648 0.9883
Columns 7 through 10
0.5828 0.4235 0.5155 0.3340
>> z = x + y*i
Exemplos
• Uma equação diferencial é solucionada através de um
método analítico. Sabe-se que a solução no intervalo de [0,1]
é y(x) = x^2 + cos(x). Calcular a solução da equação
diferencial para o intervalo de [0,1], com parâmetros de
discretização de 0.2.
Exemplos
• Uma equação diferencial é solucionada através de um
método analítico. Sabe-se que a solução no intervalo de [0,1]
é y(x) = x^2 + cos(x). Calcular a solução da equação
diferencial para o intervalo de [0,1], com parâmetros de
discretização de 0.2.

>> x = 0:0.2:1 %criar vetor entre 0 e 1 com intervalos de 0.2


x = 0 0.2000 0.4000 0.6000 0.8000 1.0000

>> y = x.^2 + cos(x) % avalia a solução para todos os valores do


vetor x
y = 1.0000 1.0201 1.0811 1.1853 1.3367 1.5403
Exemplos com vetores
Exercicio 1: Gerar os seguintes vetores:

x começa em 0, vai até 15, passo 3


x começa em –3.4 vai até 8, passo 0.32
x começa em 10, vai até 1, passo –1.23
x começa em 0, vai até 152, passo 10*pi

Exercicio 2: Gerar os seguintes vetores:

x começa em 0, vai até 15, com 3 elementos


x começa em –3.4 vai até 8, com 2 elementos
x começa em 10, vai até 1, com 10 elementos
x começa em 0, vai até 152, com 20 elementos
Geração de Matrizes
•Valores são inseridos por linhas, separadas estas
por “;” da seguinte maneira:

>> A = [ 2 1 1;1 2 1;1 1 2] + <ENTER>

A=
2 1 1
1 2 1
1 1 2
GERANDO MATRIZES
MATRIZES DESCRIÇÃO
zeros(n,m) Matriz de zeros
ones(n,m) Matriz de uns
eye(n,m) Matriz identidade
rand(n,m) Matriz de elementos aleatórios
diag(v), diag(v,k) define-se com diagonal da matriz
C=

1 2 8 7
7 6 0 9
8 7 6 5 1
3 4 5 6
0
-1
GERANDO MATRIZES
pascal(n) gera uma matriz simétrica de tamanho nxn com valores
inteiros que formam o triângulo de pascal.

magic(n) gera matriz de tamanho nxn com valores inteiros desde


1 até n^2 e igual soma de fila, coluna e diagonal.

As funções básicas também podem ser usadas para gerar matrizes.

rand(6,2): gera uma matriz de 6 linhas e 2 colunas com valores


aleatórios entre 0-1.
OPERAÇÕES MATRICIAIS
OPERAÇÕES DESCRIÇÃO

Já que qualquer A+B, A+k adição


dado numérico é A-B, A-k subtração
considerado uma A*B, A*k multiplicação
matriz, os símbolos
+, -, *, /, ^ são A' transposta A(n,m) => A(m,n)
designados como A\B divisão à esquerda INV(A)*B
operações A/B divisão à direita
matriciais.
A.*B produto elemento-elemento das matrizes
./ e .\ divisão elemento-elemento
A.\k divide k por cada elemento de A
A./k divide cada elemento de A por k
A.^k eleva cada termo de A a potência k
FUNÇÕES DO MATLAB – MATRIZES
COMANDO DESCRIÇÃO
length(A) retorna o número de elementos que compõem o vetor A
diag(A) obtém a diagonal da matriz A
sum(diag(A)) ou trace(A) calcula o traço de A
diag(A,k) procura a k-ésima diagonal de A
norm(A) norma de uma matriz, calcula o máximo dos valores
absolutos dos elementos de A
inv(A) calcula a inversa de uma matriz quadrada não singular
size(A) define a dimensão de uma matriz

triu(A) reescreve A preenchendo com zeros a parte triangular


inferior
tril(A) reescreve A preenchendo com zeros a parte triangular
superior
OPERADOR ‘:’ EM MATRIZES
Podem-se selecionar sub matrizes de uma matriz.

Considerando a matriz B, sub1 é formada por todas as linhas


das colunas 2 e 3 de B.

B= >> sub1 = B(:,2:3)

1 2 3 4 ans =
5 6 7 8 2 3
9 10 11 12 6 7
10 11
OPERADOR ‘:’ EM MATRIZES
A matriz sub2 é definida pelas entradas de B das linhas 2 e 3
interceptadas com as colunas 1 até 3.

B= >> sub2 = B(2:3,1:3)

1 2 3 4 ans =
5 6 7 8 5 6 7
9 10 11 12 9 10 11
ARRANJO DE VÁRIAS DIMENSÕES
Desde a versão 5 do MATLAB admitem-se arranjos
multidimensionais.

Exemplo: Arranjo de 3 dimensões tamanho 2x2 com valores


unitários.

>> ones(2,2,3)

ans(:,:,1) = ans(:,:,2) = ans(:,:,3) =

1 1 1 1 1 1
1 1 1 1 1 1
EXEMPLO DE OPERAÇÕES - MATRIZES
• Soma de duas matrizes A(i,j) + B(i,j)

>> A = [3 4 6; 7 9 4; 1 6 3] >> B = [10 6 32; 5 3 7; 12 8 9]

A= B=

3 4 6 10 6 32
7 9 4 5 3 7
1 6 3 12 8 9

>> A + B

ans =

13 10 38
12 12 11
13 14 12
EXEMPLO DE OPERAÇÕES - MATRIZES
• Produto de duas matrizes A(i,j) * C(j,k)
>> A = [3 4 6; 7 9 4; 1 6 3] >> C = [6 7 ; 9 2 ;7 4]

A= C=

3 4 6 6 7
7 9 4 9 2
1 6 3 7 4

>> A*C
ans =

96 53
151 83
81 31
EXEMPLO DE OPERAÇÕES - MATRIZES
Produto de duas matrizes termo-termo A(i,j).*B(i,j)

>> A = [3 4 6; 7 9 4; 1 6 3] >> B = [10 6 32; 5 3 7; 12 8 9]

A= B=

3 4 6 10 6 32
7 9 4 5 3 7
1 6 3 12 8 9

>> A.*B
ans =

30 24 192
35 27 28
12 48 27
EXEMPLO DE OPERAÇÕES - MATRIZES
Operações de matrizes e constantes
>> A+5 >> A*10 ou A.*10

ans = ans =

8 9 11 30 40 60
12 14 9 70 90 40
6 11 8 10 60 30

>> A.^2 >> A^2 ou A*A


ans =
ans =

9 16 36
 43 84 52
88 133 90
49 81 16 48 76 39
1 36 9
EXEMPLO DE OPERAÇÕES - MATRIZES
Operações de matrizes: divisão

>> A = [3 4 6; 7 9 4; 1 6 3] >> B = [10 6 32; 5 3 7; 12 8 9]


A= B=

3 4 6 10 6 32
7 9 4 5 3 7
1 6 3 12 8 9

>> A/B >> A*inv(B)


ans = ans =

1.2917 -8.5833 2.7500 1.2917 -8.5833 2.7500


2.2778 -17.5556 6.0000 2.2778 -17.5556 6.0000
3.0139 -22.0278 6.7500 3.0139 -22.0278 6.7500
EXEMPLO DE OPERAÇÕES - MATRIZES
Operações de matrizes: divisão A(i,j). / B(i,j)

>> A = [3 4 6; 7 9 4; 1 6 3] >> B = [10 6 32; 5 3 7; 12 8 9]


A= B=

3 4 6 10 6 32
7 9 4 5 3 7
1 6 3 12 8 9

>> A./B
ans =

0.3000 0.6667 0.1875


1.4000 3.0000 0.5714
0.0833 0.7500 0.3333
Exercícios de operação com matrizes
C=
1 2 8 7
7 6 0 9
8 7 6 5
3 4 5 6

Exercício 1: Dada uma matriz quadrada C, obter a sua matriz


inversa e a sua matriz transposta

Exercício 2: Dada uma matriz coluna A com 3 elementos e uma


matriz linha B com 4 elementos, obter o produto matricial C. Que
tamanho tem essa matriz C? Utilizar o comando rand para gerar
as matrizes.
Exercícios de operação com matrizes

Exercício 3: Gerar uma matriz de 6 linhas e 6 colunas com


valores aleatórios entre 1 e 10, usando as funções básicas.
Exercício 4: Da matriz do exercício 4.
Checar os elementos de todas as colunas da primeira linha
Soma os elementos da primeira e terceira linha
Subtrair o quadrado dos elementos da primeira linha com os
elementos da primeira coluna.
Respostas
>> C = ceil (10*rand(6,6)) >> C(1,:); %Elemento da primeira linha
ans =
C= 4 8 3 9 1 5
>> C(1,:) + C(3,:) % soma dos
elementos da primeira e da terceira
4 8 3 9 1 5
linha
8 10 3 2 10 3
ans =
6 6 9 3 6 6
10 14 12 12 7 11
5 9 8 7 5 8 >> C(1,:).^2 - C(:,3)'.^2 % diferença
7 2 2 3 6 6 entre os quadrados da primeira linha e
a terceira coluna.
7 10 1 5 4 7
ans =
7 55 -72 17 -3 24

Você também pode gostar