Baixe o app para aproveitar ainda mais
Prévia do material em texto
MATLAB Básico – Autoria: Família Carielo Escola Técnica LEIAUT Cariele Av. Governador Carlos de Lima Cavalcante, nº 168 – Derby / Recife - PE Rua Joaquim Felipe, nº 119 – Boa Vista/ Recife - PE 61 SISTEMAS LINEARES Considere o sistema linear abaixo: Esse sistema pode ser escrito na forma de matrizes, como Ax = b. Frequentemente, precisamos resolver problemas na forma Ax = b, em que A é uma matriz quadrada, formada pelos coeficientes a11 até ann. Além disso, x e b são vetores coluna, em que x é um vetor formado pelas variáveis a serem determinadas x1,x2,...,xn e b é o vetor de termos independentes b1, b2, ..., bn. Será explicado agora uma forma de resolver um sistema linear, através do exemplo abaixo. X1+4x2+3x3 = 1 2x1+5x2+4x3 = 4 X1-3x2-2x3 = 5 Lembre-se que esse sistema linear pode ser representado do seguinte modo: 1 4 3 2 5 4 1 −3 −2 . 𝑥1 𝑥2 𝑥3 = 1 4 5 Matriz A Vetor x Vetor b Para isso, siga os passos abaixo: 1º Passo: Na Janela de Comandos, digite A = [1 4 3; 2 5 4; 1 -3 -2]; e pressione Enter. 2º Passo: Digite b = [1;4;5]; e pressione Enter. 3º Passo: Digite x= inv(A)*b e pressione Enter. 5º Módulo do MATLAB Básico MATLAB Básico – Autoria: Família Carielo Escola Técnica LEIAUT Cariele Av. Governador Carlos de Lima Cavalcante, nº 168 – Derby / Recife - PE Rua Joaquim Felipe, nº 119 – Boa Vista/ Recife - PE 62 Observe que apareceu x = 3.0000 -2.0000 2.0000 Assim, pode-se calcular a solução do sistema diretamente, usando os comandos x = A\b ou x = inv(A)*b. Ambos os comandos fazem a multiplicação da matriz inversa de A por b. Para treinar ainda mais, siga os passos abaixo: 1º Passo: Na Janela de Comandos, digite A = [ 5 1 -2; 3 -9.4 1.8; 1 2.2 4.6] e pressione Enter. Observe que apareceu A = 5.0000 1.0000 -2.0000 3.0000 -9.4000 1.8000 1.0000 2.2000 4.6000 2º Passo: Digite b = [ 10; 22; 10] e pressione Enter. Observe que apareceu b = 10 22 10 3º Passo: Digite x = inv(A)*b e pressione Enter. Observe que apareceu x = 3 -1 2 4º Passo: Digite x = A\b e pressione Enter. Observe que apareceu o mesmo resultando de x = inv(A)*b, já que é apenas outra forma de se calcular essa operação. Observação: Não apague a sua lista de variáveis, pois continuaremos utilizando-as. MATLAB Básico – Autoria: Família Carielo Escola Técnica LEIAUT Cariele Av. Governador Carlos de Lima Cavalcante, nº 168 – Derby / Recife - PE Rua Joaquim Felipe, nº 119 – Boa Vista/ Recife - PE 63 DECOMPOSIÇÃO LU Em álgebra linear, a decomposição LU (do inglês, lower e upper) é uma forma de fatoração de uma matriz invertível como o produto de uma matriz triangular inferior (lower), em que todos os elementos acima da diagonal principal são nulos, e uma matriz triangular superior (upper), em que todos os elementos abaixo da diagonal principal são nulos. Sabe-se ainda, da álgebra linear, que se for possível encontrar a decomposição LU de uma matriz A, é possível resolver o sistema Ax = b da seguinte forma: Ax = b Como A = LU, temos que: LUx = b Sendo y = Ux, obtemos: Ly = b Para encontrarmos a decomposição LU de uma matriz A no MATLAB, devemos primeiramente utilizar o comando [L U] = lu(A). Para treinar a decomposição LU no MATLAB, siga os passos abaixo: 1º Passo: Na Janela de Comandos, digite [L U] = lu(A) e pressione Enter. Observe que apareceu L = 1.0000 0 0 0.6000 1.0000 0 0.2000 -0.2000 1.0000 Perceba o resultado de L. Todos os elementos acima da diagonal principal são nulos. U = 5.0000 1.0000 -2.0000 0 -10.0000 3.0000 0 0 5.6000 Perceba o resultado de U. Todos os elementos abaixo da diagonal principal são nulos. MATLAB Básico – Autoria: Família Carielo Escola Técnica LEIAUT Cariele Av. Governador Carlos de Lima Cavalcante, nº 168 – Derby / Recife - PE Rua Joaquim Felipe, nº 119 – Boa Vista/ Recife - PE 64 2º Passo: Digite y = L\b e pressione Enter. Observe que apareceu y = 10.0000 16.0000 11.2000 3º Passo: Digite x = U\y e pressione Enter. Observe que apareceu x = 3 -1 2 Observação: Perceba que o resultado foi o mesmo que o encontrado no 3º e no 4º passo da página 62. Observação: Não apague sua lista de variáveis, pois continuaremos usando-as. FUNÇÃO “linsolve” 1º Passo: Digite x = linsolve(A,b) e pressione Enter. Observe que apareceu x = 3 -1 2 Perceba que você obteve o mesmo resultado que no caso anterior. EXERCÍCIO Sabe-se que Ax = b, em que A é uma matriz quadrada 3x3 e tanto b, quanto x, são vetores coluna, sendo b um vetor dos termos independentes e x, das incógnitas. Assim, aplique o método LU para encontrar a solução do sistema linear. MATLAB Básico – Autoria: Família Carielo Escola Técnica LEIAUT Cariele Av. Governador Carlos de Lima Cavalcante, nº 168 – Derby / Recife - PE Rua Joaquim Felipe, nº 119 – Boa Vista/ Recife - PE 65 Matriz A: 5 2 1 3 6 -2 2 -4 10 Vetor b: 8 7 8 1º Passo: Na Janela de Comandos, digite A = [ 5 2 1; 3 6 -2; 2 -4 10]; e pressione Enter. 2º Passo: Digite B = [ 8; 7; 8]; e pressione Enter. 3º Passo: Digite [ L U] = lu (A) pressione Enter. L = 1.0000 0 0 0.6000 1.0000 0 0.4000 -1.0000 1.0000 U = 5.0000 2.0000 1.0000 0 4.8000 -2.6000 0 0 7.0000 4º Passo: Digite x = U\(L\b) e pressione Enter. x = 1.0000 1.0000 1.0000 MATLAB Básico – Autoria: Família Carielo Escola Técnica LEIAUT Cariele Av. Governador Carlos de Lima Cavalcante, nº 168 – Derby / Recife - PE Rua Joaquim Felipe, nº 119 – Boa Vista/ Recife - PE 66 EXERCÍCIO Resolva a questão anterior, utilizando “inv”, a fim de encontrar o mesmo resultado. Em seguida, encontre o mesmo resultado usando A\b. EXERCÍCIO 1- Sabe-se que Ax = b, em que “A” é uma matriz quadrada 3x3 e “b” e “x” são vetores coluna, sendo “b” um vetor dos termos independentes e “x”, das incógnitas. Matriz A = 1.0001 1 1 1 Vetor b = 2 2 Teste a solução com: a) inv(A)*b Resposta encontrada: b) A\b Resposta encontrada: c) Método LU Resposta encontrada: d) Função linsolve Resposta encontrada: MATLAB Básico – Autoria: Família Carielo Escola Técnica LEIAUT Cariele Av. Governador Carlos de Lima Cavalcante, nº 168 – Derby / Recife - PE Rua Joaquim Felipe, nº 119 – Boa Vista/ Recife - PE 67 2- Mantenha o valor da matriz A, mas modifique o valor da matriz b para b = 2.0001 2 Teste a solução com: a) inv(A)*b Resposta encontrada: b) A\b Resposta encontrada: c) Método LU Resposta encontrada: d) Função linsolve Resposta encontrada: Observação: Você deve ter percebido que uma mudança pequena no valor de b da primeira questão para a segunda mudou completamente a solução.
Compartilhar