MESTRADO EM MACROECONOMIA e FINANÇAS Disciplina de Computação Aula 05 Prof. Dr. Marco Antonio Leonel Caetano 1 Guia de Estudo para Aula 05 •Produto Vetorial - Interpretação do produto vetorial Comparação com as funções do Matlab - Determinação do produto vetorial com a função do matlab Exercícios - Produto vetorial - Gráfico em 3D - Auto valores e autovetores. - Abrir e fechar arquivos em matlab. Objetivos da Aula - Compreender vetores em matlab. - Entender produto vetorial - Aprender a fazer gráficos em 3D. - Aprender autovalor de uma matriz. - Aprender autovetor de uma matriz. - Aprender a salvar e ler arquivos dentro do matlab. 2 Propriedade da soma de matrizes A soma de matrizes se realiza somando todos os componentes correspondentes da mesma posição. C=A+B Significa que cij = aij + bij ⎛ c11 c12 ⎞ ⎛ a11 ⎜⎜ ⎟⎟ = ⎜⎜ ⎝ c21 c22 ⎠ ⎝ a21 onde a12 ⎞ ⎛ b11 b12 ⎞ ⎟⎟ + ⎜⎜ ⎟⎟ a22 ⎠ ⎝ b21 b22 ⎠ c11 = a11 + b11 c12 = a12 + b12 c21 = a21 + b21 c22 = a22 + b22 Observação: A mesma propriedade vale para a subtração de matrizes 3 Exercício Fazer um programa usando “for” para soma duas matrizes quaisquer quadrada de tamanho n. Compare o resultado com a função “+” do Matlab. 4 r r r z = x∧y O Produto Vetorial r z 1.5 1 k r x 0.5 r y 0 0 0.2 2 1.5 1 0.4 0.5 0.6 0.8 i 1 j 0 5 O Produto Vetorial r r r F =V ∧ B k j i 6 Definição Algébrica de Produto Vetorial Chama-se produto vetorial entre dois vetores de 3 componentes nas direções i, j e k ⎛x ⎞ r ⎜ 1⎟ r r r x = x1i + x2 j + x3 k = ⎜ x2 ⎟ ⎜x ⎟ ⎝ 3⎠ ⎛ y1 ⎞ r r r ⎜ ⎟ r y = y1i + y2 j + y3 k = ⎜ y2 ⎟ ⎜y ⎟ ⎝ 3⎠ O vetor resultante da seguinte operação: r r x2 x∧y= y2 x3 r x3 i+ y3 y3 x1 r x1 j+ y1 y1 x2 r k y2 Obs: | ... | significa determinante. 7 Exemplo Calcular o produto vetorial dos seguintes vetores x e y: ⎛ 1 ⎞ ⎛2⎞ r ⎜ ⎟ r ⎜ ⎟ x =⎜ 1 ⎟ e y=⎜ 3 ⎟ ⎜ − 2⎟ ⎜ − 1⎟ ⎝ ⎠ ⎝ ⎠ Componente i: 1 −1 = −2 + 3 = 1 3 −2 Componente j: 2 −1 = −4 + 1 = −3 1 −2 Componente k: 2 1 = 6 −1 = 5 1 3 8 Solução Gráfica Z 5 4 3 2 1 Y 0 X -1 -2 0 3 2 0.5 1 1 1.5 2 0 9 Exercício Fazer um programa em matlab onde o usuário fornece as 3 componentes de dois vetores e o programa gera o vetor resultante do produto vetorial 10 A função do Matlab para produto vetorial Cross( x , y ) Essa função fornece diretamente o produto vetorial de dois vetores x e y. 11 A função Plot3 Essa função permite fazer gráficos em 3D para 3 conjuntos de pontos Representando os eixos x, y e z. Plot3( x , y, z , ‘tipo de curva’ ) Exemplo cria grade de pontos no gráfico 12 Resultado 6 5 4 3 2 1 40 30 6 5 20 4 3 10 2 0 1 13 Girando o gráfico Rotacionar os eixos 14 Marca o Azimute e Elevação 15 Exercício Modificar o programa feito em aulas anteriores para a visualização de vetores em 2D para a visualização de vetores em 3D usando a função plot3. O programa deverá pedir as componentes de dois vetores x e y e gerar o terceiro vetor através do produto vetorial. No final deverá plotar os 3 vetores. 16 Solução Produto vetorial 17 Teste ⎛ 1 ⎞ ⎛2⎞ ⎟ ⎜ r r ⎜ ⎟ x =⎜ 1 ⎟ e y=⎜ 3 ⎟ ⎜ − 2⎟ ⎜ − 1⎟ ⎝ ⎠ ⎝ ⎠ Solução ⎛1⎞ r r ⎜ ⎟ x ∧ y = ⎜ 3⎟ ⎜ 5⎟ ⎝ ⎠ 6 4 2 0 -2 3 2 2 1.5 1 1 0.5 0 0 18 Autovalores Seja o sistema linear: r r Ax = λx Fornecida a matriz A, se existir um λ que permita a solução para O sistema linear acima, esse λ é chamado de autovalor ou valor característico da matriz A. Autovetores Fornecida a matriz A, o vetor x solução do sistema linear acima é conhecido como autovetor ou vetor característico associado a λ 19 Determinando os Autovalores Para encontrar a solução de r r Ax = λx É o mesmo que encontrar a solução do sistema: r r Ax − λx = 0 Ou seja, deseja-se achar lambda e x que satisfaçam: r ( A − λ .I ) x = 0 Onde I é a matriz indentidade. Para o sistema acima ter solução além da trivial (0,0,...,0) é necessário que det( A − λ .I ) = 0 Para encontrar os autovalores “lambda”, deve-se encontrar as raízes Do polinômio que se forma, conhecido como polinômio característico. 20 Exemplo Determinar os autovalores da matriz abaixo. ⎛3 2 ⎞ ⎟⎟ A = ⎜⎜ ⎝3 − 2⎠ O polinômio característico será: det( A − λI ) = 0 ⎛⎛3 2 ⎞ ⎛1 0⎞⎞ ⎟⎟ − λ ⎜⎜ ⎟⎟ ⎟⎟ = 0 ⇒ det⎜⎜ ⎜⎜ ⎝⎝3 − 2⎠ ⎝ 0 1⎠⎠ 2 ⎞ ⎛3 − λ ⎟⎟ = 0 ⇒ det⎜⎜ −2−λ⎠ ⎝ 3 ⇒ (3 − λ )(− 2 − λ ) − 6 = 0 ⇒ λ2 − λ − 12 = 0 Polinômio característico 21 As raízes e portanto os autovalores, do polinômio característico são: λ1 = 4 λ2 = −3 Exercício Encontrar os autovalores da matriz ⎛ 3 2⎞ ⎟⎟ A = ⎜⎜ ⎝4 1⎠ Solução λ1 = 5 λ2 = −1 22 Determinando os Autovetores Para encontrar os autovetores para os autovalores, substitui-se os autovalores encontrados no sistema inicial e determina-se quais são os valores múltiplos das componentes para uma solução não trivial. Exemplo ⎛3 2 ⎞ ⎟⎟ A = ⎜⎜ ⎝3 − 2⎠ Os autovalores da matriz foram λ1 = 4 e λ2 = −3 Substituindo o autovalor λ1 = 4 no sistema original ⎛ −1 2 ⎞ ⎟⎟ A − 4.I = ⎜⎜ ⎝ 3 − 6⎠ Deve-se resolver então a equação ( A − λI )xr = 0 23 Solução r ( A − λI ) x = 0 ⎛ − 1 2 ⎞ ⎛ x1 ⎞ ⎟⎟.⎜⎜ ⎟⎟ = 0 ⇒ ⎜⎜ 3 6 − ⎝ ⎠ ⎝ x2 ⎠ ⎧ − x + 2 x2 = 0 ⇒⎨ 1 ⎩ 3 x1 − 6 x2 = 0 Colocando x1 em função de x2 tem-se: Logo, x1 = 2x2 r ⎛ x1 ⎞ ⎛ 2 x2 ⎞ ⎛ 2 ⎞ ⎟⎟ = ⎜⎜ ⎟⎟ x2 x = ⎜⎜ ⎟⎟ = ⎜⎜ ⎝ x 2 ⎠ ⎝ x2 ⎠ ⎝ 1 ⎠ Para qualquer valor de x2 diferente de zero (solução trivial) tem-se Que um novo vetor será associado ao vetor ( 2 1 )T. Portanto o Autovetor do autovalor 4 será: r ⎛ 2⎞ v = ⎜⎜ ⎟⎟ ⎝1⎠ 24 Exercício Calcular o autovetor da matriz anterior para o autovalor Solução λ2 = −3 r ( A + 3I ) x = 0 ⎛ 6 2⎞ r ⎟⎟ x = 0 ⇒ ⎜⎜ ⎝3 1⎠ ⎧6 x1 + 2 x2 = 0 ⇒⎨ ⎩ 3 x1 + x2 = 0 Da primeira equação tem-se: - 3x1 = x2 Logo, r ⎛x ⎞ ⎛ x ⎞ ⎛ 1 ⎞ x = ⎜⎜ 1 ⎟⎟ = ⎜⎜ 1 ⎟⎟ = ⎜⎜ ⎟⎟ x1 ⎝ x2 ⎠ ⎝ − 3 x1 ⎠ ⎝ − 3 ⎠ Portanto o autovetor será: vr = ⎛⎜ − 1⎞⎟ ⎜3⎟ ⎝ ⎠ 25 Funções autovalores e autovetores no matlab Sendo x um vetor, o autovalor e seu autovetor associado podem serem encontrados no matlab pelo comando: [v,d] = eig(x) autovetores autovalores Exemplo ⎛3 2 ⎞ ⎟⎟ A = ⎜⎜ ⎝3 − 2⎠ autovetor autovalor 26 Outra forma Nomaliza o resultado entre 0 e 1. 2 1 -1 3 27 Salvando e Lendo os resultados de programas •Para salvar os resultados: Comando save nome_do_arq var -ascii Exemplo: Salva a matriz A no arquivo “dados.dat” em formato ascii. •Para Ler os dados de um arquivo: load nome_do_arquivo 28 Lendo arquivo e transformando em vetor e matriz •Os dados podem ser salvos em colunas de matriz. •A matriz pode ser salva num arquivo *.txt Exemplo 29 Ao ler dentro de um programa, o matlab transforma o nome do arquivo em matriz ou vetor. 30 res aqui é matriz e não mais o arquivo res.txt 31