Elementos de Análise Numérica Prof. Carlos Ruberto Fragoso Júnior Prof. Marllus Gustavo Ferreira Passos das Neves Solução de problemas de Engenharia Sem computador Formulação Com computador Formulação Solução Solução Interpretação Interpretação Antes Problemas com equações conhecidas, mas sem condições de serem trabalhadas Tópicos Aproximação ou Ajuste de curvas Integração numérica Derivadas numéricas Raízes de equações Sistemas de equações lineares Sistemas de equações não lineares Aplicações em Recursos Hídricos Raizes da equação de manning Canal prismático Canal com seção dada em tabela Equação de remanso Solução da equação para encontrar Dx ideal para muskingun cunge (propagação de vazões) Solução da propagação de reservatório usando Newton Aproximação ou ajustes de curvas Três aplicações Extrair informações de dados problemas de previsão de população, por exemplo Estudo de Leis ou funções que relacionem duas variáveis ambientais largura do rio em função da área da bacia de aporte; área impermeável em função da densidade habitacional, volume em função da cota em um reservatório,... Achar funções mais simples de se trabalhar do que a função proposta Aproximação ou ajustes de curvas Duas classes de métodos Interpolação consideramos os dados precisos a curva de ajuste coincidirá com os pontos dados 3,5 Dados 3,0 2,5 Interpolação 2,0 1,5 1,0 Quadrados mínimos 0,5 0,0 0,0 1,0 2,0 3,0 4,0 Método dos quadrados mínimos leva-se em consideração erros introduzidos na obtenção dos dados Interpolação linear A forma mais simples de interpolação é a interpolação linear, em que dois pontos são unidos por uma linha reta volume Aproximação f ( x) f ( x0 ) f ( x1 ) f ( x0 ) ( x x0 ) x1 x0 x cota Interpolação quadrática Encontra uma parábola que aproxima 3 dados consecutivos f ( x) b0 b1 x x0 b2 x x0 ( x x1 ) volume Aproximação x cota Interpolação Aproximação De forma geral Temos n+1 pontos (x0,y0), ..., (xn, yn), onde x0 ≠ x1 ≠ ... ≠ xn Conhecemos y0 = f(x0), ..., yn = f(xn) Gostaríamos de encontrar o polinômio p(x) tal que p(x0) = f(x0), ..., p(xn) = f(xn) polinômio interpolador 3,5 9 pontos 3,0 2,5 A função f é conhecida em todos eles 2,0 1,5 1,0 0,5 0,0 0,0 1,0 2,0 3,0 4,0 Interpolação Aproximação O que a matemática garante? 3,5 3,0 2,5 2,0 1,5 1,0 0,5 0,0 0,0 1,0 2,0 3,0 4,0 Interpolação Aproximação O que a matemática garante? Seja f(x) uma função conhecida nos n+1 pontos distintos x0, x1, x2,..., xn. Existe um único polinômio p(x), de grau menor ou igual a n, tal que p(xi) = f(xi) para i = 0, 1, 2, ..., n Parábola (n = 2) mínimo 3 pontos Polinômio de grau 8 mínimo de 9 pontos Splines Aproximação Funções polinomiais “por partes” Splines As “partes” fazem parte de uma partição devido aos pontos interpolados Ao se escolher, por exemplo, Splines cúbicos (ordem 3), fazemos uma “colagem” de polinômios de grau 3 em cada subintervalo do intervalo que caracteriza a partição Splines Interpolação numérica Splines Interpolação numérica Alguns softwares de planilha usam splines cúbicos para suavizar linhas de gráficos 48 46 44 42 40 38 36 34 32 30 0 20 40 60 80 100 120 140 Existem rotinas prontas em praticamente qualquer linguagem para interpolação com polinômios e splines Calculadora, Matlab, Excel, etc… Splines Interpolação numérica Os splines cúbicos podem causar alguns problemas. Quadrados mínimos Em alguns casos é necessário gerar funções que aproximam razoavelmente um conjunto de dados. Ao contrário da interpolação, no ajuste não é necessário respeitar todos os pontos. A idéia é minimizar os erros com uma função simples. 3,5 3,0 2,5 2,0 1,5 1,0 0,5 0,0 0,0 1,0 2,0 3,0 4,0 Quadrados mínimos Ajuste – exemplo em simulação Relação entre largura de um rio e área de drenagem obtida a partir de seções transversais em locais de postos fluviométricos da ANA 300 250 Utilizada para calcular os parâmetros do modelo Muskingum Cunge em locais sem dados 200 Largura do rio (m) 150 100 50 0 Brio 3.2466 A 0.4106 bacia 0 5000 10000 15000 Área da bacia (km2) 20000 25000 30000 Quadrados mínimos Ajuste – exemplo em simulação Curva chave de um posto pluviométrico é um ajuste de uma equação pré-determinada aos dados de medição de vazão. Integração numérica Quando utilizar? quando é necessário obter informações de área molhada e raio hidráulico de uma seção transversal de um rio, definida por pares de pontos x e y Também surgem quando é necessário discretizar uma função analítica contínua, de forma que sua área seja mantida Integração numérica 48 46 44 42 40 38 36 34 32 30 0 20 40 60 80 100 120 140 Idéia básica da integração numérica aproximação da função por um polinômio Matlab Interpolação 1D função interp1 Métodos: 'nearest' - vizinho mais próximo, 'linear‘, 'spline' - spline cúbico .... yi = interp1(x,Y,xi) Integração numérica Procura-se desenvolver fórmulas de integração do tipo: Pesos da fórmula de integração b n f ( x)dx w f ( x ) a i 0 i i a x0 x1 ... xn b Pontos de integração Integração numérica O uso desta técnica decorre do fato de: por vezes, f(x) ser uma função muito difícil de integrar, contrariamente a um polinômio; a única informação sobre f(x) ser um conjunto de pares ordenados Fórmulas de Newton-Cotes. Regra do Trapézio simples, x0=a e xn=b; Regra do Trapézio composta, x0=a e xn=b; Regra de Simpson , x0=a e xn=b. Integração numérica Fórmulas de Newton-Cotes Usam pontos de integração igualmente espaçados (a,b) intervalo de integração b a xn x0 h n n Usa-se um polinômio de grau n, escrito pela fórmula de Lagrange, que interpola os (n+1) pontos [xi, f(xi)] i = 0, 1, 2, …, n Integração numérica b Fórmulas de Newton-Cotes n f ( x)dx w f ( x ) a i 0 i i ( x x0 ) ... ( x xi 1 ) ( x xi 1 ) ... ( x xn ) wi li ( x)dx dx ( x1 x0 ) ... ( xi xi 1 ) ( xi xi 1 ) ... ( xi xn ) a a b b n = 1 fórmula w ( x x0 ) dx 0 a ( x0 x1 ) dos trapézios b x1 x0 h f ( x)dx f ( x0 ) f ( x1 ) 2 ( x x0 ) w1 dx ( x1 x0 ) a b Regra do trapézio simples f(x) x1 x0 h f ( x)dx f ( x0 ) f ( x1 ) 2 f(x1) f(x0) I b a f a f b 2 x0 x1 x Aproxima a área sob a curva pela área de um trapézio Regra do trapézio simples Intervalo [a, b] relativamente pequeno aproximação do valor da integral é aceitável Intervalo [a, b] de grande amplitude aproximação inadequada pode-se subdividí-lo em n sub-intervalos, e em cada um a função é aproximada por uma função linear Fórmulas compostas ou fórmulas repetidas Regra do trapézio composta Intervalo [a, b] de grande amplitude Soma da área de n trapézios, cada qual definido pelo seu sub-intervalo b a xn x0 h n n Subintervalos de igual comprimento h Regra do trapézio composta Fórmula: xm x0 f ( x)dx h f ( x0 ) f ( x1 ) h f ( x1 ) f ( x2 ) 2 2 h ... f ( xN 1 ) f ( xN ) 2 xN x0 Só os termos f(x0) e f(xn) não se repetem, assim: h f ( x)dx f ( x0 ) 2 f ( x1 ) f ( x2 ) ... f ( xN 1 ) f ( xN ) 2 Regra do trapézio composta Regra do trapézio composta 4 Exemplo: Estimar o valor de (1 x ) 2 1 / 2 dx 0 Regra do Trapézio Simples: 2 pontos (x0=0,0 e x1=4,0) I=h/2*(y0+y1)=2x(1,00000+0,24254) = 2,48508 Regra do Trapézio Composta: 3 pontos (x0=0,0,x1 =2,0,x2 =4,0) I=h/2(y0+2y1+y2)=1x(1,00000+2x0,44722+ 0,24254) = 2,1369 Regra do Trapézio Composta: 9 pontos I=(0,5/2)x(y0+2y1+2y2+2y3+2y4+2y5+2y6+2y7+y8) =2,0936 A aproximação para 9 pontos é melhor, dado que o valor real é 2,0947 x y=(1+x²)-1/2 0.0 1,00000 0.5 0,89445 1.0 0,70711 1.5 0,55475 2.0 0,44722 2.5 0,37138 3.0 0,31623 3.5 0,27473 4.0 0,24254 Matlab Regra do trapézio função trapz Z = trapz(Y) calcula uma aproximação para a integral de Y (com espaçamento unitário) Z = trapz(Y,X) calcula uma aproximação para a integral de Y, definida pelos pares X, Y 4 (1 x ) 0 2 1 / 2 dx X=0:0.5:4 Y=sqrt(1+X.^2); Y=Y.^(-1); Z = trapz(X,Y); A regra utilizada é composta? Regra do trapézio composta Erro ERRO! f(x) E=I–T T - valor da integral numérica. I - valor da integral obtida pela integração de f(x) f(x1) f(x0) x0 x1 x Regra do trapézio composta Erro da Regra do Trapézio Simples (b a)3 h3 E( f ) f ´´( ) f ´´( ), 12 12 paraum certo ]a, b[ Erro da Regra do Trapézio Composta h3 Nh3 f ´´(i ) EN ( f ) f ´´(i ) 12 i 1 12 N O erro final de uma fórmula repetida é obtido pela soma dos erros parciais Regra do trapézio composta 1 Exemplo: Seja I e dx , x 0 calcule uma aproximação para I usando a Regra dos Trapézios Simples. Estime o erro cometido. h b a 1 0 1 1 x1 x0 h f ( x)dx f ( x0 ) f ( x1 ) 2 I e x dx 0 1 1 0 e e 2 I e x dx 1,859141 0 12:02 Regra do trapézio composta Estimativa do erro cometido: ETR (1)3 e , (0,1) 12 Portanto : ETR 1 máx e x 0,226523 12 x[ 0 ,1] e1 máx e x x[ 0 ,1] 12:03 Integração numérica n = 2 fórmula de Simpson ( x x0 ) ... ( x xi 1 ) ( x xi 1 ) ... ( x xn ) wi li ( x)dx dx ( x1 x0 ) ... ( xi xi 1 ) ( xi xi 1 ) ... ( xi xn ) a a b b ( x x1 ) ( x x2 ) h dx ( x0 x1 ) ( x0 x2 ) 3 a b w0 ( x x0 ) ( x x2 ) 4h dx ( x1 x0 ) ( x1 x2 ) 3 a b w1 ( x x0 ) ( x x1 ) h w2 dx ( x2 x0 ) ( x2 x1 ) 3 a b Regra de Simpson Fórmula f(x) x2 x0 h f ( x )dx f ( x0 ) 4 f ( x1 ) f ( x2 ) 3 f(x1) f(x2) f(x0) x0 x1 x2 Aproxima pela área de um polinômio de grau 2 x Regra de Simpson composta xn x0 Considerando n sub-intervalos (n deve ser um número par): h f ( x)dx f ( x0 ) 4 f ( x1 ) 2 f ( x2 ) 2 f ( xn 2 ) 4 f ( xn 1 ) f ( xn ) 3 Regra de Simpson composta Regra de Simpson Exemplo: Estimar o valor de 1 dx 0 1 x Dividindo [0,1] em seis subintervalos, temos: h=1/6 Regra de simpson S =1/18.[1+4(6/7+2/3+6/11)+2. (3/4+3/5)+1/2] = 0,69317 Valor da integral I = ln(2) = 0,69315 x y=(1+x)-1 0.0 1,00000 1/6 6/7 2/6 3/4 3/6 2/3 4/6 3/5 5/6 6/11 1 1/2 Regra de Simpson- Erro Erro da Regra de Simpson 5 h IV E ( f ) f ( ), 90 para um certo ]a, b[ Diferenciação numérica Idéia básica da diferenciação numérica Aproximar a derivada real em um ponto utilizando diferenciais pequenos. df Δf Δf f(x Δx) f(x) lim dx Δx0 Δx Δx Δx Utilizando principalmente na discretização de equações diferenciais Diferenciação numérica f df dx x x1 Df f1 f0 Dx x1 x0 x0 x1 x Diferenciação numérica Erros de truncamento As derivadas numéricas são apenas uma aproximação razoável das derivadas analíticas df Δf dt Δt É possível avaliar o erro cometido nesta aproximação utilizando as séries de Taylor Séries de Taylor A série de Taylor permite estimar o valor de uma função num ponto a partir do valor da função e das suas derivadas em um ponto próximo. f(xi ) 2 f(xi ) 3 f(xi1 ) f(xi ) f(xi ) h h h ... Rn 2! 3! Onde h é a diferença entre xi+1 e xi. A série de Taylor é infinita. A aproximação da derivada numérica é finita Séries de Taylor O resto f(xi ) 2 f(xi ) 3 f(xi1 ) f(xi ) f(xi ) h h h ... Rn 2! 3! O resto é dado por f n1 ( ) n1 Rn h (n 1)! onde fn+1 é a derivada de ordem n+1 e xi+1 e xi é um valor entre Séries de Taylor e derivadas f ( xi ) 2 f ( xi ) 3 f ( xi 1 ) f ( xi ) f ( xi ) h h h ... Rn 2! 3! f ( xi 1 ) f ( xi ) f ( xi ) h R1 f ( xi 1 ) f ( xi ) R1 f ( xi ) h h A derivada numérica tem erro de truncamento dado por Rn/h O valor do erro R1/h é da ordem de h O(h) pode-se expressar f ( xi ) f ( xi 1 ) f ( xi ) O ( h) h Erro da ordem de h quanto menor o passo (incremento), menor o erro da aproximação Erros de arredondamento x truncamento Erro de arredondamento soma das incertezas associadas à representação do sistema de numeração na máquina o computador utiliza uma representação binária com um número finito de bytes para representar os números reais Erro de truncamento aquele associado ao truncamento de um processo infinito como o processo infinito não se conclui, somos forçados a adotar uma aproximação obtida após a execução de alguns passos Tipos de derivadas numéricas f(xi ) f(xi1 ) f(xi ) O(h) h f(xi ) f(xi ) f(xi1 ) O(h) h f(xi ) f(xi1 ) f(xi1 ) O(h2 ) 2 h Progressiva forward Regressiva backward Centrada Centered Considerando que h é pequeno, o erro de truncamento da derivada numérica centrada é menor do que os outros. Tipos de derivadas numéricas Derivada segunda: f ( xi ) 2 f ( xi ) 3 h h ... Rn 2! 3! f ( xi ) 2 f ( xi ) 3 f ( xi 1 ) f ( xi ) f ( xi ) h h h ... Rn 2! 3! f ( xi 1 ) f ( xi ) f ( xi ) h f ( xi 1 ) 2 f ( xi ) f ( xi 1 ) 2 f ' ( xi ) O ( h ) 2 h 12:16 Tipos de derivadas numéricas progressiva f analítica regressiva x0 centrada 12:17 x1 x2 x Exemplo derivada numérica A celeridade cinemática de propagação de perturbações no escoamento é calculada por onde c é a celeridade, Q é a vazão e A é a área da seção transversal dQ c dA Exemplo derivada numérica Considerando uma seção prismática regular h A R S Q n 2 3 1 2 dQ c dA Qh Dh Qh Dh c Ah Dh Ah Dh dQ c dh dA dh Exemplo derivada numérica Considerando uma seção qualquer dQ 48 dQ c dA 46 44 42 40 h 38 c dh dA dh 36 34 32 30 0 20 40 A R S Q n 2 3 1 2 60 80 100 Tabelas de A; R e Q em função de h 120 140 interpolação Qh Qh Dh Dh c Ah Ah Dh Dh Raízes de equações Recursos hídricos surgem muitas equações de difícil solução analítica, com termos implícitos e não lineares Os métodos aqui apresentados são iterativos estabelecemos uma expressão (função de iteração) que, aplicada repetidas vezes, a partir de uma aproximação inicial conhecida, produz uma sequencia de aproximações que convergem para a solução do problema. Raízes de equações Determinação da aproximação inicial para o caso de uma única função do cálculo diferencial e integral: Se y = f(x) é uma função contínua e muda de sinal no intervalo [a,b], isto é, se f(a) . f(b) < 0 existe pelo menos um ponto c E [a,b] tal que f(c) = 0. Se, além disso, f’(x) não muda de sinal em [a,b] c é a única de f(x) neste intervalo O ponto médio do intervalo pode ser uma aproximação inicial método da bisseção Métodos numéricos para encontrar raízes de equações Bissecção Falsa posição Newton-Raphson Secantes f(x) raiz x Raízes de equações Método de bissecção No método de bissecção é necessário fornecer duas estimativas iniciais (limites do intervalo) de valor de x que “cercam” a raiz Dadas as duas estimativas iniciais xu e xl, uma primeira estimativa para a raiz é dada por: F(x) x Raízes de equações xu xl xr 2 Método de bissecção Raízes de equações Supõe-se que a raiz esteja exatamente entre xu e xl F(x) xu xl xr 2 Se f(xr).f(xl) negativo, então Busca entre xr e xl Se não, busca entre xr e xu Busca entre xr e xu x Busca termina de acordo Com critério de parada Método de bissecção Raízes de equações Critérios de parada Incremento de x menor que um dado limite Diferença entre f(x) no ponto testado e zero é menor do que um dado limite Método de falsa posição F(x) Raízes de equações Supõe-se que a raiz esteja onde estaria a raiz de uma linha reta unindo os dois pontos x Método de falsa posição F(x) Raízes de equações Supõe-se que a raiz esteja onde estaria a raiz de uma linha reta unindo os dois pontos x Método de falsa posição F(x) Raízes de equações Supõe-se que a raiz esteja onde estaria a raiz de uma linha reta unindo os dois pontos x Método de falsa posição F(x) Raízes de equações Supõe-se que a raiz esteja onde estaria a raiz de uma linha reta unindo os dois pontos x Problemas dos métodos anteriores Raízes de equações Bissecção e falsa posição sempre encontram a raiz, mas podem ser demorados Além disso, exigem que sejam dadas duas tentativas iniciais com sinais contrários da função Raízes de equações Método de Newton-Raphson Raízes de equações Combina duas ideias básicas muito comuns em aproximações numéricas: Linearização substituir (numa certa vizinhança) um problema complicado por sua aproximação linear que, por via de regra, é mais facilmente resolvida Iteração um processo iterativo, ou aproximações sucessivas repetição sistemática de um certo procedimento até que seja atingido um grau de aproximação desejado Método de Newton-Raphson Raízes de equações Linearização de uma função valor de f em x3 Quanto mais próximo eu tomo um ponto de x3, mais a reta se aproxima da curva Coef. angular da reta L(x) L(x 3 ) f(x 2 ) que passa em x2 : Δx f(x) Este coef. angular também é dado por f’(x2) f(x2) f(x3) L(x3) x1 x2 x3 x Método de Newton-Raphson Raízes de equações L(x3 ) f(x2 ) f'(x2 ) Δx f(x2) L(x3 ) f(x2 ) f'(x2 ) Δx f(x3) f(x3 ) f(x2 ) f'(x2 ) Δx Dx L(x3) x2 x3 Para que x3 seja a raiz 0 f(x2 ) f'(x2 ) Δx L(x 3 ) f(x 2 ) f' (x 2 ) Δx 7:36 f(x2 ) x3 x2 f'(x2 ) Método de Newton-Raphson Raízes de equações Pela série de Taylor f ( xi ) 2 f ( xi ) 3 f ( xi 1 ) f ( xi ) f ( xi ) h h h ... Rn 2! 3! se h xi 1 xi Supondo que f ( xi 1 ) f ( xi ) f ( xi ) xi 1 xi f ( xi 1 ) 0 (xi+1 é a raiz) f ( xi ) xi 1 xi f ( xi ) Método de Newton-Raphson Raízes de equações Supõe-se que a raiz pode ser encontrada seguindo uma linha reta dada pela derivada da função no ponto inicial F(x) x Tentativa inicial Método de Newton-Raphson Raízes de equações Supõe-se que a raiz pode ser encontrada seguindo uma linha reta dada pela derivada da função no ponto inicial F(x) derivada Tentativa inicial x Método de Newton-Raphson Raízes de equações Supõe-se que a raiz pode ser encontrada seguindo uma linha reta dada pela derivada da função no ponto inicial F(x) derivada Tentativa inicial x Método de Newton-Raphson Raízes de equações Supõe-se que a raiz pode ser encontrada seguindo uma linha reta dada pela derivada da função no ponto inicial F(x) x derivada Método de Newton-Raphson Raízes de equações Supõe-se que a raiz pode ser encontrada seguindo uma linha reta dada pela derivada da função no ponto inicial F(x) x Método de Newton-Raphson Raízes de equações Critérios de parada quando f(xi) for suficientemente próximo de zero ou quando a diferença de dois iterados torna-se muito pequena Problemas do método de Newton-Raphson Raízes de equações É melhor que a primeira estimativa não esteja longe demais da raiz x Problemas do método de Newton-Raphson Raízes de equações É melhor que a primeira estimativa não esteja longe demais da raiz x Método das Secantes Raízes de equações Um possível problema do método de NewtonRaphson, especialmente em recursos hídricos, é que pode ser difícil estimar a derivada da função Neste caso é possível utilizar uma aproximação numérica para a derivada, gerando o método das secantes f ( xi 1 ) f ( xi ) f ( xi ) xi1 xi Método das Secantes Raízes de equações Semelhança dos triângulos abaixo f ( xi ) xi 1 xi f ( xi 1 ) f ( xi ) xi1 xi f(x) f ( xi ) xi 1 xi f ( xi 1 ) f ( xi ) x Tentativa inicial secante Método das Secantes f ( xi ) xi 1 xi f ( xi 1 ) f ( xi ) xi1 xi Raízes de equações f(x) f ( xi ) xi 1 xi f ( xi 1 ) f ( xi ) x Tentativa inicial secante Método das Secantes Raízes de equações f(x) f ( xi ) xi 1 xi xi 1 xi f ( xi 1 ) f ( xi ) x Tentativa inicial secante Método das Secantes Raízes de equações Comparação de métodos Raízes de equações Newton-Raphson é mais rápido, seguido do método das secantes, da falsa posição e finalmente bissecção Newton-Raphson e Secantes podem divergir Secantes pode ser aplicado para funções em que é difícil obter derivadas (comuns em simulação hidrológica) Mas podemos usar derivadas numéricas Comparação de métodos Raízes de equações Comparação de métodos Raízes de equações Comparação de métodos Raízes de equações Comparação de métodos Raízes de equações Mesmo exemplo no excel Newton Comparação de métodos Raízes de equações Mesmo exemplo no excel Newton com derivadas numéricas Comparação de métodos Raízes de equações Mesmo exemplo no excel Secante Matlab Exemplo Raízes de equações Calcule o nível da água h se: A R S Q n 2 h 3 1 2 B Q=15 m3/s S=0,001 m/m n=0,02 B=8 m Raízes de equações A R S G ( h) Q n 2 3 1 2 0 Exemplo Raízes de equações Calcule o nível da água h se: A R S Q n 2 1 3 1 2 h m B Q=15 m3/s S=0,001 m/m n=0,02 B=8 m m=1,5 Raízes de equações A R S G ( h) Q n 2 3 1 2 0 Exemplo Raízes de equações Calcule a vazão de um vertedor h Q2 Q C L h 2 2 2h L g g=9,81 m/s2 h=20 cm L=10 m C=2 3 2 Exemplo Raízes de equações Calcule o nível h para uma dada vazão Q Q = 15 m3/s S = 0,001 m/m n = 0,02 48 46 44 42 40 h 38 36 34 A R S G ( h) Q n 2 32 30 0 20 40 60 A R S Q n 2 3 80 1 2 100 120 140 3 1 2 0 Tabelas de A; R e Q em função de h Simples busca e interpolação da tabela Outro exemplo: balanço hídrico de reservatório com vertedor dV I O dt I f (t ) O f ( h) V g ( h) Raízes de equações Q C L h hs 3/ 2 Equação de vertedor Supondo um reservatório V 200 h 30 h 0,3856 200 h 30 h Dt 200 h 30 h I C L h dV 200 h t 1 30 h t 1 dt 200 h t 1 30 h t 1 0 , 3856 Dt 0 , 3856 t 0 , 3856 t t Raízes de equações t 0 , 3856 t 1 hs 3/ 2 Como tornar o termo de h no tempo t+1 explícito? Raízes de equações C L h t hs 2 3/ 2 Como encontrar raízes de equações implícitas 200 h t 1 0,3856 30 ht 1 200 h 30 h I C L h t Dt t 0,3856 Raízes de equações t 1 hs 3/ 2 C L ht hs 2 Método de bissecção Método de Newton-Raphson Método das secantes E se houver operação de comportas durante uma cheia? 3/ 2 Exemplo Raízes de equações Na aplicação do método de Muskingum-Cunge para a simulação da propagação de vazão em rios, utilizam-se sub-trechos, cujos comprimentos ideais podem ser encontrados resolvendo a equação abaixo: Q0 0 ,8 0, 2 Dx 0,8 c0 Dt Dx B S0 c0 Aplique considerando: Q0=100 m3/s c0=1,0 m/s B = 30 m S0=0,001 m/m Dt = 1 hora (3600 s) Use a equação abaixo para a estimativa inicial 2,5 Q0 Dx B S0 c0 Solver do Excel Raízes de equações O solver pode ser utilizado para encontrar raízes de equações Não está claro que método que Solver utiliza Chute inicial deve estar relativamente próximo da raiz Raízes de equações Sistemas de equações - Introdução Problema comum em engenharia; A utilização do método está liga a dois condicionantes: (a) matriz de coeficientes, (b) eficiência da solução; Classificação: Quanto ao tipo: (a) linear, (b) não linear; Quanto ao tipo de solução: (a) direta (ex. Gauss), (b) iterativa (ex. Gauss-Seidel); Quanto à solução: (a) compatível e determinada; (b) compatível e indeterminada; (c) incompatível. Sistemas de equações lineares Pode ser definido como: a11 x1 a12 x2 a13 x3 a1n xn b1 a21 x1 a22 x2 a23 x3 a2 n xn b2 a31 x1 a32 x2 a33 x3 a3 n xn b3 an1 x1 an 2 x2 an 3 x3 ann xn bn Sistemas de equações lineares Em forma matricial: A X B a11 a 21 a31 an1 a12 a13 a22 a32 a23 a33 an 2 an 3 a1n a2 n a3 n ann Matriz do coeficientes x1 x 2 x3 xn b1 b 2 b3 bn Vetor das incógnitas ou vetor solução Vetor das constantes Sistemas de equações lineares Classificação quanto à solução: Possível e determinado → Possui uma única solução. Possível e indeterminado → Possui infinitas soluções Solução trivial → Det(A) ≠ 0 e B = 0; Solução não trivial → Det(A) ≠ 0 e B ≠ 0 Det(A) = 0 e B = 0 ou B é múltiplo de uma coluna de A Impossível → Não possui soluções Det(A) = 0 e B ≠ 0 e B não é múltiplo de nenhuma coluna de A Soluções de sistemas de equações lineares Método de Gauss (direto) Método direto fornecem a solução do sistema após a realização de um n° finito de passos. Os erros são basicamente de arredondamento da máquina Método de Gauss-Seidel (iterativo) Métodos iterativos baseiam-se na construção de sequências de aproximações; em cada passo valores calculados anteriormente são usados para melhorar a aproximação Método de Gauss a11x1 a12 x2 a13 x3 ....... a1n xn b1 ~ ~ ~ ~ a22 x2 a23 x3 ....... a2 n xn b2 ~ ~ ~ a33 x3 ....... a3n xn b3 ........... ~ ~ ann xn bn Consiste em transformar a matriz A em uma matriz triangular equivalente através das seguintes operações: Subtração de uma linha por outra multiplicada por uma constante; Formação de uma matriz diagonal superior. Método de Gauss Considere, onde: e, 2 x1 4 x2 2 x3 5 4 x1 9 x2 2 x3 7 2 x 2 x 9 x 3 1 2 3 4 2 2 x1 5 A 4 9 2 , X x2 e B 7 x 3 2 2 9 3 4 2 5 2 A 4 9 2 7 2 2 9 3 Método de Gauss 1o passo: Definir um multiplicador para cada linha baseado na primeira m2 = a21/a11; m3 = a31/a11 2o passo: Subtrair o produto do multiplicador da 2a e 3a linha pela 1a linha a’i,j=ai,j- mi . ai-1,j , onde i = 2,3 e j = 1,2,3 Método de Gauss O multiplicadores são: m2 = a21/a11 = 4/2 = 2 e m3 = a31/a11 = -2/2 = -1 -1) 2 x1 4 x2 2 x3 5 (x 2) 4 x1 9 x2 2 x3 7 2 x 2 x 9 x 3 1 2 3 2 x1 4 x2 2 x3 5 x2 2 x3 3 2 x2 7 x3 8 ((-) Método de Gauss Os multiplicadores são: m2 = a21/a11 = 4/2 = 2 e m3 = a31/a11 = -2/2 = -1 a21 ' a a a m a a a11 0 2 linha: 21 21 2 11 21 a11 a'22 a22 m2 a12 9 2 4 1 a'23 a23 m2 a13 2 2 2 2 b2' b2 m2b1 7 2 5 3 3a linha: a31 a a31 m3 a11 a31 a11 0 a11 ' 31 ' a32 a32 m3 a12 2 1 4 2 ' a33 a33 m3 a13 9 1 2 7 b3' b3 m3b1 3 1 5 8 Método de Gauss Após estes passos, a matriz aumentada fica da seguinte forma: a11 A 0 0 a12 a13 a' 22 a'32 a' 23 a'33 b1 2 4 2 5 b' 2 0 1 2 3 b'3 0 2 7 8 Repentindo os passos de 1 a 3, só que agora tomando como base a linha 2: Método de Gauss Calculando os novos multiplicadores: m’3 = a’32/a22=2/1=2 2 x1 4 x2 2 x3 5 x2 2 x3 3 (x 2) 2 x2 7 x3 8 2 x1 4 x2 2 x3 5 x2 2 x3 3 3 x3 14 (-) Método de Gauss Calculando os novos multiplicadores: m’3 = a’32/a22=2/1=2 3a linha: ' a '' ' ' a32 a32 m3' a'22 a32 '32 a'22 0 a22 '' ' a33 a33 m3' a'23 7 2 2 3 b3'' b3' m3' b2' 8 2 3 14 Após estes passos, a matriz aumentada agora tem a seguinte forma: a11 A 0 0 a12 a13 a'21 0 a'23 '' a33 b1 2 4 2 5 b2' 0 1 2 3 b3'' 0 0 3 14 Método de Gauss Equivalente a: 2 x1 4 x2 2 x3 5 x2 2 x3 3 3 x3 14 Resolvendo o novo sistema, obtem-se: x3 4 ,67 x2 12,33 x 31,83 1 Método de Gauss Método diretos como o de Gauss tem a vantagem de fornecer a solução após um n° finito de passos e não dependem de condições de convergência Podem ser inviáveis quando o sistema é muito grande ou mal condicionado Método iterativo de Gauss-Seidel É um dos métodos mais comum e simples de ser programado; O método converge somente sob certas condições e normalmente conduz a um número maior de operações quando comparado com métodos diretos Como qualquer método iterativo convenientes para sistemas grandes e esparsos que aparecem após discretização de EDPs Método iterativo de Gauss-Seidel A equação utilizada para iterações é a seguinte: k 1 i x 1 ai ,i i 1 n k 1 bi ai , j x j ai , j x kj j 1 j i 1 Pode-se utilizar um coeficiente para acelerar o processo de convergência: k 1 i x i 1 bi ai , j x ai ,i j 1 k 1 j ai , j x j i 1 n k j Método iterativo de Gauss-Seidel Seja o sistema de equações: a11 x1 a12 x2 a13 x3 a1n xn b1 a21 x1 a22 x2 a23 x3 a2 n xn b2 a31 x1 a32 x2 a33 x3 a3 n xn b3 an1 x1 an 2 x2 an 3 x3 ann xn bn Método iterativo de Gauss-Seidel Obtemos o valor de x1 a partir da primeira equação, o valor de x2 a partir da segunda equação e assim sucessivamente: x1k 1 1 b1 a12 x2k a13 x3k a14 x4k a1n xnk a11 x2k 1 1 b2 a21 x1k 1 a23 x3k a24 x4k a2 n xnk a22 x3k 1 1 b3 a31 x1k 1 a32 x2k 1 a34 x4k a3 n xnk a33 xnk 1 1 bn an1 x1k 1 an 2 x2k 1 an 3 x3k 1 an n 1 xnk11 ann Método iterativo de Gauss-Seidel Ponto de partida Conjunto de valores iniciais na falta de melhores informações, podemos usar x1 = x2 = ... = xn = 0 Critério de parada Número de iterações excedeu um determinado valor m; A seguinte condição atenta uma precisão adotada: n n b a j 1 i i 1 i, j xj Método iterativo de Gauss-Seidel Convergência do método: Existe um critério de convergência, através de um teorema, que envolve autovalores de matrizes, o que nem sempre é trivial Este teorema, no entanto, permite estabelecer outras condições de convergência de verificação mais simples O método converge se a matriz A é diagonalmente dominante O método converge se a matriz A é uma matriz positiva definida Método iterativo de Gauss-Seidel Convergência do método: matriz de coeficientes seja positiva definida Inspeção da diagonal principal (necessária): ai , j 0 , para i j Domínio da diagonal (suficiente): ai ,i ai , j e ai ,i a j ,i j i j i Método dos menores principais (necessária e suficiente): Ri 0 Método iterativo de Gauss-Seidel Considere 2 x1 4 x2 2 x3 5 4 x1 9 x2 2 x3 7 2 x 2 x 9 x 3 1 2 3 k 1 1 x Aplicando o método, tem-se x k 1 2 x3k 1 1 5 4 x2k 2 x3k 2 1 k 1 k 7 4 x1 2 x3 9 1 3 2 x1k 1 2 x2k 1 9 Método iterativo de Gauss-Seidel Considerando o ponto de partida com Xk=(x1, x2, x3)=(0, 0, 0), a primeira iteração fica: k 1 1 x1 x2k 1 x3k 1 Adotando ɛ = 0.0001, após 244 iterações a solução converge para: 5 4 0 2 0 2 ,5 2 1 7 4 2 ,5 2 0 0 ,333 9 1 3 2 2 ,5 2 0 ,333 0 ,815 9 x1 31,83 x2 12,33 x 4 ,67 3 Método iterativo de Gauss-Seidel Exercício para casa: - Desenvolver um algoritmo para resolução de sistemas lineares pelo método iterativo de Gauss-Seidel. Sistemas de equações não lineares Pode ser definido como: f 1 x1 , x2 , x3 ,...,xn 0 f 2 x1 , x2 , x3 ,...,xn 0 f 3 x1 , x2 , x3 ,...,xn 0 f n x1 , x2 , x3 ,...,xn 0 onde f é uma função não linear em função de x1,x2,…,xn. Sistemas de equações não lineares Método iterativo de Newton Se baseia no método Newton-Rapson para solução de equações não lineares Transforma o sistema não linear em um sistema linear (linearização), este resolvido a cada uma das várias iterações de modo que a solução do linear se aproxime daquela esperada (não linear) Método iterativo de Newton Um sistema de equações não lineares: f 1 x1 , x2 , x3 ,...,xn 0 f 2 x1 , x2 , x3 ,...,xn 0 f 3 x1 , x2 , x3 ,...,xn 0 f n x1 , x2 , x3 ,...,xn 0 pode ser expandido para série de Taylor de primeira ordem: Método iterativo de Newton Resultando em um sistema de equações lineares: f 1 x1 , x2 , x3 ,...,xn k 1 f 2 x1 , x2 , x3 ,...,xn k 1 f 3 x1 , x2 , x3 ,...,xn k 1 f 1 x1 , x2 , x3 ,...,xn k f 2 x1 , x2 , x3 ,...,xn k f 3 x1 , x2 , x3 ,...,xn k k k k k k k k k k k k k f 1 f f Dx1 1 Dx2 1 Dxn 0 x1 x2 xn f 2 f f Dx1 2 Dx2 2 Dxn 0 x1 x2 xn f f f 3 Dx1 3 Dx2 3 Dxn 0 x1 x2 xn f n x1 , x2 , x3 ,...,xn k 1 f n x1 , x2 , x3 ,...,xn onde Δxi = xik+1- xik k f n f f Dx1 n Dx2 n Dxn 0 x1 x2 xn Método iterativo de Newton Em forma matricial: J X k f 1 x 1 f 2 x1 f 3 x1 f n x 1 f 1 x2 f 2 x2 f 3 x2 f 2 x2 f 1 x3 f 2 x3 f 3 x3 f 3 x2 f 1 xn f 2 xn f 3 xn f n xn Jacobiano (k) k 1 B x1 x 2 x3 xn Vetor das incógnitas ou vetor solução (k+1) k f 1 f f x1 1 x2 1 x1 x2 xn f f f f 2 2 x1 2 x2 2 x1 x2 xn f f f f 3 3 x1 3 x2 3 x1 x2 xn f f f f n n x1 n x2 n x1 x2 xn f1 Vetor das Constantes (k) xn xn xn xn Método iterativo de Newton Ponto de partida Conjunto de valores iniciais Critério de parada Número de iterações excedeu um determinado valor m; Verifique se a seguinte condição atenda uma precisão adotada: n i 1 f i k 1 f i k Método iterativo de Newton Convergência do método: É necessário que a matriz de coeficientes seja positiva definida Inspeção da diagonal principal (necessária): ai , j 0 , para i j Domínio da diagonal (suficiente): ai ,i ai , j e ai ,i a j ,i j i j i Método dos menores principais (necessária e suficiente): Ri 0 Método iterativo de Newton Exercício para casa: - Desenvolver um algoritmo para resolução de sistemas não lineares pelo método iterativo de Newton. Trabalho 7:36 Desenvolver uma iteração, manualmente, do sistema não linear resultante do chamado problema dos três reservatórios a seguir Verifique as condições de convergência (matriz A diagonalmente dominante e positiva definida) Utilize o método de Gauss-Sidel após a linearização do sistema não-linear Prazo: 1 semana após esta aula Trabalho o sistema abaixo é composto por 3 reservatórios. Não se sabe quais os valores de vazão nos trechos nem a cota piezométrica (CP) no ponto de convergência dos trechos. Para Determiná-los, desprezando as perdas de carga localizadas e as cargas cinéticas trecho AD DB DC 100m 90m A B D 7:36 80m C L(m) D(mm) f 300 400 0,03 300 400 0,03 900 500 0,02 Trabalho Para resolver este problema, faz-se a hipótese de que a CPD = 90, o que equivale a dizer que QDB = 0 Depois testa-se a hipótese Do resultado do teste, ou o problema acaba ou se monta um sistema de equações não-lineares com 4 incógnitas. A seguir o resumo do processo 7:36 Trabalho Completando a tabela b=0,0826f trecho L(m) D(m) f b AD 300 400 0,03 0,00248 DB 300 400 0,03 0,00248 100m DC 90m A B D 80m C 900 500 0,02 0,00165 Trabalho Hipótese CPD= 90m QDB=0 m3/s Calcular QAD e QDC. Por exemplo, 100m QAD 90m A B D 80m C ΔHADDAD β L AD AD m 1 n Trabalho Hipótese CPD= 90m QDB=0 m3/s trecho AD DB DC 100m 90m A B D DH Q (m3/s) 10 0,37 0 0,00 10 0,46 80m C QAD< QDC QDB≠ 0 Trabalho 100 - CPD 72,62Q Sistema de equações 2 AD 2 DB 2 DC 90 - CPD 72,62Q CPD 80 47,59Q QAD QDB QDC Resultado CPD=89,63m, QAD=0,38m3/s, QDB=0,07m3/s e QDC=0,45m3/s Trabalho Resultado 100m A 0,38 m3/s D 90m 89,63m B 80m 0,07 m3/s 0,45m3/s C Trabalho Para facilitar, chame: CPD de x1 QAD de x2 QDB de x3 QDC de x4 100 - x1 72,62x 2 2 2 3 2 4 90 - x1 72,62x x1 80 47,59x x2 x3 x4 7:36