1 / 38

MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com

MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: www.ifba.edu.br/professores/lissandro. EQUAÇÕES ALGÉBRICAS LINEARES E MATRIZES 1) NOTAÇÃO MATRICIAL

bela
Download Presentation

MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB Professor: Lissandro Brito Viena e-mail: lissandroviena@gmail.com vienalissandro@yahoo.com.br Site: www.ifba.edu.br/professores/lissandro

  2. EQUAÇÕES ALGÉBRICAS LINEARES E MATRIZES 1) NOTAÇÃO MATRICIAL Uma matriz consiste de um arranjo retangular de elementos. A matriz que tem “m” linhas e “n” colunas tem dimensão m x n. A matriz que possui apenas linhas ou colunas, é denominada de vetor linha ou vetor coluna respectivamente.

  3. EQUAÇÕES ALGÉBRICAS LINEARES E MATRIZES Exemplo de matriz linha denominada de vetor linha: Exemplo de matriz coluna denominada de vetor coluna: Matriz quadrada é aquela que o número de linhas é igual ao número de colunas. (m = n). Matrizes quadradas são importantes no momento da resolução de um conjunto equações algébricas lineares. Para tais sistemas, o número de equações (linhas) e o número de variáveis (colunas)

  4. Matrizes quadradas são importantes no momento da resolução de um conjunto equações algébricas lineares. Para tais sistemas, o número de equações (linhas) e o número de variáveis (colunas) devem ser iguais para que exista apenas uma solução. Matriz simétrica: é uma matriz do tipo quadrada em que os elementos aij = aji. Matriz diagonal: é uma matriz do tipo quadrada em que todos os elementos fora da diagonal principal são nulos. Matriz identidade: matriz diagonal em que os elementos da diagonal principal são iguais a 1.

  5. Matriz triangular superior: é aquela matriz em que os elementos abaixo da diagonal principal são nulos. Matriz triangular inferior: é aquela matriz em que os elementos acima da diagonal principal são nulos. Para saber a dimensão de uma matruz no MATLAB usa-se o seguinte comando (size): [m, n] = size(matriz) Representando equações algébricas lineares na forma matricial Considere o sistema 3 x 3 abaixo:

  6. Representando equações algébricas lineares na forma matricial Considere o sistema 3 x 3 abaixo: O sistema acima pode ser representado pela seguinte notação: A matriz é denominada de matriz dos coeficientes, a matriz b consiste de um vetor coluna de constantes e a matriz x consiste de um vetor coluna de variáveis.

  7. Representando equações algébricas lineares na forma matricial Uma forma de resolver esse sistema é multiplicar ambos lados pela inversa da matriz dos coeficientes: Para resolver equações algébricas lineares com MATLAB aplica-se o seguinte comando: A segunda forma é usar matriz inversa:

  8. NOÇÕES SOBRE ELMINAÇÃO DE GAUSS Para explicar o procedimento de resolver equações algébricas lineares pela eliminação de Gauss, o exemplo seguinte será usado: O primeiro passo na solução do sistema é multiplicar a primeira equação por 0,1/3 e subtraia da segunda, resultando em: Ao multiplicar a primeira equação por 0,3/3 e subtrair da última equação resulta no seguinte sistema:

  9. NOÇÕES SOBRE ELMINAÇÃO DE GAUSS Para completar a operação, x2 deve ser removida da terceira equação restando apenas x3 que pode ser encontrada facilmente. Após isso, é necessário retornar nas outras equações para calcular as outras variáveis.

  10. NOÇÕES SOBRE ELMINAÇÃO DE GAUSS Após isso, é necessário retornar nas outras equações para calcular as outras variáveis. function [a_ampliada,x] = eliminagauss_lissandro(a,b) % a- matriz dos coeficientes % b - matriz dos termos independentes % x- vetor das variáveis [m,n]=size(a); nb=n+1; a_ampliada=[a b]; for k=1:(n-1) for h=(k+1):(n) a_ampliada(h,k:nb)=((a_ampliada(h,k))/(a_ampliada(k,k)))*a_ampliada(k,k:nb)- a_ampliada(h,k:nb); end end x=zeros(n,1); % define inicialmente um vetor solução de zeros, para depois serem atualizados % serve também para estabelecer que o vetor solução é do tipo coluna x(n)=a_ampliada(n,nb)/a_ampliada(n,n); for l=n-1:-1:1 for g =((l+1):n) x(l)=(a_ampliada(l,nb))/(a_ampliada(l,l))-((a_ampliada(l,l+1:n))*x(l+1:n))/((a_ampliada(l,l))); end end

  11. MÉTODOS ITERATIVOS Os métodos iterativos ou métodos aproximados constituem um caminho alternativo aos métodos de eliminação. Sistemas lineares – Gauss Seidel É o método iterativo mais comumente usado para resolver equações algébricas lineares. Assuma que foi fornecido um conjunto de n equações na forma: Para entender melhor esse método, limitaremos o sistema a 3 x 3:

  12. MÉTODOS ITERATIVOS Se os elementos da diagonal são todos não nulos, a primeira equação pode ser resolvida para x1, a segunda equação para x2, e a terceira para x3.

  13. MÉTODOS ITERATIVOS Em que j e j-1 são iteração atual e a anterior respectivamente. Para começar o processo uma estimativa “chute” inicial deve dado para o valor das variáveis. Uma aproximação simples é considerar que todos valores são nulos. Para a convergência é necessário que: Exemplo prático: Use o método de Gauss Seidel para obter a solução do seguinte sistema:

  14. MÉTODOS ITERATIVOS A solução para o sistema é:[3 -2.5 7] Solução: Inicialmente deve-se resolver cada equação para variável da diagonal principal.

  15. MÉTODOS ITERATIVOS Assumindo x2 e x3 iguais a zero e substituindo na primeira equação para calcular a variável x1 . O valor acima juntamente com o valor definido para x3, encontra-se a variável x2. A primeira iteração é finalizada substituindo os valores x1 e x2 para o cálculo de x3. O slide seguinte mostra o cálculo.

  16. MÉTODOS ITERATIVOS O valor da variável x3 pode ser calculado da seguinte forma: Para a segunda iteração, tem-se que:

  17. MÉTODOS ITERATIVOS Para a segunda iteração, tem-se que: • O valor da variável x2 na segunda iteração:

  18. MÉTODOS ITERATIVOS O valor da variável x3 na segunda iteração: OBS: A CADA NOVO VALOR DE “x” CALCULADO PELO MÉTODO DE GAUSS-SEIDEL É IMEDIATAMENTE USADO NA PRÓXIMA EQUAÇÃO PARA ENCONTRAR O OUTRO VALOR DE “x”.

  19. MÉTODOS ITERATIVOS

  20. MÉTODOS ITERATIVOS %BIBLIOTECA DE FUNÇÕES DO MATLAB COM AS RESPECTIVAS APLICAÇÕES % error - função matlab que mostra uma mensagem de erro e cancela a função % nargin - número de argumentos de entrada de uma determinada função. O % nargin retorna o número de argumentos de entrada que foi usado para % chamar a função. % nargout - retorna o número de argumentos de saída da função. % isempty - isemty(y) retorna 1 se y é um array sem elemento e 0 caso % contrário ifnargin<2 error('pelo menos dois argumentos de entrada são necessários') end ifnargin <4 || isempty(maxit) maxit=50; end ifnargin<3 ||isempty(es) es = 0.00001; end

  21. MÉTODOS ITERATIVOS for i=1:n c(i,1:n)=c(i,1:n)/a(i,i); end iter = 0; ea=1; % formatlong whileea>=es xvelho=x; for i=1:n x(i)=d(i)-c(i,:)*x; if x(i)~=0 ea(i)=abs(x(i)-xvelho(i)); end iter=iter+1; end x end [m,n]=size(a); if m~=n error('a matriz deve ser quadrada') end c=a; % x=xp; for i =1:n c(i,i)=0; x(i)=0; end x=x'; for i=1:n d(i)=b(i)/a(i,i); end

  22. MÉTODOS ITERATIVOS MÉTODO DE NEWTON-RAPHSON A expansão em série de Taylor de primeira ordem é dada por: A equação acima corresponde ao método de Newton Raphson para apenas uma equação. Estimativa inicial Equivale ao ponto em que ocorre a intersecção com eixo x. Nesse ponto f(xi+1) = 0.

  23. MÉTODO DE NEWTON-RAPHSON

  24. MÉTODO DE NEWTON-RAPHSON Na forma vetorial as equações ficam da seguinte maneira: Podemos resolver a equação acima para (x1, x2).

  25. MÉTODO DE NEWTON-RAPHSON A seguir a notação resumida: Em que é a matriz jacobiana das funções do sistema de equações algébricas. Podemos também fazer as seguintes considerações sobre o método de Newton. Considere a solução de uma equação de uma única variável dada por:

  26. MÉTODO DE NEWTON-RAPHSON Se xo é a estimativa inicial da solução e é um pequeno desvio da solução correta, então: Expandindo o lado esquerdo da equação por série de Taylor, tem-se que: Assumindo um erro muito pequeno resulta que: Em que:

  27. MÉTODO DE NEWTON-RAPHSON O algoritmo de Newton Raphson é então colocado abaixo: Para ilustrar a aplicação do método de Newton-Raphson, o seguinte exemplo será utilizado:

  28. MÉTODO DE NEWTON-RAPHSON Inicialmente calcula-se a derivada da função:

  29. MÉTODO DE NEWTON-RAPHSON O resultado no final da primeira iteração é: As iterações subsequentes resultam em:

  30. MÉTODO DE NEWTON-RAPHSON Agora considere o problema que envolve uma quantidade maior de variáveis:

  31. MÉTODO DE NEWTON-RAPHSON Aplicando série de Taylor e desprezando os termos de ordem elevada resulta em: Colocando na forma matricial:

  32. MÉTODO DE NEWTON-RAPHSON Colocando na forma matricial: Numa forma mais compacta, a notação seguinte torna-se mais apropriada.

  33. MÉTODO DE NEWTON-RAPHSON Colocando na forma matricial: A atualização das variáveis é feita da seguinte maneira:

  34. MÉTODO DE NEWTON-RAPHSON Em que: - MATRIZ JACOBIANA

  35. MÉTODO DE NEWTON-RAPHSON Exemplo de aplicação do método de Newton-Raphson 1) Encontre a solução do seguinte sistema de equações Passo 1: Construção da matriz jacobiana Passo 2: Preparar o algoritmo

  36. MÉTODO DE NEWTON-RAPHSON Exemplo de aplicação do método de Newton-Raphson deltax=1; % incremento da variável é ajustado em um valor alto x=input('Entre com a estimativa inicial -> '); iter = 0; disp(' iter deltac j deltax x') whileabs(deltax)>0.0001 & iter<100 iter=iter+1; deltac=0-(x^3-6*x^2+9*x-4); j=3*x^2-12*x+9; deltax=deltac/j; x=x+deltax; % fprintf('%g', iter) disp([iter , deltac, j, deltax, x]) end

  37. MÉTODO DE NEWTON-RAPHSON Exemplo de aplicação do método de Newton-Raphson iter = 0; x=input('Entre com a estimativa inicial da solução - vetor coluna x=[x1;x2] - > '); deltax=[1;1]; c=[4;1]; disp('iter deltac jacobiana deltax x') whilemax(abs(deltax))>=0.0001 & iter<10 iter=iter+1; f=[x(1)^2+x(2)^2; exp(x(1))+x(2)]; deltac=c-f; j=[2*x(1) 2*x(2);exp(x(1)) 1]; deltax=j\deltac; x=x+deltax; fprintf('%g', iter) disp([ deltac, j, deltax, x]

  38. MÉTODO DE NEWTON-RAPHSON Exemplo de aplicação do método de Newton-Raphson Atividade: Partindo com valores iniciais x1, x2, x3 resolva o seguinte sistema de equações pelo método de Newton Raphson:

More Related