PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO GRANDE DO SUL FACULDADE DE MATEMÁTICA CÁLCULO NUMÉRICO Notas de Aula – Aplicações – Exercícios Eliete Biasotto Hauser Índice 1 Sistema de Ponto Flutuante Normalizado – Teoria dos Erros....................4 2 Resolução de Equações Algébricas e Transcendentes.............................. 9 3 Sistemas de Equações Lineares................................................................ 25 4 Interpolação Polinomial............................................................................ 36 5 Ajuste de Funções..................................................................................... 46 6 Integração Numérica.................................................................................60 5 Resolução Numérica de Equações Diferenciais Ordinárias..................... 65 8 Resolução Numérica de Equações Diferenciais Parciais.......................... 72 9 Bibliografia ..............................................................................................85 Formulário................................................................................................... 86 Laboratórios utilizando Sistema Maple....................................................... 90 1 –Teoria dos Erros - Sistema de Ponto Flutuante Um número y na base β ≥ 2 , y = a n a L a a a a , b b2 L pode ser descrito n −1 3 2 1 0 1 na forma β n − 1 + L + a 3 β 3 + a 2 β 2 + a1 β + a0 + b1 β − 1 + b2 β − 2 + L . y = an β n + a n −1 Por exemplo, 3517 ,26 = 3 × 10 3 + 5 × 10 2 + 1 × 10 + 7 + 2 × 10 − 1 + 6 × 10 − 2 Em aritmética de ponto flutuante normalizado de t dígitos, y tem a forma: y = ⎛⎜ 0 , d d L d t ⎞⎟ × β e 1 2 ⎝ ⎠β i) ii) 0 , d d L d t é a mantissa (uma fração na base β), 1 2 0 ≤ d j ≤ β − 1, d 1 ≠ 0 , j=1,2,...,t iii) “e” é um expoente inteiro que varia no intervalo [m,M]. M e m dependem da máquina utilizada. Em geral, m = -M ∈ Z. iv) t define a precisão da máquina, é o número de dígitos da mantissa. Obs: precisão ≠ exatidão(depende da precisão da máquina e do algorítmo utilizado) A união de todos os números de ponto flutuante normalizados com o zero: m 0 = 0 .000 L 1 42 4 30 × β t vezes é chamado Sistema de Ponto Flutuante Normalizado e representado por F(β, t, m, M). Alguns exemplos de máquinas com precisão simples: a) HP 48 : F(10, 12, -498, 500) b) IBM 3090 : F(16, 6, -64, 63) c) Cray1 : F(2, 48, -8192, 8191) d) Burroughs B6700: F(8, 13, -63, 64) Em F valem as propriedades: 1) 0,1 x β m é o menor número em módulo, não nulo, de F. 2) 0, ( β − 1)( β − 1)...( β − 1) x β M é o maior número, em módulo, não nulo, de F. 144424443 t vezes 3) # F = ⎡⎢2( β − 1) β t −1 ( M − m + 1)⎤⎥ + 1 é o cardinal de F ⎦ ⎣ − 4) Para qualquer mantissa, vale β 1 ≤ mantissa < 1 . 5) Se y ∈ F , então − y ∈ F . 6) 0 ∈ F e 1 ∈ F . Se o expoente da base não pertencer a [m,M], y não pode ser representado em F. São os casos de erro de: - underflow, se e < m (ultrapassa a capacidade mínima) - overflow, se e > M (ultrapassa a capacidade máxima) 4 E.B.Hauser – Cálculo Numérico Se a representação do real y em F não é exata, é necessário utilizar um arredondamento. Os tipos de arredondamento mais conhecidos são: - Arredondamento para número mais próximo de máquina (Oy). - Arredondamento por falta, ou truncamento ( ∇ y). - Arredondamento por excesso ( ∆ y) Em F, geralmente, as operações de adição e multiplicação não são comutativas, associativas e nem distributivas, pois numa série de operações aritméticas, o arredondamento é feito após cada operação. Ou seja, nem sempre as operações aritméticas válidas para os números reais são válidas em F. Isto influi na solução obtida através de um método numérico. Assim, métodos numéricos matematicamente equivalentes, podem fornecer resultados diferentes. Medidas de Exatidão Quando se aproxima um número real x por x*, o erro que resulta é x-x*. Define-se: x − x* para x ≠ 0 . erro absoluto: EA = x − x * e o erro relativo: ER = x A fim de ver o tipo de situação que pode ocorrer um erro relativo de grande magnitude, vamos considerar a diferença entre os números a seguir, por exemplo: x = 0,3721478693 y = 0,3720230572 x − y = 0,0001248121=0,1248121 x 10-3 Se os cálculos forem feitos em F(10, 5, -499, 499) com arredondamento Ox: x*= 0,37215, y*= 0,37202 e x*-y*= 0,00013 = 0,13000 x 10-3 Assim, o erro relativo entre os dois resultados é grande: x − y − ( x * -y*) 0,1248121 x 10 - 3 − 0 ,13000 x 10 - 3 = ≈ 4% x− y 0,1248121 x 10 - 3 Na resolução de um problema o valor exato da solução x pode ser desconhecido. Podemos usar duas aproximações sucessivas de x, definindo: ⎡ ⎛ x k +1 − x k ⎞⎤ ⎟⎥ DIGSE ( x k , x k +1 ) = − ⎢0,3 + log⎜⎜ µ + ⎟ x k +1 ⎠⎦⎥ ⎝ ⎣⎢ o qual expressa o número de dígitos significativos exatos de x k em relação a x k + 1 . Aqui µ representa a unidade de arredondamento da máquina ( µ = to for Ox ). 5 1 1− t β se o arredondamen2 1 - Teoria dos Erros Algoritmos Numéricos O Cálculo Numérico tem por objetivo estudar e aplicar algoritmos numéricos para a solução de problemas, visando o menor "custo" e confiabilidade do resultado (observar tempo de execução, número de operações aritméticas, quantidade de memória, propagação do erro, etc). Um bom algoritmo numérico deve se caracterizado por: a) Independência da máquina :a execução do programa pode ser realizada em diferentes máquinas. b) Inexistência de Erro Aritmético: problemas de overflow e underflow devem ser detectados a priori c) Inexistência de Erro Lógico: previsão de tudo o que poderá ocorrer durante o processo (divisão por zero, por exemplo) d) Quantidade finita de cálculos. e) Existência de um critério de exatidão. f) O erro deve convergir para zero com precisão infinita. g) Eficiência: produz a resposta correta com economia Passos para a resolução de um problema: tipos de erros A resolução de problemas reais envolve diversas etapas: Problema Real Modelagem Matemática Solução Estudaremos algoritmos numéricos a fim de obter uma solução numérica do problema, a qual, geralmente, difere da solução exata. Possíveis fontes de erro que geram essa diferença são: a) Simplificação do modelo matemático ( algumas variáveis envolvidas são desprezadas); b) Erro nos dados de entrada ( com frequência provindos de dados experimentais); c) Truncamento (por exemplo, substituição de um processo infinito por um finito e linearizações); d) Erro de arredondamento em aritmética de ponto flutuante. Curiosidades: Some disasters caused by numerical errors. http://ta.twi.tudelft.nl/users/vuik/wi211/disasters.html Aplicação O volume de uma esfera de raio r pode ser obtido de 4π r 3 V= . 3 Estimar o volume do hemisfério de raio “e” representado graficamente ao lado. Utilizar arredondamento para número mais próximo de máquina (0x) em F( 10 , 4 , -98 , 98). 6 E.B.Hauser – Cálculo Numérico Exercícios 1) No sistema MapleV estimar e − 8.3 utilizando ∞ ( − x )i e e− x = i! i =0 ∑ e− x = 1 1 = x ∞ e xi i! i =0 ∑ com 26 termos cada e comparar com e − 8.3 ≈ 0.2485168271x10 . -3 2) Em F(10 , 3 , -98 , 98) e arredondamento por truncamento estimar p(2.73) se: a) p( x ) = x 3 − 5 x 2 + 6 x + 0.55 b) p( x ) = (( x − 5 )x + 6 )x + 0.55 Em ambos os casos estimar o erro absoluto ao comparar com p(2.73) ≈ 0.11917x10 Obs: Estimar p(x) pelo algoritmo usual p ( x) = a n x n + a x n −1 + ... + a x 3 + a x 2 + a x + a n −1 3 2 1 0 -1 . 2 exige n adições e (n +n)/2 multiplicações enquanto que o algoritmo de Horner p ( x) = (((...( { a n x + a n −1 ) x + a n − 2 ) x + ...a 2 ) x + a1 ) x + a 0 n −1 requer n adições e n multiplicações. 3) Sejam A, B, C e D matrizes genéricas de ordem 10x20, 20x50, 50x1 e 1x100 respectivamente. Utilizando a propriedade associativa, pode-se determinar o produto matricial AxBxCxD de diversas formas. Qual das duas abaixo é mais eficiente? Porque? b) (Ax(BxC))xD a) Ax(Bx(CxD)) 4) Representar o número real x na base 2 usando 8 algarismos significativos? Essa representação é exata? a) x=0.6 b) x=13.25 c) x= 2.47 5) Determinar o cardinal , regiões de underflow e overflow e todos elementos reais de: a) F(2,3,-1,2) b) F(3,2,-1,2) c) F(2,2,-2,2) 6) Representar, se possível, os números abaixo em utilizando arredondamento por truncamento( ∇x )e arredondamento para número mais próximo de máquina (Ox) em F(10,5,-2,2). 200 2000 1 b) e) c) d) e f) 2 a) 3 3 3 3000 10 1 ∑ i i =1 2 a) Calcular o valor de A utilizando precisão infinita.. b) Utilizando arredondamento por truncamento ( ∇x ) em F(10,3,-98,98), estimar o valor de A somando da direita para esquerda e após somando da esquerda para a direita. Comparar os resultados. 7) Considerando: A = 7 1 - Teoria dos Erros Respostas: 1) exp(-8.3); .0002485168271 > f1:=sum(((-x)^i)/i!, i=0..25): > f1a:=unapply(f1,x): > f1a(8.3); -.001241405905 Obs: Causas desse erro: subtração de grandezas muito próximas e adição de grandezas de diferentes ordens. > > f2:=1/(sum(((x)^i)/i!, i=0..25)): > f2a:=unapply(f2,x): > f2a(8.3); .0002485170000 2) a)p(2.73)= -0.05 ,erro absoluto = 0.061917 b)p(2.73)=0.032 ,erro absoluto = 0.020083 3) (Ax(BxC))xD é mais eficiente pois exige 2200 multiplicações enquanto que para calcular o produto Ax(Bx(CxD)) são necessárias 125000 multiplicações . OBS: Se M é de ordem pxq e N de ordem qxr, então MxN, de ordem pxr, é obtida efetuando pqr operações de multiplicações de elementos de M e N. 4-a) (0,6)10 ≈ (0,10011001)2 b) (13,25)10 ≈ (1101,01) 2 c) (2.47)10 ≈ (10,011110) 2 5)-a) 0, 1/4, 1/2, 1, 2, 5/16, 5/8, 5/4, 5/2, 3/8, 3/4, 3/2, 3, 7/16, 7/8, 7/4, 7/2 e simétricos. # F = 33 Região de oferflow: ( −∞,−7 / 2) ∪ (7 / 2,+∞) Região de underflow: (-1/4,1/4) - {0} b) 0, 1/9, 1/3, 1,3, 4/27, 4/9,4/3, 4, 5/27, 5/9, 5/3, 5, 2/9, 2/3, 2, 6, 7/27, 7/9, 7/3, 7, 8/27, 8/9, 8/3, 8 e seus simétricos. # F = 49 Região de oferflow: ( −∞,−8) ∪ (8,+∞) Região de underflow: (-1/9,1/9) - {0} c) 0, 1/8, 1/4, 1/2, 1, 2, 3/16, 5/16, 3/4, 3/2, 3, e seus simétricos. # F = 21 Região de oferflow: ( −∞,3) ∪ (3,+∞) Região de underflow: (-1/8,1/8) - {0} 6-a) 0,17320*101 e 0,17321 *101 b) 0,66666*102 e 0,66667*102 d) 0.27182*101 e 0.27183*102 c) overflow (0,66666*103 ∉ e 0,66667*103 ∉ F) –3 1 e) underflow (0.33333*10 ∉ F) f) 0,14142*10 e 0,14142 *101 7-a) 0,9990234375 b) 0,999 e 0,998 8 2. Resolução de Equações Algébricas e Transcendentes Objetivo: Resolver equações de forma f ( x ) = 0 , isto é, determinar os valores de x para os quais a igualdade f ( x ) = 0 é satisfeita. Se a função f ( x ) só contém operações algébricas repetidas um número finito de vezes, a equação é dita algébrica. 1 5 Ex.: polinômios, x 2 − x − 1 = 0 , − x =0 x3 Equações Transcendentes são aquelas em que a variável independente x está submetida a uma operação não algébrica um número finito de vezes. Ex.: e x + x 2 + 1 = 0 , ln x + tgx = 0 , senx − e x = 0 2.1- Equações Polinomiais Revisão sobre polinômio: Seja p( x ) = a n x n + a n −1 x n −1 + K + a 2 x 2 + a1 x + a 0 um polinômio de grau n, onde os coeficientes , são números reais e an ≠ 0 . Temos que: 1) p( x ) possui n raízes, contadas as multiplicidades. 2) Se x1 , x2 ,K, xn forem raízes reais de p( x ) , então p( x ) pode ser fatorado na forma: p( x ) = an ( x − x1 )( x − x2 )K( x − xn ) . Ex1: p( x ) = x 3 + 2 x 2 − x − 2 , tem raízes: x1 = 1, x2 = −1, x3 = −2 . Logo, p ( x ) = ( x − 1)(x + 1)( x + 2 ) 3) Se a + bi é raiz de p( x ) então z = a − bi também o é. Ex.: p( x ) = x 2 − 6 x + 10 tem raízes 3 ± i . 9 E.B.Hauser – Cálculo Numérico 4) Se a + bi é raiz de p( x ) de grau n ≥ 2 , então p( x ) pode ser fatorado: ( ) p( x ) = x 2 − 2ax + a 2 + b 2 ⋅ q( x ) onde o grau de q( x ) é n − 2 . Ex.: a) p( x ) = x 4 − 2 x 3 + x 2 + 2 x − 2 tem raízes ± 1, 1 ± i . ( )( ( ) ) p( x ) = x 2 − 2 x + 2 ⋅ x 2 − 1 Ex.: b) p( x ) = x 3 − 7 x 2 + 16 x − 10 tem raízes 1, 3 ± i . p( x ) = x 2 − 6 x + 10 ⋅ ( x − 1) 5)Se p ( x ) é de grau ímpar, então p ( x ) possui ao menos uma raiz real. 6) Uma raiz x0 de p( x ) tem multiplicidade m se p( x0 ) = p ' ( x0 ) = p " ( x0 ) = K = p m−1 ( x0 ) = 0 e p m ( x0 ) ≠ 0 Ex.:1) x0 = 2 é raiz de multiplicidade 2 p( x ) = 2 x 3 − 6 x 2 + 8 2) x0 = 2 é raiz de multiplicidade 3 de p( x ) = x 4 − 5 x 3 + 6 x 2 + 4 x − 8 10 2 - Resolução de Equações Algébricas e Transcendentes 7) Valor numérico de um polinômio: para calcular, de forma usual, p(xi ) são necessárias n n(n + 1) adições e multiplicações. 2 O Método de Horner faz esse cálculo com n adições e n multiplicações: p( x ) = (((KK (a n x + a n −1 ) x + K + a 2 ) x + a1 ) x + a 0 123 n −1 parênteses Ex.: p( x ) = 3 x 5 + 4 x 4 − 2 x 3 − x 2 + 3 x − 4 = (((( 3 x + 4 )x − 2 )x − 1 )x + 3 )x4 8) Se p( x ) é de grau n , então existe único polinômio de grau n − 1, q( x ) , tal que p ( x ) = ( x − α ) ⋅ q( x ) + p (α ) . Se α é raiz de p( x ) então p (α ) = 0 . É o algoritmo de Briot-Ruffini utilizado para Deflacionar Raízes. Ex. p ( x ) = x 3 − 7 x 2 + 16 x − 10 ( ) e p(1) = 0 α 2 = 2 ⇒ ( x − 2 )(x 2 − 5 x + 6 )+ 2 e p (2 ) = 2 α 3 = −3 ⇒ ( x + 3 )(x 2 − 10 x + 46 )− 148 e p(− 3) = −148 α 1 = 1 ⇒ ( x − 1) x 2 − 6 x + 10 2.1.1-Enumeração das Raízes Enumerar as raízes de p( x ) é dizer quantas são as raízes e se positivas, negativas ou complexas. Regra de Descartes ou Regras de Sinais “O número de raízes reais positivas de p( x ) é igual ao número de variações de sinais na seqüência dos coeficientes ou menor do que este por um número inteiro par, sendo uma raiz de multiplicidade “m” contada como “m” raízes e não sendo considerados os coeficientes nulos”. O número de raízes reais negativas é obtido aplicando a regra de Descartes a p (− x ) Regra de Huat Se p (0 ) ≠ 0 e para algum k, a k2 ≤ a k −1 × ak +1 então p( x ) possui raízes complexas. Regra da Lacuna Se p (0 ) ≠ 0 e para algum K, a k = 0 e a k −1 × ak +1 > 0 , então p ( x ) tem raízes complexas. 11 E.B.Hauser – Cálculo Numérico Ex.: p( x ) = 3 x 5 + x 4 − 5 x 3 − x − 1 • p( x ) pode ter: 1 raiz real positiva, 2 raízes negativas e 2 complexas; ou • 1 raiz real positiva, nenhuma negativa, e 4 complexas. 2.1.2-Localização das raízes de p(x) Localizar as raízes de p( x ) é determinar a região do plano que contém todas as raízes. Cota de Cauchy: Toda raiz α (real ou complexa) de p( x ) satisfaz α ≤ β . Onde β = lim x k , x0 = 0 e k →∞ x k +1 = a n −1 n −1 a n − 2 n − 2 a a xk + K + 1 xk + 0 xk + an an an an Ex.: p( x ) = x 4 − 3x 3 + 3,37 x 2 − 1,68 + 0,3136 x − 1 x k +1 = (3 x + 3,37 x + 1,68 x k + 0,3136) x0 = 0 e 3 k 2 k x1 = 0,748331477355 1 4 x15 = 3,93973077126 x 2 = 1,47358396156 x16 = 3,94696658200 x3 = 2,10693957916 x17 = 3,95190592045 x 4 = 2,61655565303 x18 = 3,9552764745 x5 = 3,00483390194 x19 = 3,9575796715 M M ∴α ≤ 4 12 2 - Resolução de Equações Algébricas e Transcendentes 2.2- Separação de Raízes Reais de f(x)=0 a) Métodos Gráficos: Utiliza-se um dos seguintes processos: esboçar gráfico da função f (x ) e localizar as abcissas dos pontos onde a curva i) intercepta o eixo dos x. ii) de f ( x ) = 0 obter uma equação equivalente f1 ( x ) = f 2 ( x ) . Localizar no mesmo eixo cartesiano os pontos r onde as duas curvas se interceptem: f1 (r ) = f 2 (r ) ⇒ f1 (r ) − f 2 (r ) = 0 ⇒ f (r ) = 0 b) Método Analítico: Seja f ( x ) continua no intervalo [a, b] . Se f (a ) ⋅ f (b ) < 0 , então existe pelo menos uma raiz de f em ( a , b ) . (Se o sinal de f ' é constante em ( a , b ) a raiz é única nesse intervalo). Ex.: p( x ) = x 3 − 9 x + 3 a) Análise gráfica: Logo, existem três raízes reais: r1 ∈ (− 4 , − 3) r2 ∈ (0 , 1) , r3 ∈ (2 , 3) b) analiticamente: x −4 −3 − 3 −1 0 1 3 2 3 p ( x ) − 25 3 13,3923 11 3 − 5 − 7,3923 − 7 3 Obs: Devemos dar uma atenção especial para os casos de: ¾ Raízes muito próximas. ¾ para raízes de multiplicidade par não ocorre troca de sinal. 13 E.B.Hauser – Cálculo Numérico Ex1: p( x ) = x 4 − 3 x 3 + 3,37 x 2 − 1,68 x + 0,3136 r1 = 0,7 e r2 ≅ 0,8 são raízes de multiplicidade 2. 2.3- Métodos para Resolução de equações algébricas e transcendentes Qualquer método deve observar um critério de parada, ao qual está associado um estimador de exatidão. Por exemplo, para onde C , ε 1 , ε 2 , L são dados: • • • • DIGSE( x k , x k + 1 ) ≥ C f (xk ) ≤ ε 1 x k +1 − x k ≤ ε2 x k +1 k > L (número máximo de iterações) 2.3.1-Método da Bisseção ou Dicotomia (Algoritmo de quebra) Seja f : [a, b] → ℜ continua e tal que f (a ) ⋅ f (b ) < 0 . 1) Calcula-se o ponto médio x m = [a, a+b , dividindo-se [a, b ] em dois novos intervalos : 2 x m ] , [x m , b] 2) Se f ( x m ) ≠ 0 e: i) f (a ) ⋅ f ( x m ) < 0 então a raiz está em ( a , xm ) . Volta-se para (1) ii) f ( x m ) ⋅ f (b ) < 0 então a raiz está em ( xm ,b ) . Volta-se para (1) 3) Repete-se o processo até obter uma aproximação “razoável” da raiz, isto é, até que um critério de parada seja satisfeito. Características: É simples a convergência lenta mas garantida. A velocidade de convergência é 0,3 ⋅ DIGSE /passo, isto é, a cada 3 ou 4 passos ganha-se um DIGSE . Ex: p( x ) = x 4 + 2 x 3 − 7,5 x 2 − 20 x − 11 a) Enumeração das raízes de p (x ) ℜ+ Regras de Huat e Lacuna não aplicam 1 1 14 ℜ− 3 1 ⊂ total 0 4 2 4 2 - Resolução de Equações Algébricas e Transcendentes b) Cota de Cauchy: x k +1 = 4 2 x k3 + 7,5 2k + 20 x k + 11, x 0 = 0 x1 = 1,82116028684 M x 2 = 3,03080111616 x14 = 4,64729539211 x3 = 3,74256184946 x15 = 4,64784057829 x 4 = 4,14695320458 x16 = 4,64813826094 M x17 = 4,64830079964 c) Separação de raízes x −5 p( x ) 276,5 − 4 − 3 − 2 −1 77 −1 8,5 r1 0 2 3 4 5 − 11 − 35,5 − 49 − 35 173 576,5 5 r2 1 r4 r3 d) Cálculo da raiz r4 ∈ (3, 4 ) utilizando o método da bissecção. k xk f ( xk ) Ik (3; 35 ) 1 3,5 62 ,9375 (3; 3,25 ) 2 3,25 25 ,00390625 (3; 3,125 ) 3 3,125 9 ,660400391 (3; 3,0625 ) 4 3,0625 2 ,871886353 (3,03125; 3,0625 ) − 0 ,405335188 5 3,03125 (3,03125; 3,046875 ) 6 3,046875 1,1900454168 (3,03125; 3,039625 ) 7 3,0390625 0 ,3883184832 (3,03515625; 3,0390625 ) 8 3,03515625 − 0 ,0095143543 (3,03515625; 3,037109375 ) 9 3,037109375 0 ,1891500395 (3,03515625; 3,0361328125 ) 10 3,0361328125 0 ,0897548754 11 3,03564453125 0 ,0401045242 (3 ,03515625; 3 ,03564453125 ) 12 3,03540039062 0 ,01529111512 (3 ,03515625; 3 ,03540039062 ) 13 3 ,0352783203 0 ,002874148 M Obtemos r4 ≈ x12 = 3,0354039062 com DIGSE ( x12 , x13 ) ≅ 4 ,096 2.3.2-Método da Iteração Linear Consiste em escrever a equação f ( x ) = 0 na forma x = G ( x ) . Os pontos x* que satisfazem a condição x * = G x * são ditos pontos fixos de G (x ) e geometricamente representam os pontos de intersecção da reta y = x com a curva y = G ( x ) . G ( x ) é dita função de iteração do método. Inicia-se a iteração com um valor x0 próximo da raiz, e as outras aproximações são dadas por: xi +1 = G ( xi ), i = 0,1,2,K ( ) 15 E.B.Hauser – Cálculo Numérico A seqüência de aproximação xi , converge para a solução x* da equação f ( x ) = 0 sob certas condições . A construção de G não é única. A escolha de uma G apropriada é dita “problema do ponto fixo. Ex. x 2 + x − 6 = 0 . a) G1 ( x ) = 6 − x 2 b) G 2 = 6 − x , c ) G3 = − 6 − x , G4 = 6 , x +1 G5 = 6 −1 x Embora não seja preciso usar métodos numéricos para encontrar as duas raízes reais α 1 = −3, e α 2 = 2 da presente equação, nota-se que: i) Tomando G1 e x0 = 1,5 , a seqüência {xi } não converge para 2. xi +1 = G1 ( xi ) x1 = G1 ( x0 ) = 6 − (1,5) 2 = 3,75 x 2 = G1 ( x1 ) = 6 − (3,75) 2 = −8,0625 x3 = G1 ( x 2 ) = 6 − (−8,0625) 2 = −59,00390625 x 4 = G1 ( x3 ) = −3475,46095276 x5 = G1 (x 4 ) = −12078822,8342 M ii) Tomando G2 e x0 = 1,5 , a seqüência {xi } converge para 2. x1 = G2 (x0 ) = 6 − 1,5 = 2,12132034356 x 2 = G2 ( x1 ) = 1,9694363804 x 3 = G2 ( x2 ) = 2,00762636454 x 4 = G2 ( x3 ) = 1,99809249923 x 5 = G2 ( x4 ) = 2,00047681835 x 6 = G2 ( x5 ) = 1,99988079186 x 7 = G2 ( x6 ) = 2,00002980181 M Teorema da Convergência: Seja α uma raiz isolada de f em [a, b] . Se i) G e G’são contínuas em [a, b] ; ii) G' ( x ) 〈1,∀x ∈ (a ,b ) ; iii) x0 ∈ Ι e xk + 1 = G( xk ) ∈ (a ,b ), k = 0 ,1,2 ,... , então a seqüência { xk }, gerada por xk +1 = G ( xk ) ,converge para α . 16 2 - Resolução de Equações Algébricas e Transcendentes Ex: Utilizando o método da iteração linear calcule a raiz de f ( x ) = e x + x 3 , com DIGSE (x k , x k +1 ) ≥ 5 f ( x ) = 0 ⇒ e x + x 3 = 0 ⇒ x 3 = −e x ⇒ x = − e = −e Seja 3 G ( x ) = −e x x 3 x 3 x 1 G ' ( x ) = − e 3 ; G ' (− 1) ≅ 0,24 * 3 G ' (0 ) ≅ 0,33 G e G’ são continuas em [-1,0] e G ' ( x ) < 1 ∀x ∈ [−1,0] . xi Logo , a seqüência gerada por xi +1 = −e 3 converge para α ∀x ∈ [−1,0] . Seja x0 = −0,5 x1 = −0,846481725 x 6 = −0,772800243 x 2 = −0,754152577 x7 = −0,772904269 x3 = −0,777723518 x8 = − 0,772877469 f ( x9 ) = 0,000003188 e x 4 = −0,771636903 x9 = −0,772884374 DIGSE ( x9 , x10 ) ≅ 5,34 x5 = −0,773204044 x10 = − 0,772882595 M *G não tem Maximo nem mínimo local em [0,1], testa-se então só os extremos. Características do Método da Iteração Linear: ¾ ¾ ¾ ¾ Não garante a convergência para toda função continua. Necessita do calculo de G’(x). Pode ocorrer dificuldade para encontrar G(x). A convergência é linear para raízes simples (a cada passo do método o erro é reduzido por um fato constante). ¾ A velocidade de convergência depende de G ' (x ) , quanto menor este valor, maior será a convergência. 17 E.B.Hauser – Cálculo Numérico Obs.: Dada a equação f ( x ) = 0 , existem infinitas funções G(x) que são funções de iteração. A forma geral destas funções é: G ( x ) = x + A( x) ⋅ f ( x) , com a condição que em x*, ponto fixo de G(x), se tenha A( x * ) ≠ 0 . Temos que: f ( x * ) = 0 ⇔ G ( x * ) = x * Com efeito: ( ⇒ ) Seja x * tal que f ( x * ) = 0 . G ( x * ) = x * + A( x * ) ⋅ f ( x * ) = x * + A( x * ) ⋅ 0 = x * (⇐) Se G ( x * ) = x * ⇒ x * + A( x * ) ⋅ f ( x * ) = x * ⇒ A( x * ) ⋅ f ( x * ) = 0 ⇒ f ( x * ) = 0 pois A( x * ) ≠ 0 2.3.3-Método de Newton-Raphson Procura garantir e acelerar a convergência do método da Iteração Linear, escolhendo para a função de iteração a função G(x) tal que G’(x)=0 Dada a função f ( x) = 0 , tomamos a forma geral para G(x): G ( x) = x + A( x) ⋅ f ( x) ⇒ G ' ( x) = 1 + A' ( x) ⋅ f ( x) + A( x) ⋅ f ' ( x) ⇒ G ' ( x * ) = 1 + A' ( x * ) ⋅ f ( x * ) + A( x * ) ⋅ f ' ( x * ) ⇒ G ' ( x * ) = 1 + A( x * ) ⋅ f ' ( x * ), pois x * é ponto fixo de G ( x * = G ( x * ) ⇒ f ( x * ) = 0) . Agora , G ( x * ) = 0 ⇒ 1 + A( x * ) ⋅ f ' ( x * ) = 0 ⇒ A( x * ) = −1 . f ' (x* ) 1 f ( x) e G ( x) = x − . f ' ( x) f ' ( x) Então dada f ( x ) , G ( x ) é tal que G ' x * = 0 , pois Tomemos A( x) = − ( ) G ' (x ) = 1 − [ f ' ( x)] − f ( x) ⋅ f " ( x) f ' ( x) ⋅ f " ( x) = e [ f ' ( x)]2 [ f ' ( x)]2 2 f ( x * ) = 0 ⇒ G ' ( x * ) = 0 se f ' ( x * ) ≠ 0. Portanto, iniciando-se a iteração com um valor x0 escolhido, a seqüência ( x k ) é determinada por: f ( xk ) xk +1 = xk − , k = 0,1,2,... f ' ( xk ) ≠ 0 f ' ( xk ) Geometricamente , conforme podemos observar na próxima figura, dado x k , x k +1 é abscissa do ponto de intersecção da reta tangente à curva f (x ) em ( x k , f ( x k )) e o eixo dos “x”. Assim, f ( xk ) f ( xk ) tgθ = = f ' ( x k ) ⇒ x k +1 = x k − x k − x k +1 f ' ( xk ) 18 2 - Resolução de Equações Algébricas e Transcendentes f ( xk ) f ( xk + 1 ) θ xk + 1 xk x k +1 Convergência: (é trabalhoso mostrar que G' ( x ) < 1 ). O método de Newton-Raphson converge se: f ( x) f " ( x) G ' ( x) = < 1 ⇒ f ( x) f " ( x) < ( f ' ( x)) 2 . 2 ( f ' ( x)) Para raízes simples a convergência é quadrática e para raízes duplas ou triplas é linear. Escolha do ponto inicial: Seja α ∈ ( a ,b ) raiz de f . f (a) ⋅ f " (a) > 0 ⇒ x0 = a Se f (b) ⋅ f " (b) > 0 ⇒ x0 = b (a + b) . Caso contrário, pode-se considerar x0 = 2 Ex.: 1) Estimar o valor da única raiz real de f ( x ) = 2 x + ln x , utilizando Newton-Raphson. f ( x ) = 2 x + ln x x, 19 x− 2 x + ln x 1 2− x E.B.Hauser – Cálculo Numérico xk + 1 = x k − x0 = 0 ,5 2 xk + ln xk 1 2+ xk x1 = 0 ,42 x2 = 0 ,42699599 x3 = 0 ,426302751 x4 = x 3 Logo a aproximação para a raiz é α = 0 ,426302751 com 9 dígitos significativos corretos. 2) Calcular a raiz r4 ∈ [3,4] do polinômio dado anteriormente: p( x) = x 4 + 2 x 3 − 7,5 x 2 20 x + 11 . p(3) ⋅ p" (3) < 0 e p (4) ⋅ p" (4) > 0 ⇒ x 0 = 4 x k +1 x k4 + 2 x k3 − 7,5 x k2 − 20 x k − 11 = xk − 4 x k3 + 6 x k2 − 15 x k − 20 x0 = 4 x1 = 3,36397059 x 2 = 3,08982331 Uma aproximação para a raiz é r4 = 3,03524990 com 9 dígitos significativos e 5 iterações. x3 = 3,03709653 x 4 = 3,03525211 x5 = 3,03524990 x 6 = x5 Obs: O Método de Newton pode divergir devido ao uso da tangente, oscilando indefinidamente. 20 2 - Resolução de Equações Algébricas e Transcendentes Isto acontece quando: i) Não há raiz real Ocorre simetria de f ( x ) em torno de α ii) O valor inicial x0 está longe da raiz exata, fazendo que outra parte da função iii) prenda a iteração. 2.3.4-Método da Secante Uma desvantagem do Método de Newton-Raphson é o calculo do valor numérico de f ' ( x ) a cada iteração. O método da secante contorna este problema, substituindo a derivada pelo quociente das diferenças: f ( x k ) − f ( x k −1 ) f ' ( xk ) ≅ x k − x k −1 onde xk e x k −1 são duas aproximações para a raiz de f ( x ) . A formula iterativa é: ( x k − x k −1 ) ⋅ f ( x k ) f ( x k ) − f ( x k −1 ) Geometricamente, a partir das aproximações para a raiz de xk e x k +1 , o ponto x k +1 é dado pela abscissa do ponto de intersecção do eixo Ox e da reta secante que passa por ( x k −1 , f ( x k −1 )) e ( x k , f ( x k )) . x k +1 = Características do método da secante: 9 Garante a convergência para toda função continua 9 Pode divergir se f ( x k ) ≅ f ( x k −1 ) 9 Convergência mais lenta que o Método de Newton e mais rápida que Bissecção e Iteração Linear. 9 São necessárias duas aproximações da raiz a cada iteração. Ex: p( x ) = x 3 − 5 x 2 + 17 x + 21 e α ∈ ( −1,0 ) x k +1 ( x k − x k −1 ) ⋅ ( x k3 − 5 x k2 + 17 x k + 21) = xk − 3 ( x k − 5 x k2 + 17 x k + 21) ⋅ ( x k3−1 − 5 x k2−1 + 17 x k −1 + 21) x0 = −1, x1 = 1 x1 = −0,888888888889 x 2 = −0,960142348759 x3 = −0,931787651586 x 4 = −0,932112394706 x5 = −0,93211485688 x6 = −0,932114856662 x7 = x6 21 E.B.Hauser – Cálculo Numérico Exercícios 1) Uma partícula é arremessada verticalmente, a partir do solo, com uma velocidade inicial vo .Desprezando a resistência do ar, supomos que a posição p partícula é dada por: g d ( t ) = vo t − t 2 , 2 onde g é aceleração da gravidade. Determinar a altura máxima atingida pela partícula e o instante em que ocorreu. 2) Uma corrente oscilante num circuito elétrico é descrita por I = 9e − t sen( 2 π t ) , t em segundos. Determinar todos os valores positivos de t para os quais I = 3.5. 3) A concentração de uma bactéria poluente num lago é descrita por C = 70 e − 1.5t + 2.5e − 0.075t Encontrar o tempo para que a concentração seja reduzida para nove. 4) O deslocamento de uma estrutura está definido pela seguinte equação D = 8 e − kt cos wt onde k = 0.5 e w = 3. a) Determinar graficamente uma estimativa inicial do tempo necessário para o deslocamento decrescer para 4. b) Usar o método de Newton-raphson para determinar essa raiz 5) Enumerar, localizar, separar e calcular (via Newton-Raphson e/ou Bissecção ), se possível, todas as raízes dos polinomios tendo como critério de parada DIGSE (xk , xk+1) ≥ 5. No caso de raízes múltiplas, determinar a multiplicidade da raiz e calcular as demais utilizando deflação. a) p(x) = x 3 − 2 x 2 + 3x − 5 b) p(x) = x5 - 15,5x4 +77,5x3 - 155x2 +124x -31 c) p(x) = x 4 − 121x 3 + 2247 x 2 − 15043x + 34300 d) p(x) = x 4 − 115x 3 + 1575x 2 − 7625x + 12500 e) p(x) = x 4 − 3x 3 + 3.37 x 2 − 168 . x + 0.3136 4 3 f) p(x) = x -11,101x +11,1111x2-1,011x+0,001 g) p(x) = x9- 4x8 + 3,9x7 +3,02x6 - 5,5295x5 - 0,84732x4 + 2,83536x3 + 0,37152x2 -0,59616x 0,15552 h) p(x) = x3 - 2081,93x2 +1424,64x- 3,19728 i) p(x) = x4 + 1,98x3 +1,1424x2 +0,162602x - 0,00174225 6) Localizar graficamente e calcular ( via Newton-Raphson e/ou Método da Iteração Linear) todas as raízes, com DIGSE(xk , xk+1) ≥ 5: 22 2 - Resolução de Equações Algébricas e Transcendentes a) b) c) d) f(x) = x2 + ln x f(x) = x + 2 cos x f(x) = 2x + ln x f(x) = cos x + ln x + x 2 e) f(x)= x + e − Bx para B = 1,5,10,25,50 7) Responder resumidamente: a) Em que consiste o princípio da bissecção para determinar a primeira aproximação de uma raiz de uma equação f(x)=0? b) Explicar o método da iteração linear para calcular uma raiz de uma equação f(x)=0, partindo de uma primeira aproximação x0. c) Quando não converge a iteração linear? d) Quando não converge o Método de Newton Raphson? e) Interpretar geometricamente o Método de Newton-Raphson. f) Qual a vantagem de se utilizar o Algoritmo de Horner para se avaliar o valor do polinomio num ponto? Exemplificar. Respostas: 1) O deslocamento máximo é vo2/2g e ocorreu em t = vo/g. 2) t = 0.06835432097 e t = 0.4013436927 3) t = 1.556787935 23 E.B.Hauser – Cálculo Numérico 4) t = 0 .3151660803 5-a) r+ r3 0 1 0 ¢ 0 2 T 3 3 p tem raízes complexas. Existe uma raiz real em (1,2) Raízes: x=1,84373427779 x= 0.07813286110 ± 1.644926378i . b) Raízes: .4555300547, 1.092601944, 1.940878206, 4.011783883, 7.999205912 c) Raízes: R1=100 e R2= 7(multiplicidade 3), não tem raízes complexas. d) Raízes: R1=10 e R2=5(multiplicidade 3), não tem raízes complexas. e) f) g) h) i) Raízes: R1=0.7(multiplicidade 2), R2=0.8(multiplicidade 2) Raízes: R1=0,001 R2=0,1 R3=1 R4=10 Raízes: R1=-0,5(multiplicidade 4), R2=1,2(multiplicidade 5) Raízes: R1= 0.002251681490, R2 = 0.6822607762 , R3= 2081.245488 Raízes: R1=-1,01 R2=-0,75 R3=-0,23 R4=0,01 6-a) R ≅ .6529186400 b) R ≅ -1.029866529 c) R ≅ 0 .42630275100 e) Existe única raiz de f em (-1,0) 24 d) R ≅ .2875182754 3. Sistemas de Equações Lineares O sistema com n equações lineares e n variáveis a11 x1 + a12 x 2 + a13 x 3 + L + a1n x n = b1 a 21 x 2 + a 22 x 2 + a 23 x 3 + L + a 2 n x n = b 2 M M M M M a n1 x1 + a n 2 x 2 + a n3 x 3 + L + a nn x n = b n pode ser representado matricialmente por AX = B , onde ⎡ a 11 a 12 ⎢ a 21 a 22 A=⎢ ⎢ M M ⎢ ⎣ a n1 a n 2 K K K a 1n ⎤ ⎥ a 2n⎥ , M ⎥ ⎥ a nn ⎦ ⎡ x1⎤ ⎢ ⎥ x2 X =⎢ ⎥ , ⎢M⎥ ⎢ ⎥ ⎣ x n⎦ ⎡ b1 ⎤ ⎢ ⎥ b2 B=⎢ ⎥ ⎢M⎥ ⎢ ⎥ ⎣b n ⎦ e A é a matriz dos coeficientes, X é o vetor das incógnitas e B o vetor dos termos independentes. 3.1- Introdução à problemática de sistemas Um SEL pode ser mal condicionado, bem condicionado ou sem solução. Um sistema é “mal condicionado” se uma pequena alteração nos dados pode provocar uma grande alteração na solução. Por exemplo: ⎧ x + 0 ,98 y = 4 ,95 (a) ⎨ ⎩x + y = 5 ⎛ 2 ,5 ⎞ tem solução exata x = ⎜⎜ ⎟⎟ ⎝ 2 ,5 ⎠ ⎧ x + 0 ,99 y = 4 ,95 (b) ⎨ ⎩x + y = 5 ⎛ 0 ,0 ⎞ tem solução exata x = ⎜⎜ ⎟⎟ ⎝ 5 ,0 ⎠ Uma alteração de 1% (0,01 no coeficiente 0,98) ocasionou uma alteração de 100% na solução. No caso de um sistema linear de ordem 2, cada equação representa uma reta. Resolver o sistema significa determinar a intersecção das duas retas. Três casos são possíveis: R1 R1 R2 R2 R1 Bem condicionado det ≠ 0 retas concorrentes Não tem solução. det = 0 retas paralelas Mal condicionado det ≅ 0 (perturbação em ℜ 2 ) 25 R2 E.B.Hauser – Cálculo Numérico Exemplo2: ⎧ x + 5 y = 17 (a) ⎨ ⎩1,5 x + 7 ,501 y = 25 ,503 ⎛2⎞ tem solução exata: x = ⎜⎜ ⎟⎟ ⎝3⎠ ⎧ x + 5 y = 17 (b) ⎨ ⎩1,5 x + 7 ,501 y = 25 ,501 ⎛ 12 ⎞ tem solução: x = ⎜⎜ ⎟⎟ ⎝1⎠ 3.2-Medidas de Condicionamento O determinante normalizado da matriz dos coeficientes A é dado por det A 2 NORM A = onde α k = ak21 + ak22 + L akn , para k = 1, 2, ..., n α 1α 2 Lα n Norm A ∈ (− 1 , 1) e quanto mais afastado de ± 1 (isto é, quanto mais próximo de zero) mais mal condicionado é a matriz A. Retomando o Ex2: 1 5 ⎞ α 1 = (1 + 25 ) 2 = 5 ,09901951359 ⎛ 1 ⎟⎟ 2) A = ⎜⎜ ⎝ 1,5 7 ,501⎠ ( α 2 = 1,5 2 ) 1 2 2 + 7 ,501 det A = 7 ,501 − 5 ⋅ 1,5 = 0 ,001 norm A = = 7 ,649550985358 0 ,001 0 ,001 = = 0 ,00002563773874 α 1 ⋅ α 2 39 ,0050000128 Agora, como pode ser medido o condicionamento de um sistema linear? Dado um SEL AX = B , o seu número de condicionamento é dado por: Cond ( A ) = A A−1 . Quanto maior for Cond ( A ) , mais sensível será o sistema linear. n Utilizamos A = A ∞ = max ∑ aij , a norma do máximo das linhas. 1≤ i ≤ n i = 1 Ex: 5 ⎞ ⎛ 1 ⎛ 7501 − 5000 ⎞ ⎟⎟ , A −1 = ⎜⎜ ⎟⎟ A = ⎜⎜ ⎝ 1,5 7 ,501 ⎠ ⎝ − 1500 1000 ⎠ A = 9 ,001 , A − 1 = 12501 Cond ( A ) = A A − 1 = 112521,501 ≅ 1 ⋅ 10 5 26 Sistemas de Equaçõe Lineares 3.3-Método de Resolução de Sistemas Métodos Diretos: A solução exata é obtida realizando-se um número finito de operações aritméticas em ℜ (com precisão infinita): Eliminação de Gauss e Gauss Jordan. Métodos Iterativos: A solução x é obtida como limite de uma seqüência de aproximações sucessivas x1, x2, ... . Método de Eliminação de Gauss Algoritmo básico de Gauss: A solução de AX = B é calculada em duas etapas: 1º- Triangularização : Mediante operações elementares nas linhas, a matriz A é transformada numa matriz triangular superior. para k = 1,K ,n − 1 (indica a linha do pivô) (indica a linha a transformar de A) para i = k + 1,K ,n − aik m= akk aik = 0 (indica a coluna a transformar da linha i) para j = k + 1,K , n a ij = a ij + m ⋅ a kj bi = bi − m ⋅ b k Obs.: Se a ii = 0 é necessário trocar de linha, se possível. Algoritmo: 2º- Retro-substituição: A triangularização transforma o sistema AX = B , no sistema equivalente: c 11 x 1 + c 12 x 2 + c 13 x 3 + L + c 1n x n = d 1 c 22 x 3 + c 23 x 3 + L + c 2 n x n = d 2 c 33 x 3 + L + c 3n x n = d 3 LLLLLLL c nn x n = d n cuja solução é dada por: xn = dn , cnn xn − 1 = (d n −1 − cn −1,n xn ) , an −1,n −1 d − (c12 x2 + c13 x3 + L + c1n xn ) x1 = 1 a11 Teorema: O método de Gauss produz sempre a solução exata do sistema AX = B (utilizando precisão infinita) se det A ≠ 0 e as linhas de A forem permutadas quando aii = 0 . 27 E.B.Hauser – Cálculo Numérico Quando é utilizada aritmética do ponto flutuante, erros de arredondamento podem comprometer a solução obtida. Ex.: Em F (10 ,3 ,−98 ,98 ) , com arredondamento para número mais próximo de máquina “ox”, a ⎧0 ,0002 x + 2 y = 5 elminação de Gauss aplicada ao sistema ⎨ produz x = 0 e y = 2 ,5 o que não 2x + 2 y = 6 ⎩ satisfaz a segunda equação do sistema. (Obs.: multiplicador m = −10.000 por L2 = L2 + L1 (m ) ) Gauss com Pivotamento Parcial O método consiste em trocar linhas (ou colunas) de maneira a minimizar a propagação de erros nas operações. Escolhas dos pivôs: 1º pivô é o elemento de maior valor absoluto da coluna 1. 2º pivô é o elemento de maior valor absoluto da coluna 2 e da diagonal para baixo. Procede-se da mesma forma para os demais pivôs: 3º pivô 1º pivô 2º pivô Aplicando a técnica ao último exemplo 2x + 2 y = 6 ⎧ , em F (10 ,3 ,−98 ,98 ) , com ⎨ ⎩0 ,0002 x + 2 y = 5 arredondamento para número mais próximo de máquina “ox”, obtemo x = 0 ,5 e y = 2 ,5 . (Obs.: Neste caso o multiplicador é menor m= - 0,0001) Método de Gauss-Jordan (Matriz Inversa) A solução do SEL AX = B é calculado utilizando X = A −1 B se det A ≠ 0 . Obs.: Ver exercício 9. Métodos Iterativos Os sistemas lineares de grande parte são, em geral, esparsos (muito elementos aij = 0 ). Os métodos diretos não preservam a esparsidade, enquanto que os métodos iterativos sim, além de apresentarem relativa insensibilidade ao crescimento dos erros de arredondamento. No sistema original AX = B , supondo aii ≠ 0 ,i = 1,K ,n , o vetor X é isolado mediante a separação de diagonal principal: 28 Sistemas de Equaçõe Lineares 1 (b1 − a12 x2 − a13 x3 − K − a1n xn ) a11 1 (b2 − a21 x1 − a23 x3 − K − a2 n xn ) x2 = a22 M M 1 (bn − an1 x1 − an2 x2 − K − an ,n −1 xn −1 ) xn = ann x1 = Metodo de Gauss-Jacobi Dada a aproximação inicial X0, o processo iterativo produz aproximações sucessivas X 1 , X 2 , K, X k ,K , obtidas de: x1(k +1) = 1 ⎛ (k ) ⎜ b1 − a12 x 2(k ) − a13x 3 − K − a1n x n (k ) ⎞⎟ ⎠ ⎝ a11 1 b 2 − a 21x1(k ) − a 23x 3(k ) − K − a 2n x n (k ) x (2k +1) = a 22 M M 1 (k ) ⎞ ⎛⎜ b − a x (k ) − a x (k ) − K − a x (nk +1) = n ,n −1x n −1 ⎟⎠ n2 2 n n1 1 ⎝ a nn ) ( Método de Gauss-Seidel Para X0 dado: x1(k + 1) = 1 a11 1 x2(k + 1) = a22 1 x3(k + 1) = a33 M 1 xn(k + 1) = ann (b − a (b − a (b − a (k ) − a x (k ) − K − a x (k ) 1n n 13 3 1 12 x2 2 21 x1 3 31 x1 (b ) (k + 1) − a x (k ) − K − a x (k ) 23 3 2n n ) (k + 1) − a x (k + 1) − a x( k ) − K − a x (k ) 3n n 32 2 34 4 M (k + 1) − a x (k + 1) − K − a (k + 1) n ,n −1 xn − 1 n2 2 n − an1 x1 ) ) Critério de Convergência O teorema abaixo estabelece uma condição suficiente para a convergência dos métodos de Gauss-Jacobi e de Gauss-Seidel. Teorema Dado o sistema linear AX = Y , se a matriz A é Diagonalmente Dominante, isto é, se a ii > ∑ a ij j ≠i ∀ i , então tanto o método de Jacobi como o de Gauss-Seidel gera uma seqüência (X (k ) ) convergente para a solução do sistema dado, independente da escolha da aproximação inicial X (0 ) . 29 E.B.Hauser – Cálculo Numérico Exemplo: Resolver o sistema abaixo por Gauss- Jacobi e Gauss-Seidel. Critério de Parada: erro absoluto da solução calculada for menor que 10-3. ⎧ x1 ⎪ ⎪ ⎨ ⎪ 2 x1 ⎪⎩0 ,5 x1 + 4 x2 − x3 − x4 =− 2 + 2 x4 + x4 =−3 = 1 + x3 = 1,5 Reordenamos a fim de satisfazer ao critério de convergência. ⎧ 2 x1 ⎪ x ⎪ 1 ⎨ 0 , 5 x 1 ⎪ ⎪⎩ + x4 + 4 x2 = 1 =− 2 − x4 + x3 − x3 + 2 x4 2 > 1 = 1,5 4 1 > > 1 + −1 0 ,5 =−3 2 > −1 Como a matriz dos coeficientes , após a reordenação, é diagonalmente dominante, então a aplicação dos métodos de Gauss-Jacobi e Gauss-Seidel produzirá uma seqüência (X (k ) ) convergente para a solução exata. Gauss-Jacobi Fórmulas iterativas: (k ) ⎞ ⎛ ⎟ ⎜1 − x 4 ⎠ ( k + 1) ⎝ = 0 ,5 − 0 ,5 x4(k ) x1 = 2 x2(k + 1) = (k ) (k ) ( −2 − x1 + x4 4 ( x3(k + 1) = 1,5 − 0 ,5 x1(k ) (k ) ( −3 + x3 x (k + 1) = 4 2 ) ) = −0 ,5 − 0 ,25 x1(k ) + 0 ,25 x4(k ) ) = −1,5 + 0 ,5 x3(k ) Aproximação inicial: X (0 ) = 0 . 30 Sistemas de Equaçõe Lineares k 0 1 2 3 4 5 6 7 8 9 10 11 : 40 x1 x2 x3 x4 0 0,5 1,25 0,875 0,9375 1,03125 0,984375 0,9921875 1,00390625 0,998046875 0,9990234375 1.000488282 : 1 0 0,5 -1,0 -1,0 -0,9375 -1,0000 -1,0000 -0,9921875 -1,0000 -1,0000 -0,999023437 -1.0000000 : -1 0 1,5 1,25 0,875 1,0625 1,03125 0,984375 1,0078125 1,00390625 0,998046875 1,000976563 1.000488281 : 1 0 -1,5 -0,75 -0,875 -10625 -0,96875 -0,984375 -1,0078125 0,9960375 -0,998046875 -1,000976563 -0,999511718 : -1 na 12a. iteração consegue-se x (12 ) − x 11 < 10 −5 Gauss-Seidel Fórmulas iterativas: x1(k + 1) = 0 ,5 − 0 ,5 x4(k ) x2(k + 1) = −0 ,5 − 0 ,25 x1(k + 1) + 0 ,25 x4(k ) x3(k + 1) = 1,5 − 0 ,5 x1(k + 1) x4(k + 1) = −1,5 + 0 ,5 x3(k + 1) k 0 1 2 3 4 5 : 12 x1 0 0,5 0,9375 0,9921875 0,9990234375 0,999877929 : 1 x2 0 -0,625 0,953125 -0,994140625 -0,9992675781 -0,999908447 : -1 x3 0 1,25 1,03125 1,00390625 1,000488281 1,000061035 : 1 x (5 ) − x (4 ) < 10 − 5 31 x4 0 -0,875 -0,984375 0,99806875 -0,999755895 -0,999969482 : -1 E.B.Hauser – Cálculo Numérico EXERCÍCIOS 1) Uma consideração importante no estudo da transferência de calor é a de se determinar a distribuição de temperatura numa placa, quando a temperatura nas bordas é conhecida. Supomos que a placa da figura represente um seção transversal de uma barra de metal, com fluxo de calor desprezível na direção perpendicular à placa. Sejam T1, T2 , ..., T6 as temperaturas nos seis vértices interiores do reticulado da figura. A temperatura num vértice é aproximadamente igual à média dos quatro vértices vizinhos mais próximos (à esquerda, acima, à direita e abaixo). Por exemplo: T1 = ( 10 + 20 + T2 + T4 )/4 ou 4T1 = 10 + 20 + T2 + T4 a) Escrever o sistema de seis equações, cuja solução fornece estimativas para as temperaturas T1, T2 , ..., T6. b) Resolver o sistema utilizando o sistema MapleV. 20o 10o 1 20o 20o 1 2 3 4 5 6 10o 40o 40o 20o 20o 20o 2) Num experimento num túnel de vento, a força sobre um projétil devido à resistência do ar foi medida para velocidades diferentes. velocidade 0 2 4 6 8 10 força 0 2.90 14.8 39.6 74.3 119 Expressar a força como função da velocidade aproximando-a a um polinômio de quinto grau: f ( v ) = a o + a 1 v + a 2 v2 + a 3 v3 + a 4 v4 + a 5 v5 Verificar a validade de f (v) encontrada e obter uma estimativa para a força sobre o projétil quando ele estiver se deslocando a uma velocidade de 1, 3, 5, 7 e 9 unidades de velocidade. ⎧ x1 + 0 ,5 x2 + 0 ,33 x3 = 1,83 ⎪ 3) Considere o sistema (#) ⎨0 ,5 x1 + 0 ,33 x2 + 0 ,25 x3 = 1,08 . ⎪0 ,33 x + 0 ,25 x + 0 ,2 x = 0 ,78 1 2 3 ⎩ a) (#) é bem ou mal condicionado? Porque? O que isso significa? b) Resolver (#) pelo método de Gauss sem pivotamento. 32 Sistemas de Equaçõe Lineares ⎧ x1 + 1 / 2 x2 + 1 / 3 x3 + 1 / 4 x4 + 1 / 5 x5 = 137 / 60 ⎪ ⎪⎪1 / 2 x1 + 1 / 3 x2 + 1 / 4 x3 + 1 / 5 x4 + 1 / 6 x5 = 87 / 60 4) Idem ao 3 para ⎨1 / 3 x1 + 1 / 4 x2 + 1 / 5 x3 + 1 / 6 x4 + 1 / 7 x5 = 459 / 420 ⎪1 / 4 x + 1 / 5 x + 1 / 6 x + 1 / 7 x + 1 / 8 x = 743 / 840 1 2 3 4 5 ⎪ ⎪⎩1 / 5 x1 + 1 / 6 x2 + 1 / 7 x3 + 1 / 8 x4 + 1 / 9 x5 = 1879 / 2520 5) Resolver por Eliminação de Gauss com pivotamento parcial. ⎧3 x1 − 5 x2 + 6 x3 + 4 x4 − 2 x5 − 3 x6 + 8 x7 = 47 ⎪ x + x + 9 x + 15 x + x − 9 x + 2 x = 17 2 3 4 5 6 7 ⎪ 1 ⎪2 x1 − x2 + 7 x3 + 5 x4 − x5 + 6 x6 + 11x7 = 24 ⎪ a) ⎨− x1 + x2 + 3 x3 + 2 x4 + 7 x5 − x6 − 2 x7 = 8 ⎪4 x + 3 x + x − 7 x + 2 x + x + x = 13 2 3 4 5 6 7 ⎪ 1 ⎪2 x1 + 9 x2 − 8 x3 + 11x4 − x5 − 4 x6 − x7 = −10 ⎪ ⎩7 x1 + 2 x2 − x3 + 2 x4 + 7 x5 − x6 + 9 x7 = 34 ⎧− x1 + 2x 2 + 42x 3 = 83 ⎪ b) ⎨72x1 − 41x 2 − 14x 3 = 44 ⎪35x + 10x − 5x − = 25 2 3 ⎩ 1 ⎧2 x1 + x2 − 0.1x3 + x4 = 2.7 ⎪0.4 x + 0.5 x + 4 x − 8.5 x = 21.9 ⎪ 1 2 3 4 c) ⎨ ⎪0.3 x1 − x2 + x3 + 5.2 x4 = −3.9 ⎪⎩ x1 + 0.2 x2 + 2.5 x3 − x4 = 9.9 6) Referente ao sistema linear AX=B, verificar se a afirmação é Verdadeira ou falsa . i) Se det A = 0 então o sistema não tem solução .Justificar verificando o que acontece em : ⎧ x1 − x2 + x3 = 5 ⎧ x1 + x2 = 0 ⎪ ⎪ a) ⎨ x1 + x2 = 4 e b) ⎨ x1 − x3 = 0 ⎪− 2 x + x = 2 ⎪x + x = 0 2 3 3 ⎩ ⎩ 2 ii) Se A não é uma matriz Diagonal Dominante então os métodos de Gauss-Jacobi e Gauss-Seidel não geram uma sequência convergente para a solução . Justificar verificando o que acontece com ⎧x + y = 3 ⎧ x − 3 y = −3 a) ⎨ b) ⎨ ⎩ x − 3 y = −3 ⎩x + y = 3 7) Resolver pelo Método de Gauss-Seidel. Apresentar as fórmulas iterativas e uma garantia de convergência (se possível). ⎧3 x1 − 5 x2 + 47 x3 + 20 x4 = 18 ⎧8 x1 + 2 x2 + 3 x3 = 30 ⎪11x + 16 x + 17 x + 10 x = 26 ⎪ ⎪ 1 2 3 4 a) ⎨ b) ⎨ x1 − 9 x2 + 2 x3 = 1 ⎪2 x + 3 x + 6 x = 31 ⎪56 x1 + 22 x2 + 11x3 − 18 x4 = 34 2 3 ⎩ 1 ⎪⎩17 x1 + 66 x2 − 12 x3 + 7 x4 = 82 33 E.B.Hauser – Cálculo Numérico ⎧4 x + y 2 + z = 11 ⎪ ⎪ 8) Resolver o sistema de equações algébricas não lineares: ⎨ x + 4 y + z 2 = 18 ⎪ 2 ⎪⎩ x + y + 4 z = 15 ⎧2 x1 + x2 + 7 x3 = b1 9) Resolver ⎪⎨ x1 + 3 x2 + 2 x3 = b2 para: ⎪5 x + 3 x + 4 x = b 2 3 3 ⎩ 1 a) b1 =16 b2 = -5 b3=11 b) b1 =25 b2 = -11 b3 = -5 c) b1 =3 b2 = 5 b3 = -5 10) Utilizando Eliminação Gaussiana calcular detA. ⎡7 0 ⎡− 2 − 3 − 1 − 2⎤ ⎢3 − 2 ⎥ ⎢− 1 0 ⎢ 1 2 − ⎥ a) A = ⎢ b) A = ⎢0 5 ⎢− 3 − 1 − 4 1 ⎥ ⎢ ⎥ ⎢ ⎢0 1 ⎣ − 2 2 − 3 − 1⎦ ⎢⎣1 0 8 0.5 0 ⎤ 0 0 0 ⎥⎥ 3 0 3 ⎥ ⎥ 1 9 0.25⎥ 3 1 0 ⎥⎦ 11) Qual o Resíduo produzido pela solução aproximada X’= [ -3 4 0]T de ⎧0.24 x1 + 0.36 x2 + 0.12 x3 = 0.84 ⎪ ⎨0.12 x1 + 0.16 x2 + 0.24 x3 = 0.52 ⎪0.15 x + 0.21x + 0.25 x = 0.64 1 2 3 ⎩ Respostas: 1) Solução obtida utilizando o MapleV: >solve({4*T1=10+20+T2+T4,4*T2=T1+20+T3+T5,4*T3=T2+20+40+T6, 4*T4=10+T1+T5+20,4*T5=T4+T2+T6+20, 4*T6=T5+T3+40+20}, {T1,T2,T3,T4,T5,T6}); {T6 = 190/7, T5 = 150/7, T4 = 120/7, T3 = 190/7, T1 = 120/7, T2 = 150/7} > evalf(%); {T6 = 27.14285714, T5 = 21.42857143, T4 = 17.14285714, T3 = 27.14285714, T1 = 17.14285714, T2 = 21.42857143} 2) Solução utilizando o sistema MapleV: >solve({a0=0,2.90=a0+a1*2+a2*4+a3*8+a4*16+a5*32, 14.8=a0+a1*4+a2*(4^2)+a3*(4^3)+a4*(4^4)+a5*(4^5), 39.6=a0+a1*6+a2*(6^2)+a3*(6^3)+a4*(6^4)+a5*(6^5), 74.3=a0+a1*8+a2*(8^2)+a3*(8^3)+a4*(8^4)+a5*(8^5), 119=a0+a1*10+a2*(10^2)+a3*(10^3)+a4*(10^4)+a5*(10^5)}, {a0,a1,a2,a3,a4,a5}); {a0 = 0, a2 = -1.194791667, a5 = .002604166667, a4 = -.07005208333, a3 = .6614583333, a1 = 1.712500000} >f:=x->1.712500000*x-1.194791667*x^2+.6614583333*x^3-.7005208333e1*x^4+.2604166667e-2*x^5; > validade:=[f(0),f(2),f(4),f(6),f(8),f(10)]; 34 Sistemas de Equaçõe Lineares validade := [0, 2.899999998, 14.80000000, 39.60000000, 74.29999994, 119.0000000] > estimativas:=[f(1),f(3),f(5),f(7),f(9)]; estimativas := [1.111718750, 7.202343750, 25.73046873, 55.89609367, 94.9992188] 3-a) Mal condicionado. NORM A ≅ 0,000181. Uma pequena perturbação nos dados de entrada pode causar uma grande alteração na solução. b) A solução exata é X=[1 1 1]T 4 - NORM A ≅ 0,00257, a solução exata é X=[1 1 1 1 1 1 1]T 5- a)X=[-21,86188 11,46568 2,376447 -8,514801 0,7475478 -15,50981 18,08498]T b) solução exata X=[1 0 2]T c) solução exata X=[1 2 3 -1]T 6-i) a) detA=0 e o sistema e incompatível b) detA = 0 e o sistema tem infinitas soluções dadas por x=z e y=-z ii) A não é matriz Diagonal Dominante e Gauss-Jacobi e Gauss-Seidel a) converge (oscilando) para a solução exata [1.5 1.5]T b) diverge 7 - a) X(10) = [-0.930569 1.901519 1.359500 -1.906078]T X(35) = [-1.076888 1.990028 1.474477 -1.906078]T b) solução exata X = [2 1 4]T 8 - A solução exata é x =1 y= 2 z = 3. 9 - soluções exatas: a) X = [3 -4 2]T b) X = [2 -7 4]T c) X = [-3 2 1]T 10 - a) detA = -55 b) det A = 706.875 11 - R = [0.12 0.24 0.25]T 35 4.Interpolação Polinomial 4.1 Objetivo: Dado um conjunto de n+1 pontos distintos ( xi , f ( xi )) , i = 0 ,1,...,n , queremos determinar o polinômio p(x) talque p( xi ) = f ( xi ), e para os demais pontos do intervalo p( x ) ≅ f ( x ) , ∀x ∈ [xo ; xn ] . O polinômio p(x) é dito polinômio aproximante ou interpolador de f(x) no intervalo [xo , xn ] . 4.2 Aplicações • Obter uma expressão analítica aproximada de uma função que é conhecida em apenas um número finito de pontos; • Avaliar a função num ponto não tabelado x* ∈ [xo ; xn ] ; xn • Determinar aproximações para ∫xo f ( x)dx , substituindo a f(x) pelo polinômio interpolador; • Calcular uma aproximação para f ' ( x) para x ∈ [xo ; xn ] , substituindo f(x) por p(x). 4.2 Existência e Unicidade da Solução Dados xi ∈ ℜ p( xi ) = f ( xi ), ∀xi . e f ( xi ) ∈ ℜ , i = 0 ,1,...,n , procuramos Seja p ( x) = ao + a1x + a2 x 2 + ... + an x n = 36 n ∑ ak x k k =0 . p( x ) ∈ Pn tal que E.B.Hauser – Cálculo Numérico Então de p( xi ) = n ∑ ak xik = f ( xi ), obtemos: k =0 ⎧a0 + a1 x0 + a2 x02 + ... + an x0n = ⎪ ⎪a0 + a1 x1 + a2 x12 + ... + an x1n = ⎪ ⎨ ⎪.............................................. ⎪ ⎪⎩a0 + a1 xn + a2 xn2 + ... + an xnn = f0 f1 , fn o qual representa um sistema linear de ordem n+1 onde as n+1 incógnitas são os ak , k = 0 , n e a matriz dos coeficientes é dada por: ⎡1 x0 x 02 . . x 0n ⎤ ⎥ ⎢ x 12 . . x 1n ⎥ ⎢1 x1 ⎢1 x x 22 . . x 2n ⎥ 2 ⎥ ⎢ A= . . . . . ⎥ ⎢. ⎥ ⎢ . . . . . ⎥ ⎢. ⎢. . . . . . ⎥ ⎥ ⎢ 2 xn . . x nn ⎦ ⎣1 x n n −1 ⎡ n ⎤ det A = ∏ ⎢ ∏ ( x j − xi )⎥ . Como os pontos são ⎥ i = 0 ⎢⎣ j = i + 1 ⎦ distintos, a diferença x j − xi será sempre diferente de zero, e então detA ≠ 0. Portanto o polinômio interpolador existe e também é único. De acordo com Vandermonde, 4.3Polinômio Interpolador de Newton Para Diferenças Finitas Ascendentes Dados (xi , yi ) , yi = f ( xi ) i=0,1,2,...,n satisfazendo x1 − x0 = x2 − x1 = .... = xn − xn −1 = h , isto é , xi + 1 − xi = h . Para k = 1, 2, ...n, e i= 0, 1, 2, ..., n-k , a diferença finita de ordem k é dada por ∆k yi = ∆k − 1 yi + 1 − ∆k − 1 yi . E, o polinômio interpolador de Newton para diferenças finitas ascendentes é dado por : p( x ) = y o + ( x − xo )( x − x1 )L( x − x n − 1 ) n ( x − xo )( x − x1 ) 2 ( x − xo ) ∆y 0 + ∆ yo + L + ∆ yo 2 h 2! h n! h n 37 4-Interpolação Polinomial Exemplo1: O alongamento de uma mola foi medido em função da carga aplicada. Obteve-se: c arg a( kg ) 2 4 6 8 alongamento( cm ) 1,0 2 ,5 5 ,0 6 ,3 Estimar o alongamento para o caso de ser aplicada uma carga de 7kg , utilizando o polinômio interpolador de Newton para diferenças finitas. Solução: 1) Tabela das diferenças finitas: i yi xi 0 1 2 3 2 4 6 8 1 2.5 5 6.3 ∆yi ∆2 yi ∆3 yi 1.5 1 -2.2 2.5 -1.2 -------------------1.3 -------------------- --------------------------------------- -------------------- -------------------- 2) Polinômio interpolador: (x − 2) .1,5 + (x − 2 )(x − 4 ) .1 + (x − 2 )(x − 4 )(x − 6 ) .( −2 ,2 ) p( x ) = 1 + 2 3! ( 2 )3 2! ( 2 )2 p( x ) = −0 ,04583333333 x 3 + 0 ,675 x 2 − 2 ,016666667 x + 2 ,7 3) Verificação de validade de p(x) : p( 2 ) = 0 ,9999999994 ( ≅ 1 ) p( 4 ) = 2 ,4999999999 ( ≅ 2 ,5 ) p( 6 ) = 5 e p(8)=6.3 4) Estimativa do alongamento ao se aplicar uma carga de 7kg: O alongamento da mola neste caso é aproximadamente p( 7 ) = 5 ,9375 cm. 5) Análise gráfica do problema: 38 E.B.Hauser – Cálculo Numérico 4.4 Polinômio Interpolador de Newton Para Diferenças Finitas Divididas Dados (xi , yi ) , yi = f ( xi ), i= 0, 1, 2, ..., n qualquer, não necessariamente eqüidistantes. os pontos xi podem ter um espaçamento O polinômio de Newton para diferenças divididas é dado por: 2 p( x) = yo + ( x − xo )∆ y0 + ( x − xo )( x − x1 ) ∆ yo + ... + ( x − xo )( x − x1 )...( x − xn −1)∆ n yo , onde, para k = 1, 2, ..., n, e i= 0, 1, 2, ..., n-k a diferença dividida de ordem k é dada por ∆ yi = k ∆ k −1 yi + 1 − ∆ k − 1 yi xi + k − xi Por exemplo, para o caso de n = 4: i xi yi ∆ yi ∆ yi 2 ∆ yi 0 x0 y0 y1 − y0 x1 − x0 ∆ y1 − ∆ y0 ∆ y1 − ∆ y0 y2 − y1 x2 − x1 ∆ y 2 − ∆ y1 y3 − y 2 x3 − x 2 ∆ y3 − ∆y2 ----------------------------------------------------------------------------- 1 2 x1 x2 y1 y2 3 2 x2 − x0 3 x3 y3 y4 − y3 x4 − x3 4 x4 y4 --------------- 2 x3 − x0 2 2 ∆ y2 − ∆ y1 x3 − x1 x4 − x 2 4 ∆ yi x4 − x1 -------------------------------------------------------------------------------------------------------------------------------------- 3 3 ∆ y1 − ∆ y0 x4 − x0 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Observação: Para h constante , a relação entre diferenças divididas e finitas é dada por : 1 ∆ k yi = ∆k yi . k k !.h Exemplo: x f(x) ∆ yi ∆ yi 2 ∆ yi 3 ∆ yi 0 2 3 5 6 0 8 27 125 216 4 19 49 91 ----- 5 10 14 --------- 1 1 ------------- 0 ----------------- 39 4 4-Interpolação Polinomial Exemplo2: A velocidade do som na água varia com a temperatura conforme tabela: temperatura( oC ) 86 93,3 98 ,9 104 ,4 110 velocidade( m / s ) 1,552 1,548 1,544 1,538 1,532 Solução: 1) Cálculo das diferenças divididas x y ∆ y0 86 93.3 98.9 104.4 110 1.552 1.548 1.544 1.538 1.532 -0.00054794 -0.00071428 -0.00109090 -0.00107142 --------------- 2 ∆ y0 -0.00001289 -0.00003393 0.175 x 10-5 ----------------------------- 3 ∆ y0 -0.114 x 10-5 0.213 x 10-5 ------------------------------------------- 4 ∆ y0 0.136 x 10-6 --------------------------------------------------------- 2) Construção do polinômio: p( x ) = 1.552 + ( x − 86 )( −0.00054794 ) + ( x − 86 )( x − 93.3 )( −0.00001289 ) + ( x − 86 )( x − 93.3 )( x − 98.9 ) (-0.114 x 10 −5 )+ ( x − 86 )( x − 93.3 )( x − 98.9 )( x − 104.4 ) (0.136 x 10 −6 ) Simplificando a expressão , encontramos p(x) = 0.13666902 84 × 10 -6 x 4 − 0 . 0000534327 9926 x 3 + 0 . 0077947032 83 x 2 − 0 . 5036369194 3) Verificação da validade de p(x) calculado no item 2: p( 86 ) = 1.55199999 ; p( 93.3 ) = 1.548 ; p( 98.9 ) = 1.544 ; p( 104.4 ) = 1.537999999 ; p( 110 ) = 1.532 4) Estimativa da velocidade do som quando a temperatura da água atinge 100 0 C , é p( 100 ) ≅ 1.54293925 m/s 6) Análise gráfica do problema: 40 E.B.Hauser – Cálculo Numérico 4.5 Erro de Truncamento E ( x) = ϕ ( x) (n + 1)! f (n +1) (ξ ),ξ ∈ [x0 , xn ] com ϕ ( x ) = ( x − x0 )( x − x1 )...( x − xn ) pois ∆ k yi = 1 k !.h k ∆n + 1 f 0 ( n + 1 )! h n +1 = ( x − x0 )( x − x1 )...( x − xn )* ∆ n + 1 yi , ∆k f i , para h constante. 4.6 Aplicações utilizando o sistema Maple APLICAÇAO 1 Cinquenta animais de uma espécie ameaçada de extinção foram colocados numa reserva e um controle populacional mostrou os dados: t( anos ) 0 1 3 5 7 10 13 quantidade de animais 50 60 73 77 76 73 69 a) Determinar a matriz de Vandermonde para o problema e determinar o valor do respectivo Número de Condicionamento (Cond e Determinante Normalizado). O que podemos concluir? b) Determinar o polinômio interpolador utilizando todos os dados tabelados. c) Verificar a validade do modelo encontrado. d) Estimar a a população no quarto ano. É possível estimar a população no décimo quinto ano utilizando o polinômio determinado no ítem b. e) Em que ano essa população animal atingiu seu máximo? Qual a população máxima atingida? f) Plotar num mesmo sistemas de eixos os pontos tabelados e a e o polinômio interpolador determinado no ítem b. Resposta: 0 0 0 0 0 ⎤ ⎡1 0 ⎢1 1 1 1 1 1 1 ⎥⎥ ⎢ ⎢1 3 3 2 33 34 35 36 ⎥ ⎢ ⎥ V = ⎢1 5 5 2 53 54 55 56 ⎥ ⎢1 7 7 2 7 3 7 4 7 5 7 6 ⎥ ⎢ ⎥ 2 10 3 10 4 10 5 10 6 ⎥ ⎢1 10 10 ⎢1 13 13 2 13 3 13 4 13 5 136 ⎥ ⎣ ⎦ Determinante Normalizado= 0.9072675023 x 10 -11 Cond (V)= 39124291.11 p(t) = .5095984263e-4*t^6-.2488977072e-2*t^5+.4187474562e-1*t^4-.2409954552*t^3.6536635972*t^2+10.85522232*t+50. p(4) ≅ 75.91851648 população máxima ≅ p(5.312779138)= 77.05456458 41 4-Interpolação Polinomial APLICAÇÃO 2 Para determinar a resistência elétrica de um solo num sistema de aterramento, enterra-se duas hastes de cobre e aplica-se uma determinada voltagem, resultando numa corrente elétrica. Numa experiência deste tipo, foram obtidos os seguintes dados: x ( voltagem − volts( V )) 30 35 40 47 50 y ( corrente − ampere( A )) 2 2 ,8 3 ,5 4 ,3 4 ,5 Estimar a corrente se a voltagem aplicada for de 43A usando o Polinômio Interpolador de Newton. Resposta: p(43) ≅ 3,88 APLICAÇÃO 3 “Ao considerar que no Japão a vida média já é superior a 81 anos, a esperança de vida no Brasil de pouco mais que 71 anos ainda é relativamente baixa. E, de acordo com a projeção mais recente da mortalidade, somente por volta de 2040 o Brasil estaria alcançando o patamar de 80 anos de esperança de vida ao nascer. (Ver www.ibge.gov.br em População / Tábuas Completas de Mortalidade). A esperança de vida ao nascer de 71,3 anos coloca o Brasil na 86ª posição no ranking da ONU, considerando as estimativas para 192 países ou áreas no período 2000-2005 (World Population Prospects: The 2002 Revision; 2003). Entre 1980 e 2003 a esperança de vida ao nascer, no Brasil, elevou-se em 8,8 anos: mais 7,9 anos para os homens e mais 9,5 anos para as mulheres. Em 1980, uma pessoa que completasse 60 anos de idade teria, em média, mais 16,4 anos de vida, perfazendo 76,4 anos. Vinte e três anos mais tarde, um indivíduo na mesma situação alcançaria, em média, os 80,6 anos. Aos 60 anos de idade os diferenciais por sexo já não são tão elevados comparativamente ao momento do nascimento: em 2003, ao completar tal idade, um homem ainda viveria mais 19,1 anos, enquanto uma mulher teria pela frente mais 22,1 anos de vida”.Na tabela acima obtemos informações sobre a esperança de vida às idades exatas, especialmente, a esperança de vida ao nascer que expressa o número médio de anos que se espera viver um recém-nascido (que, ao longo da vida, estivesse exposto aos riscos de morte da tábua de mortalidade em questão 42 E.B.Hauser – Cálculo Numérico http://www.ibge.gov.br/home/presidencia/noticias/noticia_visualiza.php?id_noticia=266&id_pagina=1). Além dos múltiplos usos, não somente pela Demografia e Previdência Provada, mas também pelas demais Ciências Sociais, a tabela é utilizada para determinar, juntamente com outros parâmetros, o chamado fator previdenciário para o cálculo das aposentadorias das pessoas regidas pelo Regime Geral de Previdência Social. TAREFA: Considerar os resultados de 2003. idade em 2003 0 10 15 20 25 30 50 55 60 65 70 exp ectativa de vida( anos ,em2003 ) − Mulheres 75.2 67.5 62.6 57.8 53.0 48.3 30.1 26.0 22.1 18.4 15.0 idade em 2003 exp ectativa de vida ( anos , em 2003 ) − Homens 0 10 15 20 25 30 50 55 60 65 70 67 . 6 60 . 4 55 . 5 51 . 0 46 . 8 42 . 5 26 . 2 22 . 5 19 . 1 15 . 9 13 . 1 A) Determinar o polinômio interpolador utilizando todos os dados tabelados. Sugestão: ?interp B) Verificar a validade do modelo encontrado. C) Plotar num mesmo sistema de eixos os pontos tabelados e a e o polinômio interpolador determinado no item b. D)Estimar a expectativa de vida para pessoas com idade em 2003, variando de 14 a 30 anos. > Estimativas_mulheres:= array( [ seq( [i, pexpvidam(i)], 14..30)]); > Estimativas_homens:= array( [ seq( [i, pexpvidah(i)], i 14..30)]); ⎡14 ⎡14 63.56097596⎤ ⎢ ⎢ ⎥ ⎢15 ⎢15 62.6000001 ⎥ ⎢ ⎢ ⎥ ⎢16 ⎢16 61.6414611 ⎥ ⎢ ⎢ ⎥ ⎢ ⎢ ⎥ ⎢17 ⎢17 60.6831095 ⎥ ⎢ ⎢ ⎥ ⎢ ⎢ ⎥ ⎢18 ⎢18 59.7236187 ⎥ ⎢ ⎢ ⎥ ⎢ ⎢ ⎥ ⎢19 ⎢19 58.7625088 ⎥ ⎢ ⎢ ⎥ ⎢20 ⎢20 57.8000000 ⎥ ⎢ ⎢ ⎥ ⎢ ⎢ ⎥ ⎢21 ⎢21 56.8368317 ⎥ ⎢ ⎢ ⎥ ⎢ ⎢ ⎥ Estimativas_homens := ⎢⎢22 Estimativas_mulheres := ⎢⎢22 55.8740682 ⎥⎥ ⎢ ⎢ ⎥ ⎢23 ⎢23 54.9129142 ⎥ ⎢ ⎢ ⎥ ⎢24 ⎢24 53.954550 ⎥ ⎢ ⎢ ⎥ ⎢ ⎢ ⎥ ⎢25 ⎢25 53.000000 ⎥ ⎢ ⎢ ⎥ ⎢ ⎢ ⎥ ⎢26 ⎢26 52.050032 ⎥ ⎢ ⎢ ⎥ ⎢27 ⎢27 51.105097 ⎥ ⎢ ⎢ ⎥ ⎢ ⎢ ⎥ ⎢28 ⎢28 50.165308 ⎥ ⎢ ⎢ ⎥ ⎢ ⎢ ⎥ ⎢29 ⎢29 49.230445 ⎥ ⎢ ⎢ ⎥ ⎢⎢ ⎢⎢ ⎥⎥ ⎣30 ⎣30 48.300001 ⎦ 43 i = = 56.46550812⎤ ⎥ 55.5000000 ⎥⎥ 54.5559710 ⎥⎥ ⎥ 53.6353083 ⎥⎥ ⎥ 52.7375232 ⎥⎥ ⎥ 51.8602890 ⎥⎥ 51.0000001 ⎥⎥ ⎥ 50.1523108 ⎥⎥ ⎥ 49.3126236 ⎥⎥ ⎥ 48.476507 ⎥ ⎥ 47.640028 ⎥⎥ ⎥ 46.800001 ⎥⎥ ⎥ 45.954138 ⎥⎥ 45.101122 ⎥⎥ ⎥ 44.240601 ⎥⎥ ⎥ 43.373125 ⎥⎥ ⎥ 42.500001 ⎥⎦ 4-Interpolação Polinomial 4.7 Exercícios (Fonte: Cálculo Numérico Computacional. Claudio, Dalcídio Moraes e Marins, Jussara M. São Paulo: Ed.Atlas,1994.) 1. A tabela abaixo dá o volume de água num tanque elástico (usado para transpor-te de óleo, leite, etc. em caminhões) para várias cotas de água. Determinar y(0,12). x(m) 0,1 0,6 1,1 1,6 2,1 1,1052 1,8221 3,0042 4,9530 8,1662 y (m3 ) 2. Uma hidroelétrica tem capacidade máxima de 60Mw, a qual é determinada por três geradores de respectivamente 30Mw, 15Mw e 15Mw. A demanda de energia varia num ciclo de 24h e é uma função dela que o engenheiro operacional distribui as tarefas dos geradores. Sabe-se que a demanda mínima ocorre entre 1 e 5h e a demanda máxima entre 13 e 17h . Pede-se para achar a partir dos dados abaixo essas demandas máximas e mínimas . H 2 3 4 5 13 14 15 16 17 Demanda (Mw) 16,4 15,2 14,9 16 28 36,5 43 34 31,2 3. Um paraquedista realizou seis salto; saltando de alturas distintas em cada salto, foi testada a precisão de seus salto em relação a um alvo de raio de 5m, de acordo com a altura. A distância apresentada na tabela abaixo é relativa à circunferência. ALTURA (m) DISTÂNCIA DO ALVO O 1 SALTO (1500) 35 2O SALTO (1250) 25 O 3 SALTO (1000) 15 4O SALTO (750) 10 O 5 SALTO (500) 7 Levando em consideração os dados acima, a que provável distância do alvo cairia o paraquedista se ele saltasse de uma altura de 850m ? 4. Um veículo de fabricação nacional, após vários testes, apresentou os resultados abaixo, quando se analisou o consumo de combustível de acordo com a velocidade média imposta ao veículo. Os testes foram realizados em rodovia em operação normal de tráfego, numa distância de 72 km. Verificar o consumo aproximado para o caso de ser desenvolvida a velocidade de 80km/h. VELOCIDADE (km/h) CONSUMO (km/l) 55 14,08 70 13,56 85 13,28 100 12,27 120 11,3 140 10,4 44 E.B.Hauser – Cálculo Numérico 5. Numa esfera de superfície conhecida, o coeficiente de absorção 0,7 foi mantido à temperatura de 6000 o K . Foi calculada a energia irradiada de acordo com o tempo de irradiação, obedecendo à tabela . Pede-se para obter a possível energia irradiada quando a irradiação atingir o tempo de 25 minutos. ENERGIA IRRADIADA (Joules) TEMPO DE IRRADIAÇÃO (s) 3 600 71,72 . 10 94,72 . 10 3 800 118,4 . 10 3 1000 142,08 . 10 3 1200 165,76 . 10 3 1400 189,44 . 10 3 1600 6. Uma corda foi tensionada sob a ação de pesos distintos, quando para os respectivos pesos foram calculadas as devidas velocidades de propagação que estão indicadas abaixo. Pede-se para calcular a velocidade de propagação quando a corda está tensionada sob a ação de um peso de 7250 gf. PESO (gf) VELOCIDADE (cm/s) 6000 13728,13 6500 14288,69 7000 14828,07 7500 15348,51 8000 15851,87 Respostas 1) p( 0 ,12 ) ≅ 1,126904937 2) A demanda mínima é 14 ,8632 Mw. e ocorre entre 3h e 4h da manhã. A demanda máxima é 43,101 Mw. e ocorre entre 14h e 15h. 3) p( 850 ) = 11,4128 4) 5) p( 80 ) = 13,46701783 p( 80 ) = 13,4512685 p( 1500 ) = 177618 ,5937 6) p(7250) = 15090,53234 45 5. Ajuste de Funções Aplicação1: Os dados acima tabelados descrevem a intensidade da luz como uma função da distância da fonte, I(d), medida num experimento. 1 Determinar I (d) ≅ Y (d) = . Ad 2 + Bd + C d 30 35 40 45 50 55 60 65 70 75 I 0.85 0.67 0.52 0.42 0.34 0.28 0.24 0.21 0.18 0.15 Aplicação 2:Segundo a lei de Boyle, o volume de um gás é inversamente proporcional à pressão exercida, mantendo-se constante a temperatura. Para um certo gás, foram observados os seguintes valores: Pr essão 0,0 0,5 1,0 1,5 2,0 2,5 3,0 3,5 Volume 2,85 2,27 1,91 1,60 1,43 1,28 1.15 1,04 Ajustar os dados tabelados a uma hipérbole do tipo: Vol(p) ≅ Y ( p ) = 46 A B+ p E.B.Hauser – Cálculo Numérico 5.1 Introdução O ajustamento é uma técnica de aproximação. Conhecendo-se dados experimentais , , ( xi , yi ) , i = 0 ,1,...,n , deseja-se obter a lei y = f ( x ) relacionando x com y. Devido aos erros experimentais nos n+1 pares, ( xi , f ( xi )) , teremos em geral f ( x1 ) + ε 1 ; f ( x2 ) + ε 2 ; ... ; f ( xn ) + ε n , isto é , é impossível calcular exatamente a função f(x). Por isso , em vez de procurarmos a função f tal que passa por cada um dos pontos experimentais, determinaremos a função que melhor se ajusta aos pontos dados. O ajustamento traduz um comportamento médio. Para ajustar uma tabela de dados a uma função devemos: • Conhecer a natureza física do problema ; • Determinar o tipo de curva a que se ajustam os valores tabulados (graficamente e/ou cálculo das diferenças finitas ou divididas) ; • Calcular os parâmetros da curva. 5.2. Escolha da Função de Ajuste a) Função Linear (regressão linear) : Y ( x ) = a0 + a1 x , se ∆yi ≅ cte ou ∆ yi ≅ cte . 2 b) Parábola (ajuste quadrático): Y ( x ) = a0 + a1 x + a2 x 2 , se ∆2 yi ≅ cte ou ∆ yi ≅ cte. p c) Polinômio de grau p: se ∆ p yi ≅ cte ou ∆ yi ≅ cte. d) Função Exponencial: Y ( x ) = ab x , se d) FunçãoPotência: Y ( x ) = ax p , ∆ log yi ≅ cte. ∆xi ∆ log yi ≅ cte ∆ log xi Outros tipos de Funções Ajuste: • Y( x ) = 1 1 ⇒ = a0 + a1 x ; a0 + a1 x y ∆ (1 / yi ) = ∆ (1 / yi ) ≅ cte. ∆xi • Y( x ) = x x ⇒ = a0 + a1 x; a0 + a1 x y ∆ ( xi / yi ) = ∆ ( xi / yi ) ≅ cte. ∆ ( xi ) • 47 5 - Ajuste de Funções • • Y( x ) = 1 a0 + a1 x + a2 x 2 ⇒ 1 = a0 + a1 x + a2 x 2 ; Y 2 Y ( x ) = ae bx + cx ; ln y = ln a + bx + cx 2 , ∆ (1 / y i ) = 2 ∆ ln yi + 1 − ∆ ln yi xi + 2 − xi ∆ (1 / y i +1 ) − ∆ (1 / y i ) xi + 2 − xi ≅ cte. ≅ cte. 3 Exemplo: Considerando a tabela abaixo, como ∆ yi = 1,∀i , é adequado o ajuste dos dados abaixo tabelados a um polinômio de grau 3. xi f(xi)=yi i 0 1 2 3 4 0 2 3 5 6 0 8 27 125 216 ∆ yi 4 19 49 91 ----- 2 ∆ yi 5 10 14 --------- 3 ∆ yi 1 1 ------------- 4 ∆ yi 0 ----------------- 5.3 - Determinação dos Parâmetros da Função de Ajuste CRITÉRIO DOS MINÍMOS QUADRADOS Seja Y = a0 + a1x + a2 x 2 + ... + a p x p a função de ajustamento. Dada uma tabela com n+1 pontos (xi , yi ) , chamamos resíduo a diferença entre o valor de Yi da equação de ajustamento e o valor tabulado de yi . Yi − yi = δ i , i = 0 ,1,...,n . n O critério dos mínimos quadrados estabelece que: ∑ δ i2 = mínimo . i =0 Seja F (a0 , a1,...a p ) = n ∑ (Yi − yi )2 . Para F ter valor mínimo , é preciso que i =0 ∂F ∂F ∂F =0; =0; . . . ; =0 ∂a0 ∂a1 ∂a p 48 E.B.Hauser – Cálculo Numérico 5.31 -Ajuste Linear A função de ajuste terá a forma Y ( x ) = a0 + a1 x . Pelo critério dos Quadrados é necessário que : n n F = ∑ (Yi − yi )2 = ∑ (a0 + a1xi − yi ) 2 i =0 i =0 Mínimos deve ser mínimo . Sendo F uma função de duas variáveis, a0 e a1 , o menor valor de F será obtido δF δF através de : = 0; = 0 e assim: δa0 δa1 n δF = 0 , ∑ 2(a0 + a1xi − yi ) = 0 e δa0 i =0 n δF = 0 , ∑ 2(a0 + a1xi − yi )xi = 0 . δa1 i =0 Construímos o sistema de duas equações e duas variáveis: ⎧ n ⎪2 ∑ (a0 + a1xi − yi ) = 0 ⎪⎪ i =0 ⎨ ⎪ n ⎪2 ∑ (a0 + a1x1 − yi )xi = 0 ⎪⎩ i =0 ou n n ⎧ n ⎪ ∑ yi = ∑ a0 + ∑ a1xi ⎪⎪ i =0 i =0 i =0 . ⎨ n n ⎪ n 2 ⎪ ∑ xi yi = ∑ a0 xi + ∑ a1xi ⎪⎩i =0 i =0 i =0 Obtemos: n n ⎧ ⎪(n + 1)a0 + a1 ∑ xi = ∑ yi ⎪⎪ i =0 i =0 ⎨ n n n ⎪ 2 ⎪a0 ∑ xi + a1 ∑ xi = ∑ xi yi ⎪⎩ i =0 i =0 i =0 Resolvendo-se este último sistema linear são obtidos os valores de a0 e a1 e assim determina-se a função de ajuste : Y = a0 + a1x . 49 5 - Ajuste de Funções Exemplo2 : Dada a tabela , achar a equação da reta que se ajusta usando o método dos Mínimos Quadrados. i 0 1 2 3 4 5 ∑ xi 0 1 2 3 4 5 15 yi xi yi 2 3 5 5 5.5 8 28.5 0 3 10 15 22 40 90 xi2 0 1 4 9 16 25 55 Yi (Yi − yi )2 2.07142857 3.14285714 4.21428571 5.2857143 6.3571429 7.4285714 --------------- 0.005102041 0.02040816 0.61734694 0.08163266 0.73469755 0.32653061 1.78571440 Seja Y ( x) = a0 + a1x a função que ajusta os dados . Os parâmetros a0 e a1 constituem a solução do sistema : ∑ yi = (n + 1)a0 + a1∑ xi ∑ xi yi = a0 ∑ xi + a1∑ xi2 ⎧6a0 + 15a1 = 28.5 ⎧a0 = 2.071428572 ⇒ ⎨ ⇒ ⎨ ⎩a1 = 1.071428571 ⎩15a0 + 55a1 = 90 Logo, Y = 2.071428571 + 1.071428571x . 50 E.B.Hauser – Cálculo Numérico 5.3.2 - Ajuste Quadrático Seja Y = a0 + a1 x + a2 x 2 a função de ajuste. Pelo critério dos Mínimos Quadrados : ( i =0 n n F ( a0 ,a1 ,a2 ) = ∑ (Yi − yi )2 = ∑ a0 + a1 xi + a2 xi2 − yi i =0 )2 δF δF δF = = = 0. δa0 δa1 δa2 assume valor mínimo se Assim, os parâmetros a0 ,a1 e a2 são obtidos resolvendo: ∑ yi = (n + 1) a0 + a1∑ xi + a2 ∑ xi2 ∑ xi yi = a0 ∑ xi + a1∑ xi2 + a2 ∑ xi3 ∑ xi2 yi = a0 ∑ xi2 + a1∑ xi3 + a2 ∑ xi4 ⎧ ⎪ ⎪⎪ ⎨ ⎪ ⎪ ⎪⎩ Exemplo3 : Encontre a expressão do polinômio de 2o grau que se ajusta aos dados da tabela abaixo. i xi yi xi yi 0 1 2 3 4 5 -2 -1 0 1 2 3 3 -0.01 0.51 0.82 0.88 0.81 0.49 3.5 0.02 -0.51 0 0.88 1.62 1.47 3.48 ∑ xi2 4 1 0 1 4 9 19 xi2 yi -0.04 0.51 0 0.88 3.24 4.41 9 xi3 -8 -1 0 1 8 27 27 xi4 16 1 0 1 16 81 115 ∆yi ∆2 yi 0.52 0.31 0.06 -0.07 -0.32 ------------------- -0.21 -0.25 -0.13 -0.25 ---------------------------- ⎧6a0 + 3a1 + 19a2 = 3.5 ⎪ 2 ⎨3a0 + 19a1 + 27 a2 = 3.48 ⇒ Y ( x) = −0.102142857 x + 0.201x + 0.806285714 ⎪19a + 27 a + 115a = 9 1 2 ⎩ 0 51 5 - Ajuste de Funções 5.3.3-Ajuste a polinômio de Grau p O ajuste a um polinômio de grau p. Y = a0 + a1x + a2 x 2 + ... + a p x p , p < n , exige resolver o sistema linear: ⎡( n + 1 )∑ x ∑ x 2 ∑ x 3 ...∑ x p ⎤ i i i i ⎥ ⎢ + p 2 3 4 ⎢∑ x ∑ x ∑ x ∑ x ...∑ x 1 ⎥ i i i i ⎥ ⎢ i ⎢..................................................⎥ ⎥ ⎢ p p +1 2p ⎥⎦ ⎢⎣∑ xi ∑ xi .................∑ xi ⎡a0 ⎤ ⎡∑ yi ⎤ ⎢ ⎥ ⎥ ⎢ ⎢a1 ⎥ ⎢∑ xi yi ⎥ ⎢..... ⎥ = ⎢ ⎥ ........ ⎥ ⎢ ⎥ ⎢ ⎢..... ⎥ ⎢ p ⎥ ⎢a ⎥ ⎢⎣∑ xi yi ⎥⎦ p ⎣ ⎦ Exemplo5 – Utilizando o sistema Maple > xv:=[0,2,3,5,6,8]; > yv:=[p(0),p(2),p(3),p(5),p(6),p(8)]; > g:=fit[leastsquare[[x,y],y=a*x^3+b*x^2+c*x+d,{a,b,c,d}]]([xv,y v]); > gll :=unapply(rhs(g),x): > plots[display]({plots[pointplot]([0,p(0),2,p(2),3,p(3),5,p(5), 6,p(6),8,p(8)]),plot(gll(x), x=-.5..8.5, y=150..280),plot(gll(x), x=-.5..8.5, y=-150..280,thickness=2)}); 52 E.B.Hauser – Cálculo Numérico 5.3.4 -AJUSTE NÃO LINEAR NOS PARÂMETROS: CASOS REDUTÍVEIS AO LINEAR OU PARABÓLICO POR MUDANÇA DE VARIÁVEIS 5.3.4.1 – Ajuste por Função Exonencial Seja Y = ab x a função de ajuste. Linearizamos Y, aplicando log ou ln (escolher a base adequada) ln Y = ln x ln b { {a + { y a0 xa1 n n ⎧ ⎪( n + 1 ) ln a + ln b xi = ln yi ⎪ ⎪ i =0 i =0 Determinamos a e b resolvendo: ⎨ n n n ⎪ 2 ⎪ln a xi + ln b xi ln yi xi = ⎪ i =0 i =0 ⎩ i =0 ⎧⎪a = ln a → a = e a0 0 Então ⎨ ⎪⎩a1 = ln b → b = e a1 ∑ ∑ ∑ ∑ ∑ Exemplo 4: Ajustar os dados abaixo a uma função exponencial do tipo Y = ab x . i xi yi ln yi 0 1 2 3 4 5 6 7 8 0 0.5 1 1.5 2 2.5 3 3.5 4 18 3 4 6 9 12 17 24 33 48 ------------- 1.09861 1.38629 1.79176 2.19722 2.48491 2.83321 3.17805 3.49651 3.87120 22.3378 ∑ xi2 0 0 0.693145 0.25 1.79176 1 3.29583 2.25 4.96982 4 7.08303 6.25 9.53415 9 12.2378 12.25 15.4848 16 55.0903 51 xi ln yi Os gráficos a seguir ilustram o efeito da linearização dos dados. 53 Yi 2.98422 4.2228031 5.9754291 8.4555298 11.964948 16.930930 23.958013 33.901647 47.972329 ------------- (Yi − yi ) 2 0.0002490 0.0496412 0.0006025 0.2964477 0.0012286 0.0047706 0.0017628 0.8129689 0.0007656 1.1684403 5 - Ajuste de Funções ⎧9a0 + 18a1 = 22.3378 ⎨ ⎩18a0 + 51a1 = 55.0903 ⇒ a0 = 0.69432 → b = e a1 = 2.002347015 ⇒ a 0 a1 = 1.093337778 → a = e = 2.984218125 Y = 2.98422(2.00235) x - 5.3.4.2 -AJUSTE POR FUNÇÃO POTÊNCIA Seja Y = axb a função de ajuste. Linearizando a função Y(x) , temos : ln y = ln a + b ln x. Resolve-se o sistema de equações lineares e encontra-se a e b: n n ⎧ ⎪ ln y = y1 ( n + 1 ) ln a + b ln xi = ln yi ⎪ ln a = a0 ⎪ i =0 i =0 ⇒ ⎨ n n n b = a1 ⎪ 2 ⎪ln a ln xi + b (ln xi ) = ln xi ln yi ln x = x1 ⎪ i =0 i =0 ⎩ i =0 ∑ ∑ ∑ ∑ então ∑ ln a = a0 ⇒ a = e a0 e b = a1 . Exercício : Os dados abaixo dão a duração de uma broca em função da velocidade de corte. Pede-se para fazer uma tabela de D=D(v) para 100 (10) 180. V (m / s ) 100 120 150 180 D(v)=0.813947103e14*1/(x^5.680591334) D( seg.) 79 28 7.9 2.8 - 54 E.B.Hauser – Cálculo Numérico Efeito da linearização dos dadoss 5.3.4.3 -AJUSTE POR FUNÇÃO HIPERBÓLICA : Y = 1 . Linearizando, temos : a0 + a1 x n n ⎧ ⎪( n + 1 )a0 + a1 ∑ xi = ∑ 1 / yi 1 ⎪ i =0 i =0 = a0 + a1 x ⇒ ⎨ n n n Y ⎪∑ xi a0 + a1 ∑ xi2 = ∑ xi / yi ⎪⎩i =0 i =0 i =0 5.3.4.4 -OUTROS TIPOS DE FUNÇÕES DE AJUSTE x 1) Y = . Linearizando, temos: a0 + a1 x n n ⎧ ⎪( n + 1 )a0 + a1 ∑ xi = ∑ xi / yi x ⎪ i =0 i =0 = a0 + a1 x ⇒ ⎨ n n n Y ⎪∑ xi a0 + a1 ∑ xi2 = ∑ xi2 / yi ⎪⎩i =0 i =0 i =0 2) Y = 1 a0 + a1 x + a2 x 2 . Linearizando, temos : ⎧( n + 1 )a0 + a1 ∑ xi + a2 ∑ xi2 = ∑ 1 / yi ⎪ 1 ⎪ = a0 + a1 x + a2 x 2 ⇒ ⎨a0 ∑ xi + a1 ∑ xi2 + a2 ∑ xi3 = ∑ xi / yi Y ⎪ 2 3 4 2 ⎪⎩a0 ∑ xi + a1 ∑ xi + a2 ∑ xi = ∑ xi / yi 3) Y = ae bx + cx 2 2 ln Y = ln { {a + bx 1 4+ 2cx 4 3 y a0 a1 x + a 2 x 2 ⇒ ⎧( n + 1 ) ln a + b ∑ xi + c ∑ xi2 = ∑ ln yi ⎪ ⎪ 2 3 ⎨ln a ∑ xi + b∑ xi + c ∑ xi = ∑ xi ln yi ⎪ 2 3 4 2 ⎪⎩ln a ∑ xi + b∑ xi + c ∑ xi = ∑ xi ln yi ⇒ ln a = a0 → ae a0 . 55 ⇒ 5 - Ajuste de Funções Exercícios: 1) Considerando: i 0 1 34 x y 1 2 45 2 3 63 3 4 88 4 5 6 5 6 7 120 159 205 a) Mostrar que o ajuste por uma parábola é adequado. b) Ajustar os dados a uma parábola. Resposta: a) ∆2 y i = 7, ∀i b) p( x) = 3,51194762 x 2 + 0,4047619048x + 30,14285714 2) Segundo o critério dos Mínimos Quadrados, qual das duas funções Y1 = 2 ,332 + 0 ,558 x e Y2 = 2 ,037 e0 ,235 x melhor ajusta os dados da tabela? x y -2,3 1 1,2 2,5 3,1 4,2 ∑ ( Y2i − yi )2 < ∑ ( Y1i − yi )2 ∑ ( Y1i − yi )2 = 0,194 e ∑ ( Y2i − yi )2 = 0,0123 Resposta: Y2, pois 3) Um filme vem sendo exibido numa determinada sala de cinema por cinco semanas e a frequência semanal, (aproximada à centena mais próxima) está dada na tabela abaixo. Utilizar ajuste linear para determinar a frequência esperada na sexta semana. 6000 5000 4000 y = -360x + 5280 R20,9818 = 3000 semana 2000 1000 1 2 3 4 5 frequência 5000 4500 4100 3900 3500 0 0 1 2 3 4 5 6 Resposta: Y(x) = 5280 -360x e y(6) = 3120 56 E.B.Hauser – Cálculo Numérico 4) O número de bactérias, por unidade de volume, existente em uma cultura depois de x horas é apresentado pela tabela. Ajuste os dados tabulados a uma curva exponencial da forma y =abx e avaliar y para x=7. x y 0 32 1 47 2 65 3 92 4 5 6 132 190 275 Resposta: y = 32,1483 × 1,42694 x e y (7) = 387, 256 5) Utilizando o critério dos Mínimos Quadrados, ajustar a uma reta os dados tabulados: xi yi 3 2 5 3 6 4 8 6 9 5 11 8 Resposta: y = -0,33328 + 0,714285x 6) A tabela abaixo fornece uma relação entre a temperatura da água e a pressão barométrica. Ajustar os dados a uma função potência. p(mm de Hg) 680 96.92 T( oC ) 690 97.32 101 100,5 100 99,5 99 98,5 98 97,5 97 96,5 660 700 97.71 710 98.11 720 98.49 730 98.88 740 99.26 780 100.73 y = 15,476x 0,2813 R21 = 680 700 720 740 760 780 800 7) A tabela abaixo fornece uma relação entre a resistência à tração do aço em função da t (oC ) 250 330 412 485 617 temperatura. Ajustar os dados a um polinômio de σ (kg / cm2 ) 5720 5260 4450 2780 1500 grau 4. 7000 y = 2E-06x4 0,0033x - 3 1,8931x + 2 466,48x + 47846 2 R 1= 6000 5000 4000 3000 2000 1000 0 0 57 200 400 600 800 5 - Ajuste de Funções 8) Os dados abaixo referem-se a variação do coeficiente de atrito ( µ ) ,entre a roda e o trilho seco, com a velocidade. 10 20 30 40 60 70 V (km / h) 0 µ 0.450 0.313 0.250 0.215 0.192 0.164 0.154 Ajustar os dados a um polinômio de grau 5. 0,500 0,450 0,400 0,350 0,300 0,250 0,200 0,150 5 4 3 2 0,100 y = -9E-10x 2E-07x + 2E-05x - 0,0007x + 0,0196x + 0,45 0,050 2 R 1= 0,000 0 20 40 60 9) Os dados abaixo relacionam a viscosidade η em função da temperatura t. t oC 7.5 10.9 14 15 16 18 21 η 1.409 1.276 1.175 1.148 1.121 1.069 0.990 Realizar o ajuste sugerido pelo gráfico ao lado. Resp: η( t ) =-0.030772617131t+1.619873714 58 80 E.B.Hauser – Cálculo Numérico 10) Verificar qual das funções Y1 = 0.015619 − 0.0001523 x ou Y2 = 0.017054(0.98028) x melhor se ajusta à tabela dada . 20 40 60 80 100 xi yi 0.0131 0.00654 0.00459 0.0034 0.0026 Respostas: Aplicação1: Y(d)= 1/(.1329810498e-2*d^2-.2080049421e-1*d+.6161059331) Aplicação2: Y(p) = 5.779411/(2.043906+p) 59 6 . Integração Numérica b Objetivo : Calcular a ∫ f ( x)dx , onde a função integrando f (x) ou é conhecida por sua expressão a analítica ou por uma tabela de valores (xi , f ( xi )) , i = 0, 1,..., n. Aplicação: Para controlar a poluição térmica de um rio, a temperatura (oF) foi registrada, reproduzindo os dados: x( hora ) 9 10 11 12 13 14 15 16 17 y( temperatura ) 75.3 77.0 83.1 84.8 86.5 86.4 81.1 78.6 75.1 Encontrar a temperatura média da água entre 9h da manhã e 5h da tarde e estimar o erro cometido nesse cálculo. OBS : fm = f é 1 b ∫ f ( x )dx b−aa é o valor médio de f ( x ) em [ a ,b ], se f ( a ). f ( b ) > 0 e contínua em [ a ,b ] 6.1 -Fórmulas de Newton-Cotes x −x Consideremos (xi , f ( xi )) , i = 0, 1,..., n., xi +1 − xi = h , h = n 0 , yi = f ( xi ) . n A integral da função f(x) no intervalo [x0 ; xn ] é dada por : xn xn x0 x0 ∫ f ( x )dx ≅ = ∫ Pn ( x )dx = ( x − x0 )...( x − xn −1 ) n ⎞ ( x − x0 )( x − x1 ) 2 ( x − x0 ) ⎛ ∆y0 + ∆ y0 + ... + ∆ y0 ⎟⎟ dx ∫ ⎜⎜ y0 + 2 h n! h n 2! h ⎠ x0 ⎝ xn Se R = x= x − x0 , então x= h x0 → R = 0 x0 + Rh → dx = hdr Assim: 60 e x = xn → R = n . E.B.Hauser – Cálculo Numérico xn ∫x0 n n f ( x )dx ≅ h ∫ P( R )dR = h ∫ ( y0 + R∆y0 + 0 0 R( R − 1 ) 2 R( R − 1 )...( R − n + 1 ) n ∆ y0 + ... + ∆ y0 )dR 2! n! ⎤ ⎡ n n ∆2 y0 n ∆n y0 n R ( R 1 ) dR ... R ( R 1 )...( R n 1 ) dR = h ⎢ y0 ∫ dR + ∆y0 ∫ RdR + − + + − − + ⎥ 0 2! ∫0 n! ∫0 ⎥⎦ ⎢⎣ 0 Na prática não é usual aproximar f(x) por um polinômio de grau n (elevado) devido ao erro de arredondamento que ocorre no processo. 6.2 – Regra dos Trapézios Considerando n = 1 na fórmula de Newton-Cotes temos : x1 1 1 1 f ( x )dx ≅ h P( R )dR = h ⎡⎢ y0 dR + ∆y0 RdR ⎤⎥ x0 0 0 ⎦ ⎣ 0 ∫ ∫ ∫ ∫ [ ] = h y0 [ R ]01 + ∆y0 [ R 2 / 2 ]01 = ∆y ⎤ h ⎡ = h ⎢ y0 + 0 ⎥ = [ y0 + y1 ], ou para o intervalo [xi ; xi + 1 ] : 2 ⎦ 2 ⎣ xi + 1 ∫xi f ( x )dx ≅ h ∫ i +1 i P( R )dR = h [ yi + yi + 1 ] 2 Generalizamos para n subintervalos: xn ∫ f ( x )dx ≅ xo [ h yo + 2( y1 + y 2 + L + y n −1 ) + y n 2 ] Erro de Truncamento(para n subintervalos): ET ≤ h2 ( x n − x0 ) max f ' ' ( x) 12 x∈[ x o , x n ] ou ET ≤ ( x n − x0 ) max ∆2 yi 12 Vê-se que a fórmula dos Trapézios é exata para polinômios do 1o grau. Exemplo1: Determinar h de tal forma que a regra trapezoidal forneça o valor de 1 − x2 e dx com um 0 ∫ erro de truncamento menor que 10 −4 . ET ≤ h2 h2 ( 2 ) < 10 − 4 ⇒ h < 0.0245 ( 1 − 0 )máx f ' ' ( x ) = 12 12 x ∈ [0 ;1] n = ( xn − x0 ) / h , h = ( xn − x0 ) / n , ( xn − x0 ) / n < 0.0245 , n > 40.8 → n = 41 , h = 61 1 = 0.02439 41 6 -Integração Numérica 6.3 – Fórmula de Simpson Fazendo n = 2 na fórmula de Newton-Cotes, temos, ⎡ ⎤ h 2 2 x2 ∆2 y0 2 ≅ + + − ∆ R ( R 1 ) dR f ( x ) dx h y dR y RdR ⎢ ⎥ = [ y0 + 4 y1 + y 2 ] 0 0 ∫x0 ∫0 ∫0 2! ∫0 ⎣⎢ ⎦⎥ 3 Generalizamos para n subintervalos, n par: xn ∫ f ( x )dx ≅ xo [ h yo + 4( y1 + y3 + y5 + L + y n −1 ) + 2( y 2 + y4 + y6 + L + y n − 2 ) + y n 3 ] ERRO DE TRUNCAMENTO PARA A FÓRMULA DE SIMPSON ( x − x0 ) h4 ( xn − x0 ) max f ' '' ' ( x ) ou E S ≤ n max ∆4 yi ES ≤ 180 180 x∈[ xo , x n ] Exercícios 1.Aplicação:.Para controlar a poluição térmica de um rio, a temperatura (oF) foi registrada, reproduzindo os dados: x( hora ) 9 10 11 12 13 14 15 16 17 y( temperatura ) 75.3 77.0 83.1 84.8 86.5 86.4 81.1 78.6 75.1 Encontrar a temperatura média da água entre 9h da manhã e 5h da tarde e estimar o erro cometido nesse cálculo. 2. Estimar a área da região hachurada pela regra dos Trapézios e pela de Simpson, usando oito subintervalos. 62 E.B.Hauser – Cálculo Numérico 3. Calcular a integral abaixo pela regra dos Trapézios e pela de Simpson, usando quatro, seis e dez subintervalos. Comparar os resultados. π /2 ∫ sen( 2 cos x ) sen 2 xdx 0 4. Calcular por Trapézios: e− x ∫ e − x dx 0 2 a) 1 2 b) ∫ e x tgxdx com h = 0.5 com h=0.1 0 5. Calcular por Simpson: 1.2 a) ∫ 0 dx ex + x + 1 2 2 b) ∫ e − x dx com h =0 .3 com h = 0.25 0 π/2 c) ∫x 2 cos xdx com n=0.4 0 6. O gráfico da figura foi registrado por um instrumento usado para medir uma quantidade física. Estimar as coordenadas-y dos pontos do gráfico e aproximar a área da região fechada usando seis subintervalos 63 6 -Integração Numérica 7) A função de Bessel é solução de uma equação que surge com grande freqüência, em engenharia e/ ou física matemática, na resolução das equações diferencias parciais pelo método da separação de variáveis. As equações de Bessel surgem quando aplicamos a técnica de separação de variáveis a problemas de valor de contorno, por exemplo, em coordenadas polares, cilíndricas e esféricas. Constitui exemplos importantes desta modelagem o estudo da evolução da temperatura e reações químicas em cilindros e esferas. Ao lado a representação gráfica de J 0 ( t ) Tarefa: Considerar a representação integral da Função de Bessel de primeiro tipo J m( t ) = 1 π π ∫ cos( mx − tsenx )dx , m = 0 ,1,2 ,3 ,... 0 Estimar J 0 ( 3 ) com cinco subintervalos e o erro cometido neste cálculo. Respostas: 1. temperatura média ≅ 81,58 oF ( por Trapézios) 2. Trapézios: 1.761237 Simpson: 1.763624 3. n 4 6 10 Trapézio 0,481485 0,496396 0,503836 Simpson 0,512682 0,508646 0,508045 4. a) I = 0,636571 b) I = 1,110603 5. a) I = 0,658685 b) I = 0,882065 c) I = 0,466890 7. J 0 ( 3 ) = -0,260052 64 7 - Resolução Numérica de Equações Diferenciais Ordinárias Objetivo: Resolver numericamente(e generalizar para problemas de ordem mais elevada) o problema de valor inicial de primeira ordem ⎧⎪ y' = f ( x , y ) (PVI) ⎨ , ⎪⎩ y( xo ) = y o e o problema de valor de contorno de segunda ordem, linear: ⎧⎪ y' ' + P( x ) y' +Q( x ) y = f ( x ) (PVC) ⎨ ⎪⎩ y( xo ) = yo , y( xn ) = y n . Os métodos numéricos são processos que fornecem valores aproximados da solução em pontos particulares, usando operações algébricas. Os métodos que estudaremos determinarão estimativas da solução nos pontos xo , x1 , x2 , K , onde xi = xo + ih , i= 0,1,...,n . A escolha do valor de h é arbitrária e, em geral, quanto menor h , melhor a estimativa da solução obtida. Sejam y ( xi ) ≅ y i , xi = xo + ih , i= 0,1,...,n e h = ( x n − xo ) / n . Método de Euler(PVI): yi + 1 = yi + hf ( xi , yi ) , i= 0,1,...,n-1. Método de Runge-Kutta de 2 a ordem(PVI) : h yi + 1 = yi + (k1 + k 2 ) , k1 = f ( xi , yi ) e k 2 = f ( xi + h , yi + hk1 ) , i= 0,1,...,n-1. 2 Diferenças Finitas(p/diferenças centrais)(PVC): Para i= 1,...,n-1 , é gerado um sistema de n-1 equações lineares: ⎛ h ⎞ ⎛ h ⎞ 2 2 ⎜ 1 + P( xi ) ⎟ yi + 1 + − 2 + h Q( xi ) yi + ⎜ 1 − P( xi ) ⎟ yi −1 = h f ( xi ) ⎝ 2 ⎠ ⎝ 2 ⎠ ( ) Sistemas de Equações Diferenciais de primeira ordem com condições iniciais ⎧ y' = f ( x , y , z ) ⎪⎪ ⎨ z' = g ( x , y , z ) ⎪ ⎪⎩ y( xo ) = yo , z( xo ) = z o Para obtermos sua solução é possível aplicar os métodos de Euler e Runge-Kutta de segunda ordem. Por exemplo, por Euler as estimativas são obtidas aplicando. yi+1 = yi + h f (xi, yi, zi ) e zi+1 = zi + h g (xi, yi, zi ). Mudança de Variável para problemas de valor inicial de segunda ordem: ⎧⎪ y' ' = f ( x , y , z ) Para ⎨ , fazemos a mudança de varável y' = u , com y( xo ) = yo . ⎪⎩ y( xo ) = yo , y' ( xo ) = zo Então devemos resolver o sistema de duas equações diferenciais ordinárias, acopladas ⎧ y' = u ⎪⎪ pelas condições iniciais: ⎨u' = f ( x , y , z ) . ⎪ ⎪⎩ y( xo ) = yo , u( xo ) = z o 65 E.B.Hauser – Cálculo Numérico Derivada Diferença Finita h, k=tamanho do passo na direção x e na direção y (ou t) y y´( xi ) −y i +1 2h yi + 2 − 2 y i + 1 + 2 yi − 1 − yi − 2 y' ' ' ( xi ) 2h 3 i −1 centrada , centrada y i + 2 − 4 y i + 1 + 6 y i −4 y i − 1 + y i − 2 centrada h4 y IV ( xi ) ( y yi + 1 − 2 y i + y i − 1 centrada h2 y´´( xi ) ∂u xi , t j ∂t − yi i +1 avançada , h ) ( ∂ 2u xi ,t j ∂ x2 ( u , −u , i j +1 i j −1 centrada 2k u ) ∂ 2u xi , y j ∂ y2 ) i +1 , j − 2u i,j h2 +u i −1 , j centrada − 2u , + u , u , i j +1 i j i j −1 centrada k2 Exemplos: 66 yi − y i − 1 atrasada h 7 -Resolução Numérica de Equações Diferenciais Ordinárias Método de Euler Problema: y' = y – x; y(0) = 2 yn xn 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 h = 0.1 h = 0.05 h = 0.01 h = 0.005 2.0000 2.2000 2.4100 2.6310 2.8641 3.1105 3.3716 3.6487 3.9436 4.2579 4.5937 2.0000 2.2025 2.4155 2.6401 2.8775 3.1289 3.3959 3.6799 3.9829 4.3066 4.6533 2.0000 2.2046 2.4202 2.6478 2.8889 3.1446 3.4167 3.7068 4.0167 4.3486 4.7048 2.0000 2.2049 2.4208 2.6489 2.8903 3.1467 3.4194 3.7102 4.0211 4.3541 4.7115 xn h = 0.1 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 2.0000000 2.2050000 2.4210250 2.6492326 2.8909021 3.1474468 3.4204287 3.7115737 4.0227889 4.3561818 4.7140809 Método de Runge-Kutta de segunda ordem Problema: y' = y – x; y(0) = 2 yn h = 0.05 h = 0.01 2.0000000 2.2051266 2.4213047 2.6496963 2.8915852 3.1483904 3.4216801 3.7131870 4.0248265 4.3587148 4.7171911 2.0000000 2.2051691 2.4213987 2.6498521 2.8918148 3.1487076 3.4221007 3.7137294 4.0255115 4.3595665 4.7182369 67 Solução exata Y(x) = ex + x + 1 2.0000 2.2052 2.4214 2.6499 2.8918 3.1487 3.4221 3.7138 4.0255 4.3596 4.7183 Solução exata Y(x) = ex + x + 1 2.0000000 2.2051709 2.4214028 2.6498588 2.8918247 3.1487213 3.4221188 3.7137527 4.0255409 4.3596031 4.7182818 E.B.Hauser – Cálculo Numérico Método de Euler Problema: y' = y; y(0) = 1 yn xn 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 xn 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 h = 0.1 1.0000 1.1000 1.2100 1.3310 1.4641 1.6105 1.7716 1.9487 2.1436 2.3579 2.5937 h = 0.05 1.0000 1.1025 1.2155 1.3401 1.4775 1.6289 1.7959 1.9799 2.1829 2.4066 2.6533 h = 0.01 1.0000 1.1046 1.2202 1.3478 1.4889 1.6446 1.8167 2.0068 2.2167 2.4486 2.7048 h = 0.005 1.0000 1.1049 1.2208 1.3489 1.4903 1.6467 1.8194 2.0102 2.2211 2.4541 2.7115 Método de Runge-Kutta de segunda ordem Problema: y' = y; y(0) = 1 yn h = 0.1 h = 0.05 h = 0.01 1.0000000 1.1050000 1.2210250 1.3492326 1.4909021 1.6474468 1.8204287 2.0115737 2.2227889 2.4561818 2.7140809 1.0000000 1.1051266 1.2213047 1.3496963 1.4915852 1.6483904 1.8216801 2.0131873 2.2248265 2.4587148 2.7171911 1.0000000 1.1051691 1.2213987 1.3498521 1.4918148 1.6487076 1.8221007 2.0137294 2.2255115 2.4595665 2.7182369 68 Solução exata Y(x) = ex 1.0000 1.1052 1.2214 1.3499 1.4918 1.6487 1.8221 2.0138 2.2255 2.4596 2.7183 Solução exata Y(x) = ex 1.0000000 1.1051709 1.2214028 1.3498588 1.4918247 1.6487213 1.8221188 2.0137527 2.2255409 2.4596031 2.7182818 7 -Resolução Numérica de Equações Diferenciais Ordinárias Método de Euler Problema: y' = 4x3; y(0) = 1 xn 0.1 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 Solução exata Y(x) = x4 yn h = 0.1 0.0000 0.0000 0.0004 0.0036 0.0144 0.0400 0.0900 0.1764 0.3136 0.5184 0.8100 h = 0.05 0.0000 0.0000 0.0009 0.0056 0.0196 0.0506 0.1089 0.2070 0.3600 0.5852 0.9025 h = 0.01 0.0000 0.0001 0.0014 0.0076 0.0243 0.0600 0.1253 0.2333 0.3994 0.6416 0.9801 0.0000 0.0001 0.0016 0.0081 0.0256 0.0625 0.1296 0.2401 0.4096 0.6561 1.0000 Método de Runge-Kutta de segunda ordem Problema: y' = 4x3; y(0) = 0 xn 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 yn h = 0.1 0.0000000 0.0002000 0.0020000 0.0090000 0.0272000 0.0650000 0.1332000 0.2450000 0.4160000 0.6642000 1.0100000 Solução exata Y(x) = x4 h = 0.05 0.0000000 0.0001250 0.0017000 0.0083250 0.0260000 0.0631250 0.1305000 0.2413250 0.4112000 0.6581250 1.0025000 h = 0.01 0.0000000 0.0001010 0.0016040 0.0081090 0.0256160 0.0625250 0.1296360 0.2401490 0.4096640 0.6561810 1.0001000 69 0.0000000 0.0001000 0.0016000 0.0081000 0.0256000 0.0625000 0.1296000 0.2401000 0.4096000 0.6561000 1.0000000 E.B.Hauser – Cálculo Numérico Exercícios: 1. Utilizando o método de Euler, determinar y(X i ), se : ⎧⎪ y` = − xy − 1 ⎨ , h=0,25 , X i =1,75 a) ⎪⎩ y( 1 ) = 2 ⎧⎪ y` = x + y , y > 0 b) ⎨ ⎪⎩ y( 1 ) = 0 ⎧⎪ y` = x 2 + 2 y ⎨ c) ⎪ y( 1 ) = 0 ,2 ⎩ ⎧⎪ y` = 100 y − 101e x − 100 ⎨ d) ⎪⎩ y( 0 ) = 2 , h=0,1 , X i =1,4 , h=0,1 , X i =1,4 , h=0,1 , ⎧⎪ xy`` − y` −8 x 3 y 3 = 0 , h=0,1 e) ⎨ ⎪⎩ y( 1 ) = 0.5 , y`( 1 ) = −0 ,5 ⎧⎪ y`` −( 1 − y 2 ) y` + y = 0 , f) ⎨ ⎪⎩ y( 0 ) = 0 ,5 , y`( 0 ) = 0 h=0,1 X i =0,3 , X i =1,3 , X i =0,3 2.Utilizando o Método de Heun (Runge-Kutta de 2ª ordem), determinar y( X i ), se: ⎧ y´ = − xy ⎧⎪ y´ = 3 x 2 + y ⎨ b) ⎩ y( 0 ) = 1 , h=0,1, X i =0,2 a) ⎨ , h=0,2, X i =0,4 ⎪⎩ y( 0 ) = 1 ⎧⎪ y´ = 4 x 3 c) ⎨ , h=0,1 , X i =0,3 ⎪⎩ y( 0 ) = 0 3.Utilizando o Método das diferenças finitas, e o valor indicado de n, resolver o PVC. ⎧ y' ' +9 y = 0 a) ⎨ ,n = 4 ⎩ y( 0 ) = 4 , y( 2 ) = 1 ⎧⎪ x 2 y' ' +3 xy' +3 y = 0 c) ⎨ ⎪⎩ y( 1 ) = 5 , y( 2 ) = 0 ,n = 8 ⎧ y' ' +2 y' + y = 5 x b) ⎨ ⎩ y( 0 ) = 4 , y( 1 ) = 0 ,n = 5 ⎧ y' ' +( 1 − x ) y' + xy = x d) ⎨ ⎩ y( 0 ) = 0 , y( 1 ) = 2 ,n = 10 70 7 -Resolução Numérica de Equações Diferenciais Ordinárias 4. PVI -Considerar um sistema massa-mola-amortecedor descrito pela equação diferencial ordinária de segunda ordem: m y” + cy’ + ky = L sin x. Utilizando Euler com h=0.25, estimar o deslocamento para o tempo x=0.5, para massa m=1, amortecedor c=0.5, rigidez k=2, amplitude da força L=0.5 , com deslocamento inicial y(0)=1, velocidade inicial y’(0) =0. 5. PVC - Considerar o problema de deflexão de uma viga de seção transversal retangular sujeita a uma carga uniforme, tendo seus extremos apoiados de modo a não sofrer deflexão alguma. O problema de valor de contorno que rege essa situação física é d 2w q S = x( x − 1 ), 0 < x < L , w+ 2 EI dx 2 EI Como não ocorre deflexão nas extremidades da viga, as condições de contorno são w(0) =0, w(L) =0. Considerando: • Comprimento L=120 pol; • Intensidade de carga uniforme q=100 lb/pé; • Módulo de elasticidade E=3.0 x 107 lb/pol2; • Esforço nas extremidades S=1000 lb; 4 • Momento central de Inércia I=625 pol ; aproximar a deflexão w(x) da viga a cada 20pol, utilizando diferenças finitas. Respostas : 1.a) y(1,75)=1,2018 b) y(1,4)=0,4558 c) y(1,4)=0,7778 d) y(0,3)=-25,2206 e) y(1,3)= 0, 3647 f) y(0,3)= 0,3991 2.a) y(0,4)=1,1189 b) y(0,2)=0,9801 c) y(0,3)=0,009 y1 = 0 ,2660 y3 = 6 ,3226 y 2 = 0 ,5097 y 2 = 2 ,9640 y3 = 0 ,7357 y3 = 2 ,2064 y4 = 0 ,9471 c) y4 = 1,5826 y5 = 1,0681 d) y5 = 1,1465 y6 = 1,3353 y6 = 0 ,6430 y7 = 1,5149 y7 = 0 ,2913 y8 = 1,6855 y1 = −0 ,2259 y1 = −5 ,6774 3.a) y 2 = −2 ,5807 y1 = 3,8842 b) y 2 = −0 ,3356 y3 = −0 ,3308 y4 = −0 ,2167 y9 = 1,8474 4) y(0.5)=0.875 71 8 – Resolução Numérica de Equações Diferenciais Parciais 8.1 -Introdução Equação diferencial parcial (EDP) é a uma equação que envolve duas ou mais variáveis independentes ( x , y , z ,t ,K ) e derivadas parciais de uma função incógnita(variável dependente que queremos determinar) u ≡ u( x, y, z,t ,K) . Um corpo é isotrópico se a condutividade térmica em cada um de seus pontos é independente da direção do fluxo de calor através do ponto. Em um corpo isotrópico, a temperatura, u ≡ u(x, y, z, t), é obtida resolvendo-se a equação diferencial parcial (EDP) ∂ ⎛ ∂u ⎞ ∂ ⎛ ∂u ⎞ ∂ ⎛ ∂u ⎞ ∂u ⎜ k ⎟ + ⎜⎜ k ⎟⎟ + ⎜ k ⎟ = cp ∂x ⎝ ∂x ⎠ ∂y ⎝ ∂y ⎠ ∂z ⎝ ∂z ⎠ ∂t onde k, c e p são funções de (x,y,z), e representam respectivamente, a condutividade térmica, o calor específico e a densidade do corpo no ponto (x,y,z). Quando k, c e p são constantes, essa equação é denominada equação simples tridimensional do calor, e é expressa como ∂ 2u ∂x 2 + ∂ 2u ∂y + 2 ∂ 2u ∂z 2 = cp ∂ u . k ∂t Se o domínio do problema é relativamente simples, a solução dessa equação é obtida utilizando a série de Fourier. Na maioria das situações onde k, c e p não são constantes ou quando o domínio é irregular, a solução da equação diferencial parcial deve ser obtida por meio de métodos de aproximação. Para introduzir métodos numéricos de resolução de EDP, utilizaremos as equações de Poisson, do Calor e da Onda, as quais representam protótipos das EDP´s elípticas, parabólicas e hiperbólicas. Será adotado um procedimento geral, seguindo os passos: 1) Construir uma malha a partir do domínio do problema; 2) Para os pontos interiores da malha, escolher a discretização das derivadas parciais; 3) Construir o sistema de equações lineares usando a discretização dos pontos interiores, f xi , y j e as condicções de contorno. ( ) 4) Resolver o sistema de equações lineares(escolher o método masi eficiente), cuja solução forne as aproximações da solução nos pontos interiores da malha. 8.1.1-Equação Do Potencial ou de Poisson(EDP Elíptica) Consideremos a equação de Poisson: ∂ 2u ∂x 2 ( x, y ) + ∂ 2u ∂y 2 72 ( x , y ) = f ( x , y ). E.B.Hauser – Cálculo Numérico Nessa equação supomos que a função f descreve os dados do problema em uma região plana R com fronteira S. Equações desse tipo aparecem durante o estudo de diversos problemas físicos dependentes do tempo; por exemplo, a distribuição de calor para um estado estável em uma região plana, a energia potencial de um ponto em um plano sobre o qual atuam forças gravitacionais e os problemas bidimensionais do estado de equilíbrio que incluem fluidos não comprimíveis. Para se obter uma solução única para equação de Poisson é necessário impor outras restrições. Por exemplo, o estudo da distribuição de calor no estado de equilíbrio em uma região plana requer que f ( x , y ) ≡ 0 que é a equação de Laplace ∂ 2u ∂x 2 ( x, y ) + ∂ 2u ∂y 2 ( x, y ) = 0, Se a temperatura na região é determinada por sua distribuição no limite da região, as restrições são denominadas Condições de limite de Dirichlet, dadas por u ( x, y ) = g ( x, y ), para todo(x,y) em S, a fronteira da região R ( ver figura 1). Figura 1 8.1.2- Equação de Calor ou da Difusão (EDP Parabólica) A equação do calor ou de difusão (que é uma equação diferencial parcial parabólica) ∂u ∂ 2u ( x ,t ) + ( x ,t ) = 0 , ∂t ∂x 2 modela matematicamente o problema físico referente ao fluxo de calor ao longo de uma barra de comprimento l (figura 2), a qual tem uma temperatura uniforme dentro de cada elemento transversal. Essa condição requer que a superfície lateral da barra esteja perfeitamente isolada. A constante α é determinada pelas propriedades de condução de calor do material de que a barra é feita e é independente da posição da barra. Figura2 73 8 - Resolução Numérica de Equações Diferenciais Parciais Um dos conjuntos típicos de restrições para um problema de fluxo de calor desse tipo consiste em especificar a distribuição inicial de calor na barra: u(x,0)=f(x) e em descrever o comportamento nas extremidades da barra. Por exemplo, se as extremidades são mantidas em temperaturas constantes U i e U 2 , as condições de contorno têm a forma: u( 0 ,t ) = U 1 e u( l ,t ) = U 2 , e a distribuição de calor se aproxima da distribuição limite de temperatura lim u ( x , t ) = U 1 + t→ ∞ U 2 − U1 x. l Se, a barra estiver isolada de modo que não flua calor por suas extremidades, as condições de contorno serão: ∂u ∂u (0, t ) = 0 e (l , t ) = 0, ∂x ∂x o que resulta em uma temperatura constante na barra como caso limite. A equação diferencial parcial parabólica também é importante para o estudo da difusão dos gases. 8.1.3- Equação da Onda (EDP Hiperbólica) Consideremos a equação da Onda unidimensional , um exemplo de uma equação diferencial parcial hiperbólica. Supomos que uma corda elástica ,de comprimento l , seja esticada entre dois suportes no mesmo nível horizontal(figura 3) Figura 3 Se pusermos a corda em movimento de modo que ela vibre em um plano vertical, o deslocamento vertical u ( x , t ) de um ponto x no tempo t satisfará a equação diferencial parcial α 2 ∂ 2u ∂x 2 ( x ,t ) = ∂ 2u ∂t 2 ( x ,t ), para 0 < x < l , 0 < t , se os efeitos de amortização forem desconsiderados e a amplitude não for muito grande. Para impor restrições a esse problema, vamos supor que a posição e a velocidade iniciais da corda sejam dadas por 74 E.B.Hauser – Cálculo Numérico ∂u ( x ,0 ) = g( x ), ∂t Se os pontos extremos forem fixos, teremos: u( 0 ,t ) = 0 e u( l ,t ) = 0 . Os outros problemas físicos envolvendo a equação diferencial parcial hiperbólica ocorrem no estudo de vigas vibrantes com uma ou ambas as extremidades clamped e na transmissão de eletricidade em uma linha de transmissão longa onde exista alguma perda de corrente para o solo. u ( x,0) = f ( x) e 8.2. -Método das Diferenças Finitas para Equação Diferencial Parcial Elíptica Consideremos o problema de valor de contorno envolvendo a equação de Poisson (que é uma equação diferencial parcial elíptica) ⎧ 2 ∂ 2u ∂ 2u ⎪∇ u( x , y ) ≡ 2 ( x , y ) + 2 ( x , y ) = f ( x , y ) ⎨ ∂x ∂y ⎪ ⎩ u( x , y ) = g( x , y ) para ( x , y ) ∈ S , onde S é a fronteira(contorno) do retângulo R = {( x , y ) / a < x < b , c < y < d } . Se f e g são contínuas em seus domínios, então existe uma única solução para esse problema de valor de contorno.. Utilizaremos uma adaptação do método de Diferenças Finitas . Em R contruímos uma grade(figura4) , traçando linhas verticais e horizontais ( x = xi e , y = y j grid lines) pelos pontos (x i , y j ), e suas intersecções são os pontos de rede (mesh points), onde x i = a + ih, h=(b – a)/n , para todo i = 0,1,...,n e y j = c + jk , k=(d – c)/m , para todo j = 0,1,...,m Figura 4 75 8 - Resolução Numérica de Equações Diferenciais Parciais Para cada ponto de rede no interior da quadricula (x i , y j ), com i = 1,2,...,n-1 e com j = 1,2,...,m-1, utilizamos a série Taylor na variável x ao redor de xi para gerar a fórmula das diferenças centrais ( ( xi , y j ) = 2 ) ( ) ( ∂2u u xi +1 , y j − 2u xi , y j + xi −1 , y j ∂x h2 ) − h2 ∂4u (ξ , y ), 12 ∂x4 i j (2.1) onde ξ ∈ ( xi −1 , xi +1 ). Também utilizamos a série de Taylor na variável y ao redor de y j para gerar a fórmula das diferenças centrais u(xi +1 , y j ) − 2u(xi , y j ) + (xi −1 , y j ) k ∂ u ( − xi , y j ) = (xi ,η j ), 2 2 12 4 ∂2u ∂y 2 4 (2.3) ∂y k onde η ∈ ( y j −1 , y j +1 ). A utilização dessas formulas na Equação (2.1) nos permite expressar a equação de Poisson nos pontos (x i , y j ), como ( ) ( ) ( u xi +1 , y j − 2u xi , y j + xi −1 , y j h2 ( ) = f xi , y j + ) + u(xi+1 , y j ) − 2u(xi , y j ) + (xi−1 , y j ) k2 ( ) ( ) h 2 ∂ 4u k 2 ∂ 4u + ξ , y xi ,η j , i j 12 ∂x4 12 ∂y4 para todo i = 1,2,...,n-1 e j = 1,2,...,m-1, e as condições de limite como u ( x0 , y j ) = g ( x0 , y j ) e u ( x n , y j ) = g ( x n , y j ), para todo j = 0,1,...,m; u ( xi , y 0 ) = g ( xi , y 0 ) e u ( xi , y m ) = g ( xi , y m ), para todo i = 1,2,...,n-1; Na forma da equação de diferenças, isso resulta no método das Diferenças Finitas para a equação de Poisson, com um erro local de truncamnto da ordem de O(h 2 + k 2 ) : 2 ⎤ ⎡⎛ h ⎞ 2 ⎛h⎞ 2 ⎢⎜ ⎟ + 1⎥ wij − wi +1, j + wi −1, j − ⎜ ⎟ wi , j + 1 + wi , j −1 = −h 2 f xi , y j , ⎝k⎠ ⎥⎦ ⎢⎣⎝ k ⎠ i = 1,2,..., n - 1 e j = 1,2,..., m - 1. ( ) ( ) ( ) (2.4) w0 j = g ( x0 , y j ) e wnj = g ( x n , y j ) , para todo j = 0,1,...,m; wi 0 = g ( xi , y 0 ) e wim = g ( xi , y m ), para todo i = 1,2,...,n-1; onde wij é uma aproximação de u ( xi , y j ) . 76 (2.5) E.B.Hauser – Cálculo Numérico A equação em (2.4) envolve aproximações a u ( x , y ) nos pontos (x i −1 , y j ), (x , y ), (x i j i +1 , y j ), (x , y ) e (x , y ) . i j −1 i j +1 Reproduzindo a parte da malha na qual esses pontos estão situados (veja figura.5), observamos que cada equação contém aproximações em uma região em forma de estrela ao redor de (xi , y j ) . Figura 5 Se utilizarmos a informação das condições de limite (2.5) sempre que for conveniente no sistema dado por (12.4), poderemos dizer que, em todos os pontos (xi , y j ) adjacentes ao ponto de rede do limite, teremos um sistema linear ( n – 1)(m – 1) x ( n – 1)(m – 1), cujas incógnitas são as aproximações wij a u ( xi , y j ) no interior dos pontos de rede. O sistema linear que contém essas incógnitas será expresso mais eficientemente em cálculos matriciais se for introduzida uma remarcação dos pontos interiores da malha. Um sistema de marcação desses pontos consiste em utilizar Pl = xi , y j e wl = wij ( ) onde l = i + (m − 1 − j )(n − 1), para todo i = 1,2,...,n-1 e j = 1,2,...,m-1. Isso marca consecutivamente os ponto de rede da esquerda para direita e de cima para baixo. Por exemplo, com n = 4 e m = 5, com a remarcação se obtém uma quadrícula cujos pontos são mostrados na Figura 12.6.Ao marcar os pontos desse modo, se garante que o sistema necessário para determinar wij seja uma matiz de banda com uma largura de banda de, no máximo, 2n – 1. Figura 6 77 8 - Resolução Numérica de Equações Diferenciais Parciais Exemplo1 Consideremos o problema da determinação do estado estável da distribuição de calor em uma placa quadrada metálica delgada, com dimensões 0,5 m por 0,5 m. Dois limites adjacentes são mantidos a 0ºC, e o calor nos outros dois limites aumenta linearmente de 0ºC, em um canto, para 100ºC no lugar onde ambos os lados se encontram. Se colocarmos os lados com as condições de limite igual a zero ao longo dos eixos x e y , o problema pode ser expresso como ∂ 2u ∂ 2u ( x , y ) + ( x, y ) = 0, ∂x 2 ∂y 2 para (x , y) no conjunto R = {( x , y ) / 0 < x < 0 ,5 , 0 < y < 0 ,5 }, com as condições de fronteira u (0 , y)=0, u (x , 0)=0, u (x , 0,5)=200x, u (0,5 , y) = 200y Consideremos n = m = 4. Assim, com h=k=0.125. Construímos a malha da figura 7: Figura 7 Utilizandos o método das Diferenças Finitas (2.4) obtemos a equação de diferenças finitas 4wi , j − wi+1, j − wi−1, j − wi , j−i − wi , j+i = 0, para todo i= 1,2,3 e j=1,2,3 . Para expressar isso em função dos interiores da grade, usamos Pl = xi , y j e wl = wij ( e ) wi = u ( Pi ) , e l = i+(m-1-j)(n-1). 78 E.B.Hauser – Cálculo Numérico Também, a partir das condições de contorno e usando (2.5) w 1 ,0 = w 2 ,0 = w 3 ,0 = w 0 ,1 = w 0 ,2 = w 0 ,3 = 0 , w 1 ,4 = w 4 ,1 = 25 , w 2 ,4 = w 4 ,2 = 50 , e , w 3 ,4 = w 4 ,3 = 75 Assim, para cada ponto interior da grade, Pi geramos uma equação linear: P 1 P 2 : 4 w 1 − w 2 − w 4 : 4 w 2 − w 3 − w 1 P 3 P 4 : 4 w 3 : 4 w 4 − P 5 P 6 : 4 w 5 : 4 w 6 − P7 P 8 : 4 w 7 : 4 w 8 − P 9 : 4 w 9 − − w 2 w 5 − w 6 w 5 − − − − − w 8 w 9 − w 8 = − = w 6 w 1 − = w 4 w 3 − w 4 w 7 − w 6 − w 0 ,3 + w 1 ,4 w 5 = w 2 ,4 w 4 ,3 w 7 = w 2 − w 9 = + w 3 ,4 w 0 ,2 w 8 = 0 − w 0 ,1 w 5 = w 4 ,2 , + w 1 ,0 , w 2 ,0 , = w 3 ,0 + = w 4 ,1 , Obtemos um sistema linear cuja a forma matricial é: Resolvendo o sistema com o sistema de computação algébrica e simbólica Maple , obtemos as temperaturas aproximadas nos pontos interiores da malha. 79 8 - Resolução Numérica de Equações Diferenciais Parciais > A := matrix( [[4,-1,0,-1,0,0,0,0,0],[-1,4,-1,0,-1,0,0,0,0],[0,1,4,0,0,-1,0,0,0],[-1,0,0,4,-1,0,-1,0,0],[0,-1,0,-1,4,-1,0,1,0],[0,0,-1,0,-1,4,0,0,-1],[0,0,0,-1,0,0,4,-1,0],[0,0,0,0,-1,0,1,4,-1],[0,0,0,0,0,-1,0,-1,4]]): > b := vector( [25,50,150,0,0,50,0,0,25]): > linalg[linsolve](A, b); > W:=evalf(%); Tabelamos os resultados: i wi 1 18.75 2 37.50 3 56.25 4 12.5 5 25.00 6 37.50 7 6.25 8 12.50 9 18.75 Assim, para cada i, wi = u ( Pi ) , isto é, wi é uma estimativa da solução em Pi = ( xi , yi ) . Por exemplo, w6 = u( P6 ) = u( 0.375 ,0.25 ) ≅ 37.5 Exemplo2: Consideremos o modelo para determinar a temperatura de estado estacionário para uma placa quadrada com condições de contorno dadas: ⎧ ∂ 2u ∂ 2u ( x, y ) = 0,0 < x < 2,0 < y < 2 ⎪ 2 ( x, y ) + ∂y 2 ⎪ ∂x ⎪ ⎨u ( 0 , y ) = 0 , u ( 2 , y ) = y( 2 − y ) ⎪ x,0 < x < 1 ⎪ u ( x ,0 ) = 0 , u ( x ,2 ) = ⎧⎨ ⎪ ⎩2 − x , 1 ≤ x < 2 ⎩ 80 E.B.Hauser – Cálculo Numérico Utilizando diferenças finitas centrais com h=k=2/3, para i, j = 0,1,2,3, obtemos a equação de diferenças finitas: ui + 1, j + ui , j = 1 + ui − 1, j + ui , j − 1 − 4ui , j = 0 Para determinar o valor de u( 2 / 3 ,2 / 3 ) ≅ u11, u( 2 / 3,4 / 3 ) ≅ u12 , u( 4 / 3,2 / 3 ) ≅ u 21 e u( 4 / 3,4 / 3 ) ≅ u 22 Utilizando o sistema Maple para resolver o sistema linear tridiagonal: ⎧ − 4u11 + u 21 + u12 = 0 ⎪u11 − 4u 21 + u 22 = −8 / 9 ⎪ ⎨ ⎪u11 − 4u12 + u 22 = −2 / 3 ⎪⎩ u 21 + u12 − 4u 22 = −14 / 9 > solve({-4*u11+u21+u12=0, u11-4*u21+u22=-8/9, u11-4*u12+u22=-2/3, u21+u12-4*u22=-14/9},{u11,u12,u21,u22}); 13 7 7 5 { u12 = , u11 = , u22 = , u21 = } 36 36 12 12 > evalf(%); { u12 = .3611111111, u11 = .1944444444, u22 = .5833333333, u21 = .4166666667} Exercícios: 1) Com h=k=10, resolver numericamente equação de Laplace ∂ 2u ∂ 2u ( x ,t ) + ( x ,t ) = 0 , 0 < x < 80 , 0 < y < 60 , ∂x 2 ∂y 2 sujeita às condições u ( x ,0 ) = u ( x ,60 ) = u ( 80 , y ) = 0 , e ui , j = j↓ 6 5 4 3 2 1 0 x→ u ( 0 , y ) = 100 . ui + 1, j + ui −1, j + ui , j −i + ui , j + i 4 0 100 100 100 100 100 100 100 0 1 0 46,993 63,138 67,192 63,138 46,993 0 10 2 0 24,835 38,368 42,490 38,368 24,835 0 20 3 0 13,978 23,010 26,032 23,010 13,978 0 30 4 0 8,068 13,660 15,620 13,660 8,068 0 40 5 0 4,633 7,942 9,128 7,942 4,633 0 50 2) Resolver numericamente equação de calor 81 6 0 2,523 4,348 5,009 4,348 2,523 0 60 7 0 1,110 1,917 2,211 1,917 1,110 0 70 8 0 0 0 0 0 0 0 80 ←i 60 50 40 30 20 10 0 y↓ 8 - Resolução Numérica de Equações Diferenciais Parciais ∂u ∂ 2u ( x ,t ) − ( x ,t ) = 0 , 0 < x < 1, 0 ≤ t , ∂t ∂x 2 com as condições de contorno u ( 0 , t ) = u ( 1, t ) = 0 , 0 < t , e as condições iniciais u( x ,0 ) = sen( πx ), 0 ≤ x ≤ 1. Ajuda: Diferenças finitas para o problema com h=0,2, k=0.01 ⎞ ⎛ +u ui , j + 1 = 0 ,5 ui , j + 0 ,25⎜ u ⎟ + − i 1 , j i 1 , j ⎠ ⎝ j↓ ←i 0 1 2 3 4 5 6 0 0,3219 0,5208 0,5208 0,3219 0 0,06 5 0 0,3559 0,5758 0,5758 0,3559 0 0,05 4 0 0,3934 0,6366 0,6366 0,3934 0 0,04 3 0 0,4350 0,7038 0,7038 0,4350 0 0,03 2 0 0,4809 0,7781 0,7781 0,4809 0 0,02 1 0 0,5317 0,8602 0,8602 0,5317 0 0,01 0 0 0,5878 0,9511 0,9511 0,5878 0 0,00 x→ 0 ↑ tempo 0,2 0,4 0,6 0,8 1 Diferenças finitas para o problema com h=0,1, k=0.005 ⎞ ⎛ ui , j +1 = 0 ,9 ui , j + 0 ,1⎜ u +u ⎟ i −1, j ⎠ ⎝ i +1, j j↓ 6 5 4 3 2 1 0 x→ 0 1 2 3 4 5 6 x 0 0 0 0 0 0 0 0 0 1 0,5189 0,4759 0,4365 0,4004 0,3673 0,3369 2 0,9869 0,9053 0,8304 0,7616 0,6986 0,6408 3 1,3584 1,2460 1,1429 1,0483 0,9616 0,8820 4 1,5969 1,4647 1,3435 1,2324 1,1304 1,0369 0,3090 0,5878 0,8090 0,9511 1,0000 0,9511 0,1 0,2 0,3 0,4 8.4 – Bibliografia para EDP`s 82 5 1,6791 1,5401 1,4127 1,2958 1,1886 1,0902 0,5 6 1,5969 1,4647 1,3435 1,2324 1,1304 1,0369 0,6 9 10 ← i 0,5189 0 0,030 0,4759 0 0,025 0,4365 0 0,020 0,4004 0 0,015 0,3673 0 0,010 0,3369 0 0,005 0,8090 0,5878 0,3090 0 0,000 ↑ 0,7 0,8 0,9 1 tempo 7 1,3584 1,2460 1,1429 1,0483 0,9616 0,8820 8 0,9869 0,9053 0,8304 0,7616 0,6986 0,6408 E.B.Hauser – Cálculo Numérico --Burden, Richard L., Faires, J. Douglas.”Analise Numérica”, São Paulo, SP, 2003, THOMSON. --Cláudio, Dalcidio M, Marins, Jussara M, Cálculo Numérico Computacional, São Paulo, SP, Ed. Atlas, 1994. --Cunha, M.Cristina, Métodos Numéricos, Campinas, SP, 2003, Ed. Unicamp. --Zill, Denis G., Cullen, Michael R., Equações Diferenciais, Vol.2, Sâo Paulo, SP, 2002, Makron Books. --Schleider, Maria Amélia N, Cunha, Maria Cristina, Métodos Numéricos para Equações Diferenciais Parciais, Notas em Matemática Aplicada, Volume 4, São Carlos, SP, 2003, SBMAC. (Disponível em http://www.sbmac.org.br/boletim/pdf_2003/livro_04_2003.pdf) --Stroud, K.A, Booth, Dexter J., Advanced Engineering Mathematics, New York, 2003, Palgrave Macmillan. 83 Equação Diferenças Finitas h, k=tamanho do passo na direção x e na direção y (ou t) Centradas, com h=k Laplace ∂ 2u ∂ 2u ( x, y ) = 0 ( x, y ) + 2 2 ∂x ∂y ui , j = Célula Computacional • u i, j + 1 ui + 1, j + ui −1, j + ui , j − i + ui , j + i 4 • u i − 1, j o u i, j • u i + 1, j • u i, j − 1 ∂u ( x ,t ) = α ( x ,t ) 2 ∂ t ∂x Material Prata Cobre Alumínio Ferro Concreto o progressivas Calor ∂ 2u α >0 1,7 1,5 0,85 0,15 0,005 ⎛ α 2k ⎛ 2α 2 k ⎞⎟ ⎞ ui , j + 1 = ⎜ 1 − ui , j + +u ⎟ ⎜u ⎜ ⎟ i 1 , j i 1 , j + − 2 2 ⎠ ⎝ h h ⎝ ⎠ 1 k Converge se < h2 2 u i, j+1 • u i−1, j • u i, j • u i+ 1, j centradas Onda ∂ 2u ∂ 2u 2 β ( x ,t ) = ( x ,t ) ∂t 2 ∂x 2 ⎛ β 2 k 2 ⎞⎟ β 2k 2 ⎛ ⎞ +u ui , j + 1 = 2⎜ 1 − ui , j + u ⎜ ⎟ − u i , j −1 ⎜ i − 1, j ⎠ 2 ⎟ 2 ⎝ i + 1, j h h ⎝ ⎠ u • u i − 1, j Se β = 1 e k2 = 1 , ui , j + 1 = ui −1, j + ui + 1, j − u i , j −1 h2 84 o i, j + 1 • u i, j • u i, j − 1 • u i + 1, j Bibliografia ATKINSON, K. E. An Introduction to Numerical Analysis. 2.ed. New York : John Wiley & Sons, 1989. AYYUB, Bilal M.; McCUEN, Richard H. Numerical Methods For Engineers. New Jersey: Prentice Hall, 1996. BARROSO, Leonidas Conceição et al. Cálculo Numérico com Aplicações. 2.ed. São Paulo : Harbra, 1987. BURDEN, Richard L., FAIRES, J. Douglas. Análise Numérica. São Paulo : Thomson, 2003. CHAPRA, Steven C., CANALE, Raymond P. Numerical Methods for Engineers with Programming and Software Applications. 4.ed. Boston : McGraw-Hill, 2002. CLÁUDIO, Dalcidio Moraes, MARINS, Jussara Numérico Computacional. 2.ed. São Paulo : Atlas, 1994. Maria. Cálculo CUNHA, M.Cristina, Métodos Numéricos, Campinas, SP, 2003, Ed. Unicamp. GANDER, Walter.; HREBICEK, Jiri. Solving Problems in Scientific Computing Using Maple and Matlab: Berlin, Springer-Verlag, 1995. HUMES, Ana Flora P. de Castro et al. Noções de Cálculo Numérico. São Paulo: McGrawHill, 1984. KREYSZIG, Erwin. Advanced Engineering Mathematics. New York, NY : John Wiley & Sons, 1993. O’NEIL,PeterV. Advanced Engineering Mathematics. 4.ed. Pacific Grove, CA : Brooks/Cole, 1995. RICE, Richard G.; DO, Duong D. Applied Mathematics and Modelling for Chemical Engineers. New York : John Wiley & Sons, 1995. RUGGIERO, Márcia A. Gomes, LOPES, Vera Lúcia da Rocha. numérico: aspectos teóricos e computacionais. São Paulo : McGraw-Hill, 1997. Cálculo SCHELEIDER, Maria Amélia N, Cunha, Maria Cristina dC, Métodos Numéricos para Equações Diferenciais Parciais, Notas em Matemática Aplicada, Volume 4, São Carlos, SP, 2003, SBMAC. (Disponível em http://www.sbmac.org.br/boletim/pdf_2003/livro_04_2003.pdf) STROUD, K.A, BOOTH, Dexter J., Advanced Engineering Mathematics, New York, Palgrave Macmillan, 2003. 85 Cálculo Numérico - Formulário ⎡ ⎢⎣ 1a) # F = 2( β − 1 )β ⎡ ⎛ xk + 1 − xk t −1( M − m + 1 )⎤ + 1 , F ( β , t , m, M ) ; 1b) DIGSE( x , x k k + 1 ) = − ⎢0 ,3 + log ⎜⎜ µ + ⎥⎦ xk + 1 ⎢⎣ ⎝ 2) Seja p( x ) = a n x n + a n −1 x n −1 + ... + a3 x 3 + a 2 x 2 + a1 x + a0 p( x ) = (((...( a n x + a n −1 ) x + a n − 2 )x + ...a 2 )x + a1 ) x + a0 123 n −1 2 b) Huat: Se p(0) ≠ 0 e para algum k = 1, 2, ...,n-1, ak ≤ ak −1ak + 1 , então p tem raízes complexas. f ( xk ) 3) Método de Newton-Raphson: xk + 1 = xk − , k = 0 ,1,2 ,..., máx f ' ( xk ) ≠ 0 f ' ( xk ) a) Horner: 4) Sistema de n equações lineares: AX=B, A = ⎡a ij ⎤ , X = ⎡ x ⎤ e B = ⎡ b i ⎤ com i,j = 1, 2, ..., n. ⎥⎦ ⎥⎦ ⎢⎣ ⎢⎣ i ⎥⎦ ⎣⎢ 4a) NORM A = det A onde α k = a 2 + a 2 + L a 2 , para k = 1, 2, ..., n. kn k2 k1 α 1α 2 Lα n n 4b) A matriz A é Diagonal Dominante se a > ii ∑ ∀ i , j = 1,2 ,.., n. aij j =1 j ≠i 4c)Gauss -Jacobi e Gauss -Seidel: ∀ i= 1, 2, ..., n e k = 1, 2, ..., máx, ⎞ ⎛ ⎞ ⎛ ⎟ ⎜ ⎟ ⎜ n − i 1 n ⎟ ⎟ 1 ⎜ 1 ⎜ x bi − a ij x j ⎟ x − = = bi − a ij x j a ij x j ⎟ ⎜ ⎜ i k + 1 aii ⎜ i k + 1 aii ⎜ k ⎟ k +1 k ⎟ j =1 j =1 j =i +1 ⎟ ⎜ ⎟ ⎜ j ≠i ⎠ ⎝ ⎠ ⎝ 0 5) Diferenças Finitas Ascendentes: ∀ i= 0, 1, 2, ..., n ,seja ∆ yi = yi . Para k = 1, 2, ..., n ∑ ∑ a diferença finita de ordem k é ∆k yi = ∆k −1 yi + 1 − ∆k −1 yi , com i= 0, 1, 2, ..., n-k . 6) Diferenças Divididas: ∀ i= 0, 1, 2, ..., n ,seja ∆ k yi = ∆ k −1 yi +1 − ∆ k −1 yi xi +k − xi ∑ ∆0 yi = yi . Para k = 1, 2, ..., n, a diferença dividida de ordem k é , com i= 0, 1, 2, ..., n-k . 7) Polinômio Interpolador de Newton para Diferenças Finitas Ascendentes: p( x ) = y o + Se z = ( x − xo ) h ∆y0 + ( x − x o )( x − x )L ( x − x ) ( x − x o )( x − x ) 2 1 n − 1 ∆n y 1 ∆ y +L+ o o 2 n 2! h n! h ∆2 yo ∆3 yo ∆n yo ( x − xo ) , p( z ) = yo + z ∆y + z( z − 1 ) . + − − + L + − L − − z ( z 1 ) ( z ( n 1 )) z ( z 1 )( z 2 ) 0 h n! 3! 2! 8) Polinômio Interpolador de Newton para Diferenças Divididas 2 p( x ) = yo + ( x − xo )∆y + ( x − xo )( x − x ) ∆ yo + ...+ ( x − xo )( x − x )...(x − x )∆ n yo 0 1 1 n−1 86 ⎞⎤ ⎟⎥ ⎟⎥ ⎠⎦ Cálculo Numérico - Formulário p 9) Ajustamento a um Polinômio de grau p: Se Y ( x ) = ao + a x + a x 2 + L + a p x é a função que ajusta os pontos 1 2 ( xi , yi ) , i = 0 ,1,...n e ⎛ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ∑ xi2 ∑ xi3 n+1 ∑ xi M p xi ∑ ∑ n ∑ ∑ = i =0 ∑ xi ∑ xi2 M p +1 xi p < n , então, para ∑ M p+2 xi ∑ xi3 ∑ xi4 ∑ L L L 9a)Ajuste Linear e Quadrático Y ( x ) = a o + a x , e 1 ⎛ n+1 ⎜ ⎛ n+1 ⎛ xi ⎞⎟ ⎛ a ⎞ yi ⎞⎟ ⎜ ⎜ ⎜ 0⎟ = ⎜ , e ⎜ xi ⎜⎜ 2 ⎟ ⎟ ⎜ ⎜ ⎟ a xi yi xi xi ⎟ ⎝ 1 ⎠ ⎜ ⎝ ⎠ ⎝ ⎠ xi2 ⎜ ⎝ ∑ ∑ ∑ ∑ ∑ ∑ ∑ ⎞ ⎟ ⎟ ⎟ ⎟ M p ⎟⎟ xi y i ⎠ ∑ xip ⎞⎟⎟⎛⎜⎜ ao ⎞⎟⎟ ⎛⎜⎜ ∑ yi ∑ xip +1 ⎟⎟⎜⎜ a1 ⎟⎟ = ⎜⎜ ∑ xi yi L M p+3 xi , os parâmetros a 0 , a 1 ,..., a p constituem a solução de: ∑ M M 2 p ⎟⎟⎜⎜ a ⎟⎟ xi ⎠⎝ p ⎠ ⎜ ⎜ ⎝ ∑ Y ( x ) = ao + a x + a 2 x 2 1 2 ⎞ xi xi ⎟ ⎛⎜ a o ⎞⎟ ⎟ ⎜ ⎟ xi3 ⎟ ⎜ a ⎟ = xi2 1 ⎟ ⎜ ⎟ xi4 ⎟ ⎜ a ⎟ xi3 ⎠ ⎝ 2⎠ ∑ ∑ ∑ ∑ ∑ ∑ ⎛ ⎜ ⎜ ⎜ ⎜ ⎝ ∑ yi ⎞⎟⎟ ∑ xi yi ⎟ ∑ xi2 yi ⎟⎠ 10) Integração: Para h = ( x n − xo ) / n , xi = xo + ih e y i = f ( xi ) , i = 0,1,...n, ∫ f ( x )dx ≅ 2 [ yo + 2( y1 + y2 + L + yn −1 ) + yn ] xn 10a) Trapézios: h xo ET ≤ h2 ( xn − x0 ) max f'' ( x ) 12 x∈[ xo , xn ] xn 10b) Simpson ( n par) : ∫ f ( x )dx ≅ ou ET ≈ ( xn − x0 ) max ∆2 yi . 12 h⎡ y o + 4( y1 + y 3 + y 5 + L + y n −1 ) + 2( y 2 + y 4 + y6 + L + y n − 2 ) + y n ⎤⎥ 3 ⎢⎣ ⎦ xo ES ≤ h4 ( x n − x0 ) max f '''' ( x ) 180 x∈[ xo ,x n ] ⎧⎪ y' = f ( x , y ) 11) PVI: Sejam ⎨ ⎪⎩ y( xo ) = yo ou ES ≈ ( xn − x0 ) max ∆4 yi . 180 y ( xi ) ≅ y i com xi = xo + ih , i= 0,1,...,n e h = ( xn − xo ) / n . 11 a)Euler: yi + 1 = yi + hf ( xi , yi ) , i= 0,1,...,n-1. a h 11b) Runge-Kutta de 2 Ordem : y = yi + (k1 + k 2 ) , k1 = f ( xi , yi ) e k 2 = f ( xi + h , yi + hk1 ) , i= 0,1,...,n-1. i +1 2 ⎧⎪ y' ' + P( x ) y' +Q( x ) y = f ( x ) , y ( xi ) ≅ y i com xi = xo + ih , i= 0,1,...,n e h = ( xn − xo ) / n . ⎪⎩ y( xo ) = yo , y( xn ) = y n . 12) PVC: Sejam ⎨ ⎛ ⎝ Diferenças Finitas: ⎜ 1 + ( ) h ⎛ h ⎞ ⎞ P( xi ) ⎟ yi + 1 + − 2 + h 2 Q( xi ) yi + ⎜ 1 − P( xi ) ⎟ yi −1 = h 2 f ( xi ) , i= 1,...,n-1 2 2 ⎝ ⎠ ⎠ 87 Cálculo Numérico - Formulário Derivada Diferença Finita h, k=tamanho do passo na direção x e na direção y (ou t) y´( xi ) yi + 1 − yi avançada , h y´´( xi ) yi + 1 − 2 y i + yi − 1 centrada h2 y' ' ' ( xi ) yi + 2 − 2 yi + 1 + 2 yi − 1 − yi − 2 y IV ( xi ) yi + 2 − 4 yi + 1 + 6 y i −4 yi − 1 + yi − 2 centrada h4 ( ∂u xi ,t j ∂t ( 2h 3 ) ∂ 2u xi ,t j ∂ x2 ( yi + 1 − yi − 1 centrada , 2h centrada u , −u , i j +1 i j −1 centrada 2k u ) ∂ 2u xi , y j ∂ y2 ) i +1 , j − 2u , + u i j i −1 , j centrada h2 u , − 2u , + u , i j +1 i j i j −1 centrada 2 k 88 yi − yi − 1 atrasada h Cálculo Numérico - Formulário Equação Diferenças Finitas h, k=tamanho do passo na direção x e na direção y (ou t) Centradas, com h=k Laplace ∂ 2u ∂x 2 ( x, y ) + ∂ 2u ∂y 2 ( x, y ) = 0 ui , j = Célula Computacional • u i, j + 1 ui + 1, j + ui − 1, j + ui , j − i + ui , j + i 4 • u i − 1, j o u i, j • u i + 1, j • u i, j − 1 ∂ 2u ∂u α ( x ,t ) ( x ,t ) = ∂t ∂x 2 Material Prata Cobre Alumínio Ferro Concreto o progressivas Calor α >0 1,7 1,5 0,85 0,15 0,005 ⎛ α 2k ⎛ 2α 2 k ⎞⎟ ⎞ +u u ui , j + ui , j + 1 = ⎜ 1 − ⎜ ⎟ ⎜ i − 1, j ⎠ 2 ⎝ i + 1, j 2 ⎟ h h ⎠ ⎝ k 1 < Converge se 2 2 h u i, j+1 • u i−1, j • ui, j • u i+1, j centradas o Onda ∂ 2u ∂ 2u β2 ( x ,t ) ( x ,t ) = ∂x 2 ∂t 2 ⎛ β 2 k 2 ⎞⎟ β 2k 2 ⎛ ⎞ +u ui , j + u i , j + 1 = 2⎜ 1 − ⎜ u ⎟ − u i , j −1 ⎜ ⎟ + − i 1 , j i 1 , j 2 2 ⎝ ⎠ h h ⎝ ⎠ Se β =1 e k2 = 1 , ui , j + 1 = ui − 1, j + ui + 1, j − u i , j −1 h2 89 u i, j + 1 • u i − 1, j • u i, j • u i, j −1 • u i + 1, j Aula de Laboratório 1 utilizando Maple Operações, Funções Básicas, Constantes Adição Subtração Multiplicação Divisão Potenciação Valor Absoluto de x Raiz Quadrada de x Exemplos Notação + * / ^ abs ( x ) sqrt (x) Raiz n-ésima de x Fatorial de n π Infinito Unidade Imaginária Número de Euler: e Função Exponencial x^(1/n) n! Pi infinity sqrt(-1) ou I exp(1) ou E exp(x) b^x Logaritmo Natural Logaritmo de base b ln(x) log[b](x) = ln(x)/ln(b). sin(x) cos(x) tan(x) sec(x) csc(x) cot(x) sinh(x) cosh(x) tanh(x) sech(x) csch(x) coth(x) arcsin(x) arccos(x) arctan(x) arcsec(x) arccsc(x) arccot(x) arcsinh(x) arccosh(x) arctanh(x) arcsech(x) arccsch(x) arccoth(x) Funções Trigonométricas , Hiperbólicas e suas inversas (argumento x em Radianos) > 3+5; > 758-195; > 7.5*8; > 39/13; > 2^12; > abs(-7); >sqrt(7835); > sqrt(7835.); > 27^(1/3); > 28!; > Pi; > infinity; > sqrt (-1); > exp(1); >exp(3.5); >7^x; > ln (7); > log[3](10); > sin(Pi/2); > cos(75.3); >arccosh(0); Alguns Comandos 1) > evalf(expr); avalia expr utilizando aritmética de ponto flutuante com precisão determinada pela variável global Digits. > evalf(27^(1/3)); > evalf( Pi); > evalf(arccosh(0)); 2) > evalf(expr, n); calcula expr com n dígitos de precisão. > evalf( Pi, 21); > evalf(ln (7),8); 3) > Digits := n; ajusta para n o número de dígitos utilizados em ponto flutuante. O valor "default" de Digits é 10. > Digits:=15; > cos(75.3); 90 4) Se usarmos : no final do comando, o mesmo é executado, porém o resultado não é mostrado. %; mostra o conteúdo do último output e %%; do penúltimo. > log[3](10): > %; > evalf(%%); 5) O Maple pode trabalhar com inteiros muito grandes > 253!; O comando length (%) mostra o número de dígitos de 253! > length(%); 6) Para fazer uma atribuição à variável z e posteriormente apagar o conteúdo de z: > z := 7; > z; > z := 'z'; >z; 7) O modo texto pode ser obtido clicando em na barra de menu ou # pode ser usado para fazer comentários > # o conteúdo de z também pode ser deletado usando unassign ( 'z' ); > z :=7; > z; > unassign ( 'z' ); >z; 8) restart; reinicializa o MAPLE Exercícios: 1) Calcular o valor de : ⎛ 30π ⎞ a) seno(30), seno(300) = seno ⎜ ⎟ ⎝ 180 ⎠ a + 5b 3 b) para a = -3,02 , b = 10, c = 10,3 e d = 7,1. Armazenar o resultado na ln( 50c / d ) variável v. c) secante hiperbólica de v calculado no item b. 2) O valor de a = e π 163 é um número inteiro? Estimar a com 18, 29, 30, 31 e 57 dígitos. Comparar os resultados. 3) Calcular 325! pelo Maple e pela sua calculadora. Analisar os resultados. Qual o número de dígitos de 325! ? 27 24 4) O que é maior 22 ou 25 ? 5) É possível calcular 3333333333 3333333333 no Maple? 91 Aula de Laboratório2 utilizando Maple Objetivos : Localizar as raízes da equação f(x)=0(algébrica ou transcendente) e calculá-las utilizando comandos do Maple e o método da Bissecção. Aplicação: O fator de atrito λ para um duto retangular , segundo Maubach, é dado por: 1 = 2,035 log 10 Re λ − 0,989 , onde Re é o número de Reynolds. Determinar λ para os λ ( ) seguintes valores de Re : 10000, 20000, 50000, 100000, 1000000. 1 2 Comandos f:=x->f(x); Comentários plot(f(x),x= a..b,y=c..d); 3 plot({f(x),g(x)},x= a..b,y=c..d); 4 solve(f(x)=0, x); fsolve(f(x)=0, x); fsolve(f(x)=0, x=a ..b); 5 For i from io by k to in do comandos od; Define a função de variável x , f(x) Plota a função f(x) sendo: x - variável y - parâmetro na vertical(opcional) a,b,c,d :parâmetros a serem especificados Plota as funções f(x) e g(x) num mesmo sistema de eixos. Para opções utilizar o Help: < ?plot Calcula as raizes da equação f(x)=0. Para opções utilizar o Help: < ?solve < ?fsolve Comando de repetição onde: i - variável io - valor inicial in - valor final k - passo 6 if condição then comando1 else comando2 fi; Exemplos Comando de teste (condicional) 1) >f:=x->sin(x/2); > f (Pi); f (4); 2) >plot(f(x), x=-3*Pi..3*Pi); > plot(f(x), x=-15..15, y=-2..2); 3) > plot({x^2-5*x, sqrt(x+1)}, x= -2..7, y= -7..7); 4) vide exercício 1(página2) 5) > for i from 0 by 2 to 10 do > print(i^2) > od; 6) > a:=-23; > if a<0 then > print(-a); > else > print(a); > fi; 92 Exercícios: i) Localizar graficamente as raizes de f(x)=0 ii) Calculá-las utilizando os comandos dados em 4. ii) Utilizando 5 e 6, implementar o Método da Bissecção para calcular a menor raiz real positiva de f(x) = 0 em [a , b]. Para xm=(a+b)/2, a cada bissecção imprimir: a, xm, b,f(xm). Critério de Parada: mínimo 10 bissecções. 1) xcos(x)-1=0 Solução: > f:=x->x*cos(x)-1; > plot(f(x), x=-20*Pi..20*Pi); > plot({cos(x),1/x}, x=-7*Pi..5*Pi, y=-5..5, title=` cos(x) , 1/x`); Neste caso vemos que existem infinitas raizes. >solve(f(x)=0,x); > evalf(%); > fsolve(f(x)=0,x); > fsolve(f(x)=0,x=-9..-7); > fsolve(f(x)=0,x=4..5); > fsolve(f(x)=0,x=13..15); Vamos implementar o método da bisseção para calcular a raiz que está no intervalo [4 , 5]: [> a:=4; b:=5; ⎡ > for i from 0 to 10 do ⎢ a; xm := evalf((a + b)/2); b; evalf(f(xm)); ⎢ ⎢> if evalf((f(a ) * f(xm))) > 0 then a := xm; ⎢ else b := xm; ⎢> ⎢> fi; ⎢ ⎢⎣ > od; Obs: Não foi considerado o caso f(xm)=0. 2) ln(x+11) -2x = 0 3) x 3 − 5 ,875 x 2 − 40 ,135 x − 25 ,62875 = 0 93 Aula de Laboratório3 utilizando Maple Objetivo: Enumerar, localizar e calcular as raízes de polinômios. Analisar o comportamento gráfico( raízes reais de multiplicidade par e ímpar, por ex). Utilizar método de NewtonRaphson para cálculo das raízes da equação f(x)=0(algébrica ou transcendente) Aplicação: A lei para um gás ideal, PV = nRT é um conceito conhecido. Geralmente, utilizam-se estimativas para as relações P-V-T. A equação de Beattie-Bridgeman é um exemplo: a a RT a1 P= + + 2 + 3 (1) V V 2 V3 V 4 e pode ser reescrita como um polinômio de quarto grau: PV 4 + RTV 3 − a1V 2 − a 2 V − a = 0 (2) 3 Para um gás particular, a1=-1,06, a2 = 0,057 e a3=-0,00011. Considerando a pressão P=25 atm , a temperatura é T = 293oK e R = 0,0,082l-atm/Kg.mol e substituindo esses dados em (2) , o volume V é obtido de : 25V 4 + 24,03V 3 + 1,06V 2 − 0,057V + 0,00011 = 0 (3) Determinar V utlizando o método de Newton-Raphson com V0= Comandos 1 f:=x->f(x); 2 plot(f(x),x= a..b, y=c..d); Comentários Define a função de variável x , f(x) Plota a função f(x) sendo: x - variável y - parâmetro na vertical(opcional) a,b,c,d :parâmetros a serem especificados Plota as funções f(x) e g(x) num mesmo sistema de eixos. Para opções utilizar o Help: < ?plot Encontra todas as raízes do polinômio p(x) Determina a derivada de f(x) Determina a derivada de quarta ordem de f(x) 3 plot({f(x),g(x)},x= a..b, y=c..d); 4 fsolve(p(x)=0, x,complex); 5 diff(f(x),x); diff(f(x),x$4); diff(f(x),x,x,x,x) 6 subs(x=a, expr); RT 0,082x 293 = = 0,961 . P 25 ou substitui x por a na expressão expr Exemplos 1) Raiz de multiplicidade par > p1:=x->5*x^4-12.50*x^3-18.0375*x^2+32.31250*x+33.411125; > plot(p1(x),x=-3..4); > fsolve(p1(x)=0,x); 94 2) Raiz de multiplicidade ímpar > p2:=x-> 2*x^4+6.8*x^3-16.56*x^2-86.756*x-85.1690; > plot(p2(x), x=-5..5); > fsolve(p2(x)=0,x); 3) Raizes complexas > p3:=x-> x^3-2.8*x^2+8.2*x+15.6; > plot(p3(x),x=-2..5); > fsolve(p3(x)=0,x); > fsolve(p3(x),x, complex); > p4:=x-> x^4-2*x^3+11*x^2-18*x+18; > plot(p4(x),x=-3..3,y=-5..30); > fsolve(p4(x)=0,x); > fsolve(p4(x),x, complex); 4) > subs( x=2, x^2+x+1 ); 5) > diff(x^7,x); > diff(x^7,x,x); > diff(x^7,x$3); 6) Método de Newton-Raphson >f := x ->cosh(x)*cos(x)-1; > plot(f(x), x=-3*Pi..3*Pi); > plot({cos(x), 1/cosh(x)}, x=-10..10); > x[0]:=4.5; > for i from 0 to 5 do x[i+1]:=evalf(x[i]-(f(x[i])/subs(x=x[i],diff(f(x),x)))) od; > abs(x[5]-x[6]); > Digits:=20; > abs(x[5]-x[6]); 95 Aula de Laboratório4 utilizando Maple Objetivos : Resolver sistemas de equações lineares utilizando diversas opções de comandos do Maple. Analisar graficamente a solução , quando possível, no plano e no espaço. Aplicação: Equacionado o circuito resistivo mostrado na figura acima pelo método dos nós, obtemos: ⎧ VA VA − VB VA −10 + =0 ⎪ 8 + 1 5 ⎪ ⎪ VB − VA VB −10 VB − 8 VB − VC VB − 2 VB − 0 + + + + + =0 ⎨ 1 5 8 1 5 8 ⎪ ⎪ VC − 8 VC − VB VC − 2 + =0 ⎪ 8 + 1 5 ⎩ ⎧I1 = VA − VB Aplicando a Lei de Ohm: ⎨ ⎩I 2 = VC − VB Comandos 1 array (1..m, 1..n) 2 augment( M1, M2); 3 4 5 6 7 evalm(expressão matricial); gaussjord(M); inverse(M); linsolve(A,v); matrix(m , n, [x11,x12,...xmn]); 8 solve(eqn, var); 9 10 11 12 12 transpose(M); vector(n, [x1, x2, ..., xn]); with(linalg); with(plots); A&*S; . Determinar I1 e I2. Comentários Cria uma matriz cujos os elementos estão definidos.Vide help para opções Cria uma nova matriz colocando M1 à esquerda da M2 . As matrizes devem ter o mesmo número de linhas. Avalia uma expressão contendo matrizes. Aplica o método de Gauss-Jordan Encontra a matriz inversa de M. Calcula um vetor x que satisfaça a equação Ax=v Cria uma matriz com m linhas e n colunas com elementos x11, ...,xmn. Resolve simbolicamente equações eqn para variável var. Para opções vide help. Determina a matriz transposta de M. Cria um vetor de n elementos x1, ..., xn.. Carrega a biblioteca de álgebra linear do Maple V. Carrega o package gráfico Expressa multiplicação de matrizes (não comutativa) Exemplos : > with(plots); > with(linalg); 1) Sistema Linear Compatível Determinado (possui soluções) > solve({2*x+3*y=18,3*x+4*y=25},{y,x}); > plot({(18-2*x)/3, (25-3*x)/4}, x=0..6); > solve({3*x+2*y-5*z=8,-x+2*y+z=2,-x+2*y+3*z=4},{z,y,x}); > plot3d({(8-3*x-2*y)/(-5),2+2*x-2*y,(4+x-2*y)/3}, x=0..5,y=0..5, axes=box); 96 2) Sistema Linear Compatível Indeterminado (possui infinitas soluções) > solve({2*x+y=50,4*x+2*y=100},{y,x}); > plot({50-2*x, (100-4*x)/2}, x=0..6); > plot3d({50-2*x, (100-4*x)/2}, x=0..6,y=0..6, axes=box); > solve({3*x+y+2*z=0,-9*x-3*y-6*z=0},{z,y,x}); > plot3d({(-3*x-y)/2,2+2*x-2*y,(9*x+3*y)/(-6)}, x=-2..2,y=-2..2, axes=box); outra maneira: > solvefor[t]( x+y=1, x-y+z*t=3 ); > solvefor[x]( x+y=1, x-y+z*t=3 ); 3) Sistema Linear Incompatível (não admite solução) > solve({x+y=3, x+y=-5},{y,x}); > plot({3-x, -x-5}, x=-10..10); > plot3d({3-x, -x-5}, x=-10..10,y=-6..6, axes=box); 4) Resolver o sistema e calcular o resíduo produzido pela solução encontrada: ⎧2 x 1 + x 2 − 0.1x 3 + x 4 = 2.7 ⎪ ⎪0.4 x 1 + 0.5x 2 + 4 x 3 − 8.5x 4 = 21.9 ⎨ ⎪0.3x1 − x 2 + x 3 + 5.2 x 4 = −3.9 ⎪⎩x 1 + 0.2 x 2 + 2.5x 3 − x 4 = 9.9 > A := array([ [2,1,-.1,1], [.4,.5,4,-8.5], [.3,-1,1,5.2], [1,.2,2.5,-1] ]); > F := vector([2.7,21.9,-3.9,9.9]); > S := linsolve(A,F); > F1 :=evalm(A&*S); > Resíduo := evalm(F-F1); 5) Resolver o sistema utilizando o Método de Gauss-Jordan (Matrix Inversa). ⎧2 x 1 + x 2 + 7 x 3 = b1 ⎪ ⎨ x 1 + 3x 2 + 2 x 3 = b 2 ⎪5x + 3x + 4 x = b 2 3 3 ⎩ 2 onde: a) b1 =16 b2 = -5 b3=11 b) b1 =25 b2 = -11 b3 = -5 c) b1 =3 b2 = 5 b3 = -5 > B := matrix(3,3, [2,1,7,1,3,2,5,3,4] ); > v1 :=vector(3,[16,-5,11] ); > v2 :=vector(3, [25,-11,-5] ); > v3 :=vector(3, [3,5,-5] ); > augment( B,v1,v2,v3 ); > gaussjord(%); 97 Aula de Laboratório5 utilizando Maple Objetivos: Determinar o polinômio interpolador utilizando a resolução de sistemas de equações lineares. Detectar se um sistema linear é mal condicionado. Gerar matrizes e vetores utilizando comandos de teste e repetição. Aplicação: Na modelagem de um processo de combustão é necessário expressar a entalpia (E) como uma função da temperatura (T). Considerando os dados tabelados, estimar a entalpia para uma temperatura de 150 o F . E(Btu / lb) 60 80 100 120 140 160 180 T(o F) 0.0 17.2 45.2 92.9 178.8 349.4 764.3 Exemplo 1 Construir uma matriz M = [mij] , de ordem 7x7, tal que mij = i + 3j se i é igual a j e mij = 5ij se i for diferente de j. M é simétrica? Calcular o determinante de M . M é inversível? Solução: > with(linalg); >M := array(1..7,1..7); ⎡> for i to 7 do ⎢> for j to 7 do ⎢ ⎢> if i <> j then M[i, j] := 5 * i * j ⎢ else M[i, j] := i + 3 * j ⎢> ⎢> fi ⎢ ⎢> od ⎢> od, ⎣ > print(M); > M2 :=transpose(M); > det(M); > M1 :=inverse(M); > evalf(%); > evalm(M1 &* M); > evalm(M1 + M2); > evalf(%); Exemplo2: O alongamento de uma mola foi medido em função da carga aplicada. Obteve-se: c arg a (kg ) 2 4 6 8 alongamento(cm) 1,0 2,5 5,0 6,3 Estimar o alongamento para o caso de ser aplicada uma carga de 7Kg. Analisar graficamente. Solução: 98 Procuramos p( x ) = a 0 + a 1x + a 2 x 2 + a 3 x 3 . a) uma maneira de resolver no maple:: >solve ({a0+a1*2+a2*2^2+a3*2^3=1, a0+a1*4+a2*4^2+a3*4^3=2.5, a0+a1*6+a2*6^2+a3*6^3=5, a0+a1*8+a2*8^2+a3*8^3=6.3}, {a0,a1,a2,a3}); > p:=x-> -.04583333333*x^3+.675*x^2-2.016666667*x+2.7; > validade:= [p(2), p(4), p(6), p(8)]; > p(7); Análise Gráfica: > with(plots); > plots[display]({plots[pointplot]([2,1,4,2.5,6,5,8,6.3]),plot(p(x),x=-5..15, y=0..10)}); b) outra forma de resolver o sistema: > A := array([ [1,2,2^2,2^3], [1,4,4^2,4^3], [1,6,6^2,6^3], [1,8,8^2,8^3] ]); > F := vector([1,2.5,5,6.3]); > S := linsolve(A,F); Exemplo3: Considerar o sistema linear: ⎧x1 + 1 / 2 x 2 + 1 / 3x 3 + 1 / 4 x 4 + 1 / 5x 5 = 137 / 60 ⎪ ⎪⎪1 / 2 x1 + 1 / 3x 2 + 1 / 4 x 3 + 1 / 5x 4 + 1 / 6 x 5 = 87 / 60 (*) ⎨1 / 3x1 + 1 / 4 x 2 + 1 / 5x 3 + 1 / 6 x 4 + 1 / 7 x 5 = 459 / 420 ⎪1 / 4 x + 1 / 5x + 1 / 6 x + 1 / 7 x + 1 / 8x = 743 / 840 1 2 3 4 5 ⎪ ⎪⎩1 / 5x1 + 1 / 6 x 2 + 1 / 7 x 3 + 1 / 8x 4 + 1 / 9 x 5 = 1879 / 2520 a) (*) é bem condicionado ou mal condicionado? Porquê? O que isso significa? b) calcular a solução de (*). Solução: > with(linalg); > C := hilbert(5); > cond(C); > ?cond; > F := vector([137/60, 87/60, 459/420, 743/840, 1879/2520]); > L := linsolve(C,F); > evalm(C &* L); 99 Exercício: Consideremos a matriz de Hilbert de ordem n, Hn = [ hij ], com seus elementos genéricos definidos por 1 hij = = , 1≤ i , j ≤ n i + j −1 Hn é um exemplo clássico de matriz mal condicionada. a) Indicar se a afirmação abaixo é verdadeira ou falsa e justificar. “ Quanto maior for n, mais mal condicionada é Hn . “ b) Resolver o sistema H5.X = B , onde B = [ bi ], i= 1, 2, 3, 4 ,5 é o vetor definido por: n 1 bi = ∑ i + j −1 j =1 c) Calcular o determinante de Hn , a matriz inversa de Hn e o produto HnHn-1. c) Calcular todas a s raizes do determinante da matriz sI- Hn, s numero real qualquer e I = matriz identidade 100 Aula de Laboratório 6 utilizando Maple - Interpolação EXEMPLO: O alongamento de uma mola foi medido em função da carga aplicada. Obteve-se: c arg a (kg ) 2 4 6 8 alongamento(cm) 1,0 2,5 5,0 6,3 Estimar o alongamento para o caso de ser aplicada uma carga de 7Kg. Procuramos p ( x) = a0 + a1 x + a2 x 2 + a3 x 3 Estudamos alguns algortmos para determinação dos coeficientes de p. 1) via resolução de um sistema linear: 1.a > with(linalg): > A := array([ [1,2,2^2,2^3], [1,4,4^2,4^3], [1,6,6^2,6^3], [1,8,8^2,8^3] ]); > F := vector([1,2.5,5,6.3]); > S := linsolve(A,F); 1.b > solve({a0+a1*2+a2*2^2+a3*2^3=1,a0+a1*4+a2*4^2+a3*4^3=2.5,a0+a1*6 +a2*6^2+a3*6^3=5, a0+a1*8+a2*8^2+a3*8^3=6.3},{a0,a1,a2,a3}); 2) Polinomio interpolador de Newtons para Diferenças Finitas Ascendentes > > > > > > > vx:=vector(4,[2,4,6,8]); vy:=vector(4,[1,2.5,5,6.3]); df:=array(1..3); for i from 1 to 3 do df1[i]:=vy[i+1]-vy[i] od; for i to 2 do df2[i]:=df1[i+1]-df1[i] od; for i to 1 do df3[i]:=df2[i+1]-df2[i] od; p:=x->1+((x-2)*df1[1])/(2)+((x-2)*(x-4)*df2[1])/(2!*(2^2))+((x-2 )*(x-4)*(x-6)*df3[1])/(3!*(2^3)); > simplify(p(x)); > p(7); 3) Via comando´interp´do maple > vx:=vector(4,[2,4,6,8]): > vy:=vector(4,[1,2.5,5,6.3]): > pa:=interp(vx,vy,x): > pa(7); > paa:=unapply(pa,x): > paa(7); validade: > [paa(2),paa(4),paa(6),paa(8)]; análise gráfica > plots[display]({plots[pointplot]([2,1,4,2.5,6,5,8,6.3]),plot(paa (x),x=-5..15, y=0..10)}); 101 EXERCICIOS: 1) A tabela abaixo fornece a demanda diária máxima de energia elétrica na Cidade A no mês de março. x(dia ) 1 11 21 31 y (demanda − MW ) 10 15 20 13 a) Determinar o polinômio interpolador p e verificar sua validade. b) Representar graficamente p e os dados tabelados num mesmo sistema de eixos. c) Estimar a demanda máxima e a data em que ocorreu. > 2) A que temperatura a água entra em ebulição no Pico da Bandeira (altitude de 2890m), sabendo-se que o ponto de ebuliçao da água varia com a altitude, conforme tabela abaixo: altitude(m) 2600 2700 2800 2900 3000 o ponto de ebulição( C ) 91.34 91.01 90.67 90.34 90.00 > 3) A velocidade do som na água varia com a temperatura conforme tabela: temperatura ( oC ) 86.0 93.3 98.9 104.4 110.0 velocidade(m / s ) 1.552 1.548 1.544 1.538 1.532 a)Determinar o polinômio interpolador de Newton para diferenças divididas,p, e verificar sua validade. b) Estimar a velocidade do som se a temperatura da água for de 100 graus centígrados. 102 c)Representar graficamente p e os dados tabelados num mesmo sistema de eixos. Comandos Utilizados diff(expr, var);deriva uma expressão " expr" na variavel "var" diff(expr, var, var$n);deriva uma expressão expr na varivel var, var$n siginifica derivada de ordem n. interp([exprx1,...,exprxn+1], [expy1,...,expryn+1], var);computa um polinomio na variável var de grau at n, no qual representa o polinomio interpolador dos valores expx e expy . plots[display]({plots[pointplot]([p1,p2,..,pn]),plot(f(x), x=-m..m)});plota graficos; display, para plotar dois graficos ao mesmo tempo; pointplot, para plotar os pontos; plot, para plotar um grafico de uma f(x) simplify(expr);simplifica uma expressão solve(eqn, var);resolve simbolicamente equaçoes eqn para varaiivel var. subs(expr velha=expr nova, expr);substitui uma expressão antiga por uma nova expressão unapply(P,x);converte um polinomio P em uma função na varivel x. 103 # PUCRS - Instituto de Matemática # Cálculo Numérico -Prof. Eliete Ajuste de Funçoes # Exemplo1 Considerando: i 0 1 2 3 4 5 6 x 1 2 3 4 5 6 7 y 34 45 63 88 120 159 205 Ajustar os dados a reta e a uma parábola. Comparar os resultados graficamente. > with(stats); [ anova, describe, fit, importdata, random, statevalf, statplots, transform ] > xv:=[1,2,3,4,5,6,7]; xv := [ 1, 2, 3, 4, 5, 6, 7 ] > yv:=[34,45,63,88,120,159,205]; yv := [ 34, 45, 63, 88, 120, 159, 205 ] > g:=fit[leastsquare[[x,y],y=a*x+b,{a,b}]]([xv,yv]); 57 x − 12 2 > gl:=fit[leastsquare[[x,y]]]([[1,2,3,4,5,6,7], [34,45,63,88,120,159,205]]); g := y = gl := y = 57 x − 12 2 > gll :=unapply(rhs(g),x); 57 x − 12 2 > gp:= fit[leastsquare[[x,y], y=a*x^2+b*x+c]]([xv, yv]): > gpp:=unapply(rhs(gp), x); gll := x → 7 1 gpp := x → x2 + x + 30 2 2 > with(plots): > plots[display]({plots[pointplot]([1,34,2,45,3,63,4,88,5,120,6,15 9,7,205]),plot(gpp(x), x=-10..10, y=0..50),plot(gll(x), x=0..10, y=0..210)}); 104 Exemplo 2 - Ajuste por função Potência Os dados abaixo dão a duração D de uma broca de Carborundum em função da velocidade de corte V. V [m/s] 100 120 150 180 D [min] 79 2 8 7.9 2.8 pede-se fazer uma tabela D = D(V) para V = 100(10) 180. > v:=evalf([log(100),log(120),log(150),log(180)]); v := [ 4.605170186, 4.787491743, 5.010635294, 5.192956851 ] > d:=evalf([log(79),log(28),log(7.9),log(2.8)]); d := [ 4.369447852, 3.332204510, 2.066862759, 1.029619417 ] > fit[leastsquare[[x,y], y=a*x+b, {a,b}]]([v,d]); > evalf(exp(30.52911140)); > dur :=x -> (.1813947103e14)*(x^(-5.680591334)); #validade: > [dur(100),dur(120),dur(150),dur(180)]; #projeção: > [dur(110),dur(130),dur(140),dur(160),dur(170)]; > plots[display]({plots[pointplot]([100,79,120,28,150,7.9,180,2.8] ),plot(dur(x), x=90..190, y=0..80)}); d 30 35 40 45 50 55 60 65 70 75 I 0.85 0.67 0.52 0.42 0.34 0.28 0.24 0.21 0.18 0.15 Os dados tabelados descrevem a intensidade da luz como uma função Exemplo 3 105 da distância da fonte,I(d), medida num experimento.Utilizando o sistema Maple, ajustar a uma parábola e a uma função do tipo: 1 Y(d)= 2 Ad + Bd + C Analisar os resultados plotando num mesmo sistema de eixos os pontos tabelados e as funções de ajuste determinadas. > vd:=[30,35,40,45,50,55,60,65,70,75]; vd := [ 30, 35, 40, 45, 50, 55, 60, 65, 70, 75 ] > vi:=[.85,.67,.52,.42,.34,.28,.24,.21,.18,.15]; vi := [ .85, .67, .52, .42, .34, .28, .24, .21, .18, .15 ] > vi1:=evalf([1/.85,1/.67,1/.52,1/.42,1/.34,1/.28,1/.24,1/.21,1/.1 8,1/.15]); vi1 := [ 1.176470588, 1.492537313, 1.923076923, 2.380952381, 2.941176471, 3.571428571, 4.166666667, 4.761904762, 5.555555556, 6.666666667 ] > f2:= fit[leastsquare[[x,i], i=a*x^2+x*b+c]]([vd, vi1]); f2 := i = .001329810498 x2 − .02080049421 x + .6161059331 > f2a:=unapply(rhs(f2),x); f2a := x → .001329810498 x2 − .02080049421 x + .6161059331 > f3:=x->1/(.1329810498e-2*x^2-.2080049421e-1*x+.6161059331); f3 := x → 1 .001329810498 x − .02080049421 x + .6161059331 > plots[display]({plots[pointplot]([30,.85,35,.67,40,.52,45,.42,50 ,.34,55,.28,60,.24,65,.21,70,.18,75,.15]),plot(f2a(x), x=10..100, i=0..3),plot(f3(x), x=10..100, i=0..3)}); 2 106 > plots[display]({plots[pointplot]([30,.85,35,.67,40,.52,45,.42,50 ,.34,55,.28,60,.24,65,.21,70,.18,75,.15]),plot(f2a(x), x=-100..100, i=0..1),plot(f3(x), x=-100..100, i=0..2)}); > Trabalho x 0.00 0.50 1.00 1.50 2.00 y 1.00 0.50 0.30 0.20 0.20 107 Ajustar os dados tabelados a uma reta e a uma função do tipo: 1 Y(x)= ax + b Analisar os resultados plotando num mesmo sistema de eixos os pontos tabelados e as funções de ajuste determinadas. Comandos utilizados evalf([expr1,..., exprn]);avalia numéricamente expressões, polinomios, funções,... fit[leastsquare[[var1,..., varn]]]; aplica o critério dos mínimos quadrados transform[applay[f(x)]]([expr1,..., exprn]);aplica a função f(x) parra cada expressão (expr) transform[multiapplay[f(x)]]([list1,..., listn]);aplica os parâmetros da função f(x) para cada elemento listado plots[display]({plots[pointplot]([p1,p2,..,pn]),plot(f(x), x=-m..m)});plota gráficos; display, para plotar dois gráficos ao mesmo tempo; pointplot, para plotar os pontos; plot, para plotar um gráfico de uma f(x) unapply(P,x);converte a expressão P em uma função na variável x 108 PUCRS-FAMAT-Cálculo Numérico-Exemplos de Integração Numérica Utilizando Sistema Maple9 Prof. Eliete Biasotto Hauser > restart; > with(Student[Calculus1]): Ex.:Utilizando tarapézios e Simpson com 10 subintervalos, estimar o valor de I e comparar 2 ⌠ ( ( −x )2 ) com o valor exato. I=⎮ dx ⎮e ⌡ 0 Obs: Por default, o número de subintervalos utilizados é 10. Incluindo a opção partition = n o cálculo é obtido utilizando n subintervalos . > ApproximateInt(exp(-x^2), x=0..2, method = trapezoid);evalf(%); ⎛ -1 ⎞ ⎜ ⎟ ⎛ -4 ⎞ ⎜ ⎟ ⎛ -9 ⎞ ⎜ ⎟ ⎛ -16 ⎞ ⎜ ⎟ ⎛ -36 ⎞ ⎜ ⎟ ⎛ -49 ⎞ ⎜ ⎟ ⎛ -64 ⎞ ⎜ ⎟ ⎛ -81 ⎞ ⎜ ⎟ 1 1 ⎜⎝ 25 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠ 1 ( -1 ) 1 ⎜⎝ 25 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠ + e + e + e + e + e + e + e + e + e 10 5 5 5 5 5 5 5 5 5 + 1 ( -4 ) e 10 0.8818388107 > ApproximateInt(exp(-x^2), x=0..2, method = simpson);evalf(%); ⎛ -9 ⎞ ⎜ ⎟ ⎛ -9 ⎞ ⎜ ⎟ ⎛ -16 ⎞ ⎜ ⎟ ⎛ -49 ⎞ ⎜ ⎟ ⎛ -81 ⎞ ⎜ ⎟ ⎛ -81 ⎞ ⎜ ⎟ ⎛ -4 ⎞ ⎜ ⎟ ⎛ -361 ⎞ ⎜ ⎟ 1 1 ⎜⎝ 25 ⎟⎠ 2 ⎜⎝ 100 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠ 2 ⎜⎝ 100 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠ 2 ⎜⎝ 100 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠ 2 ⎜⎝ 100 ⎟⎠ e e e e e e e e + + + + + + + + 30 15 15 15 15 15 15 15 15 ⎛ -121 ⎞ ⎜ ⎟ ⎛ -36 ⎞ ⎜ ⎟ ⎛ -169 ⎞ ⎜ ⎟ ⎛ -49 ⎞ ⎜ ⎟ 2 ⎜⎝ 100 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠ 1 ( -4 ) 2 ⎜⎝ 100 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠ 2 ( -9 / 4 ) 1 ( -1 ) 2 ( -1 / 4 ) + + + + + + e e e + e e e e + e 15 15 30 15 15 15 15 15 ⎛ -64 ⎞ ⎜ ⎟ ⎛ -1 ⎞ ⎜ ⎟ ⎛ -289 ⎞ ⎜ ⎟ ⎛ -1 ⎞ ⎜ ⎟ 1 ⎜⎝ 25 ⎟⎠ 2 ⎜⎝ 100 ⎟⎠ 2 ⎜⎝ 100 ⎟⎠ 1 ⎜⎝ 25 ⎟⎠ e e e e + + + + 15 15 15 15 0.8820809834 > Valor_exato:=int(exp(-x^2), x=0..2)=evalf(int(exp(-x^2), x=0..2)); Valor_exato := 1 erf( 2 ) π = 0.8820813910 2 109 > ApproximateInt(exp(-x^2), x=0..2, method = trapezoid, output = plot,partition = 4); > ApproximateInt(exp(-x^2), x=0..2, method = trapezoid, output = plot, partition = 20): > ApproximateInt(exp(-x^2), x=0..2, method = trapezoid, output = animation): 110 > ApproximateInt(exp(-x^2), x=0..2, method = simpson, output = plot, partition =2); > ApproximateInt(ln(x), 1..100, method = simpson, output = animation): 111 Atenção: Sempre analisar os resultados obtidos > ApproximateInt(x*(x - 2)*(x - 3), x=0..5, method = simpson, output = plot); No último exemplo , área 22.916667 esta correto? > Área:=evalf(int(x*(x - 2)*(x - 3),x=0..2))+abs(evalf(int(x*(x 2)*(x - 3),x=2..3)))+evalf(int(x*(x - 2)*(x - 3),x=3..5)); Área := 23.75000000 > evalf(int(x*(x - 2)*(x - 3),x=2..3)); -0.4166666667 112 No próximo exemplo é óbvio que a área não é nula. > ApproximateInt(tan(x) - 2*x, x=-1..1, method = simpson, output = plot, partition = 50); > evalf(int(tan(x) - 2*x, x=-1..0)); 0.3843735297 > evalf(int(tan(x) - 2*x, x=0..1)); -0.3843735297 > area:=evalf(int(tan(x) - 2*x, x=-1..0))+abs(evalf(int(tan(x) 2*x, x=0..1))); area := 0.7687470594 113 PUCRS - Faculdade de Matemática Prof. Eliete Biasotto Hauser-Cálculo Numérico ALaboratório EDO_EDP ⎧⎪ y` = − xy − 1 1) Resolver no intervalo [1 , 1.75], utilizando o método de Euler com h=0.25 , o PVI ⎨ ⎪⎩ y( 1 ) = 2 Resposta: y(1.75) ≅ 1.2018 2) Com h=k=10, resolver numericamente equação de Laplace ∂ 2u ∂ 2u ( x ,t ) + ( x ,t ) = 0 , 0 < x < 80 , 0 < y < 60 , ∂y 2 ∂x 2 sujeita às condições u ( x ,0 ) = u ( x ,60 ) = u ( 80 , y ) = 0 , e j↓ 6 5 4 3 2 1 0 x→ 0 100 100 100 100 100 100 100 0 1 0 46,993 63,138 67,192 63,138 46,993 0 10 2 0 24,835 38,368 42,490 38,368 24,835 0 20 3 0 13,978 23,010 26,032 23,010 13,978 0 30 4 0 8,068 13,660 15,620 13,660 8,068 0 40 5 0 4,633 7,942 9,128 7,942 4,633 0 50 u ( 0 , y ) = 100 6 0 2,523 4,348 5,009 4,348 2,523 0 60 7 0 1,110 1,917 2,211 1,917 1,110 0 70 8 0 0 0 0 0 0 0 80 ←i 60 50 40 30 20 10 0 y↓ ∂u ∂ 2u ( x ,t ) − ( x ,t ) = 0 , 0 < x < 1, 0 ≤ t , com as condições de contorno ∂t ∂x 2 u ( 0 , t ) = u ( 1 , t ) = 0 , 0 < t , e as condições iniciais u( x ,0 ) = sen( πx ), 0 ≤ x ≤ 1. 3 - Considerar a equação de calor Para h=0,2 e k=0,01 obtemos as diferenças finitas para a equação do calor ui , j + 1 = 0 ,5 ui , j + 0 ,25⎛⎜ u ⎝ i + 1, j Utilizando j=0 e i=1,2,3 e 4 obter as aproximações da temperatura na primeira linha do tempo u(x , 0.01). ←i j↓ 0 1 2 3 4 5 6 0 0,3219 0,5208 0,5208 0,3219 0 0,06 5 0 0,3559 0,5758 0,5758 0,3559 0 0,05 4 0 0,3934 0,6366 0,6366 0,3934 0 0,04 3 0 0,4350 0,7038 0,7038 0,4350 0 0,03 2 0 0,4809 0,7781 0,7781 0,4809 0 0,02 1 0 0,5317 0,8602 0,8602 0,5317 0 0,01 0 0 0,5878 0,9511 0,9511 0,5878 0 0,00 x→ 0 ↑ tempo 0,2 0,4 0,6 0,8 1 114 +u ⎞ ⎟ i −1, j ⎠