·
Engenharia Elétrica ·
Cálculo Numérico
· 2023/1
Envie sua pergunta para a IA e receba a resposta na hora
Recomendado para você
19
Lista 3-2023 1
Cálculo Numérico
UFRPE
1
Questao 3 à 5-2022 1
Cálculo Numérico
UFRPE
19
Lista 4-2023 1
Cálculo Numérico
UFRPE
7
Questao 4 e 1-2022 1
Cálculo Numérico
UFRPE
9
Lista 5-2023 1
Cálculo Numérico
UFRPE
25
Lista 1-2023 1
Cálculo Numérico
UFRPE
1
Questoes 1 e 2 Prova-2021-2
Cálculo Numérico
UFRPE
2
Lista 1-2023-1
Cálculo Numérico
UFRPE
1
Questao 2-2022 1
Cálculo Numérico
UFRPE
11
Métodos Computacionais da Física 1 Edição - Cláudio Scherer
Cálculo Numérico
UFRPE
Texto de pré-visualização
Universidade Federal Rural de Pernambuco - UFRPE UACSA Disciplina: C´alculo Num´erico Professor: Marcelo Flamarion Lista 2 1. Problemas: 3, 4, 5, 6, 9, 11, 13 da se¸c˜ao 6.1. 2. Problemas: 1, 2, 3, 4, 9, 10, 30, 31 da se¸c˜ao 6.2. 3. Problemas: 1, 2, 3, 4, 7, 8, 9, 10 da se¸c˜ao 6.5. 4. Problemas: 1, 2, 3, 4, 5, 6, 7, 8, 15, 16 da se¸c˜ao 7.3. Referˆencias [1] BURDEN, Richard L.; FAIRES, J D.; BURDEN, Annette M. An´alise Num´erica - Tradu¸c˜ao da 10a edi¸c˜ao norte-americana. Cengage Learning Brasil, 2016. Seção 2.1 1. Utilizando o código 1 -------------------------------------------------------------------------------------------------------------------------------------- 2. a) Utilizando o código 1 b) --------------------------------------------------------------------------------------------------------------------------------------------------- 3. a) Utilizando o código 2 nas questões seguintes: b) c) 5. a) b) c) [-3; -2] [-1; 0] d) [0,2; 0,3] [1,2; 1,3] 6. a) b) Verificando a b) no Wolfram, realmente a função não toca o eixo x nesse intervalo: c) [1; 2] [2; 4] d) [0; 0,5] [0,5; 1] 7. a) Desenhando as curvas no geogebra: b) as duas curvas se interceptam em x = 0 e pouco antes de x = 2. Escolhendo o intervalo como 1 < x < 2: 11. a) [-3; 2,5] Se aproximou de x = 2 b) [-2.5; 3] Se aproximou de x = -2 c) [-1,75; 1,5] Se aproximou de x = -1 12) a) [-1,5; 2,5] Se aproximou de x = 0,5 b) [-0,5; 2,4] Se aproximou de x = 2,86102 c) [-0,5; 3] Se aproximou de x = 2 13. O intervalo no qual existe uma raiz é desconhecido, portanto, substituindo alguns intervalos no código: [0; 1] [1; 2] [2; 4] A raíz cúbica de 25 é aproximadamente 2,924 14. O intervalo no qual existe uma raíz é desconhecido, portanto, substituindo alguns intervalos no código: [0; 1] [1; 2] A raíz quadrada de 3 é aproximadamente 1,732 16. A função é: 𝑥(𝑡) = − 𝑔 2𝜔2 (𝑒𝜔𝑡 − 𝑒−𝜔𝑡 2 − 𝑠𝑒𝑛(𝜔𝑡)) Substituindo x, t e g: 𝑥(1) = 1,7 = − 32,17 2𝜔2 (𝑒𝜔∗1 − 𝑒−𝜔∗1 2 − 𝑠𝑒𝑛(𝜔 ∗ 1)) → 0 = −1,7 − 32,17 2𝜔2 (𝑒𝜔 − 𝑒−𝜔 2 − 𝑠𝑒𝑛(𝜔)) = 𝑓(𝜔) Como temos uma divisão por ω, o intervalo não pode possuir zero. Considerando um intervalo de [-0,1; -1]: A velocidade angular encontrada é -0,317 rad/s. Código 1: bisseção com critério de parada sendo o número de iterações import math def f(x): #bisseção por iteração return math.sqrt(x) - math.cos(x) # função a ser analisada na questão k = 3 # tolerância xa = 0 # xa e xb é o intervalo inicial que deve conter uma raíz. ela será verificada no if a seguir xb = 1 it = 0 if f(xa)*f(xb) < 0: # verificando se existe uma raíz entre a e b while it < k : # enquanto o valor do erro relativo (em modulo) for maior que a tolerância, o laço continua xn = (xa + xb)/2 # metodo da bissecao if f(xa)*f(xn) < 0: # verifica agora se a raiz esta entre xa e xn. se sim, x sera o novo xb xb = xn else: xa = xn it = it+1 print("A raiz encontrada pelo método da bisseção é x = ",xn) else: print("O intervalo nao possui raiz") Código 2: bisseção com critério de parada sendo a tolerância def f(x): #bisseção por erro return (x**3)-7*(x**2)+14*x-6 # função a ser analisada na questão tol = 0.01 # tolerância xa = 1 # xa e xb é o intervalo inicial que deve conter uma raíz. ela será verificada no if a seguir xb = 0 it = 0 if f(xa)*f(xb) < 0: # verificando se existe uma raíz entre a e b while (abs(xb- xa)) > tol : # enquanto o valor do erro relativo (em modulo) for maior que a tolerância, o laço continua xn = (xa + xb)/2 # metodo da bissecao if f(xa)*f(xn) < 0: # verifica agora se a raiz esta entre xa e xn. se sim, x sera o novo xb xb = xn else: xa = xn it = it+1 print("A raiz encontrada pelo método da bisseção é x = ",xn) print("Com ", it,"iterações") else: print("O intervalo nao possui raiz") Seção 2.2 1. a) Quando f = 0: isolando x4 𝑥4 + 2𝑥2 − 𝑥 − 3 = 0 → 𝑥4 = 𝑥 + 3 − 2𝑥2 → 𝑥 = (3 + 𝑥 − 2𝑥2) 1 4 = 𝑔1(𝑥) b) isolando 2x2: 𝑥4 + 2𝑥2 − 𝑥 − 3 = 0 → 2𝑥2 = 𝑥 + 3 − 𝑥4 → 𝑥2 = 𝑥 + 3 − 𝑥4 2 𝑥 = (𝑥 + 3 − 𝑥4 2 ) 1 2 = 𝑔2(𝑥) c) 𝑥4 + 2𝑥2 − 𝑥 − 3 = 0 → 𝑥2(𝑥2 + 2) − 𝑥 − 3 = 0 → 𝑥2(𝑥2 + 2) = 𝑥 + 3 → 𝑥2 = 𝑥 + 3 𝑥2 + 2 → 𝑥 = ( 𝑥 + 3 𝑥2 + 2) 1 2 d) sabendo que g = x: 𝑥 = 3𝑥4 + 2𝑥2 + 3 4𝑥3 + 4𝑥 − 1 → 𝑥(4𝑥3 + 4𝑥 − 1) = 3𝑥4 + 2𝑥2 + 3 4𝑥4 + 4𝑥2 − 𝑥 = 3𝑥4 + 2𝑥2 + 3 → 𝑥4 − 2𝑥2 − 𝑥 − 3 = 0 = 𝑓(𝑥) Como todas as funções g são provenientes de f(x) então todas possuem um ponto fixo p igual. 2. a) usando o código 3 para a função 1A 1B 1C 1D b) Realizando as iterações com o método da bisseção com tolerância de 10-10 e intervalo [1; 2]: Com 4 iterações a função que mais se aproxima dessa raiz encontrada acima é G4. Sendo assim ela converge mais rápido e é a que oferece a melhor aproximação. 3. a) b) 𝑝1 = 2 𝑝0 − 1 𝑝0 2 = 2 0,5 − 1 0,52 = 4 − 4 = 0 𝑝2 = 2 𝑝1 − 1 𝑝1 2 = 2 0 − 1 02 Função com indeterminação para p0 = 1/2 c) 𝑝1 = (2 − 1 𝑝0 ) 1 2 = (2 − 1 0,5) 1 2 = (2 − 2) 1 2 = 0 𝑝2 = (2 − 1 𝑝1 ) 1 2 = (2 − 1 0) 1 2 Função com indeterminação d) OBS: a raiz da primeira iteração é zero. E da segunda, -1 (feita em excel). O segundo erro resulta em um erro maior que o primeiro, por isso o código não converge. Mudando o ponto fixo para -0,5 ou -1, o código converge: 𝑖𝑡 1: 𝑝1 = 0 ; 𝑒𝑟𝑟𝑜 = |𝑝0 − 𝑝1| = |0,5 − 0| = 0,5 𝑖𝑡 2: 𝑝2 = −1 ; 𝑒𝑟𝑟𝑜 = |𝑝1 − 𝑝2| = |0 − (−1)| = 1 𝑒𝑟𝑟𝑜2 > 𝑒𝑟𝑟𝑜1 Para o ponto fixo p = ½ a função a) é a mais adequada. 4. a) b) c) d) A função b) e d) resultam em números complexos. E a função c) não converge. A função mais adequada para o problema então é a). A função a) converge para a raiz mais próxima do ponto fixo dado, p = 1. 6. a) Resolvendo com o código 4: b) c) d) Para o mesmo erro considerado, a função g do item c) teve velocidade de convergência maior (convergiu mais rápido), necessitando de apenas 7 iterações, enquanto d) precisou de 355 iterações. a) e b) nem ao menos convergem. 7. Isolando um dos termos com x na função: 𝑥4 − 3𝑥2 − 3 = 0 → 𝑥4 = 3(𝑥2 + 1) → 𝑥 = (3(𝑥2 + 1)) 1 4 = 𝑔(𝑥) 8. Isolando um dos termos com x na função: 𝑥3 − 𝑥 − 1 = 0 → 𝑥3 = 𝑥 + 1 → 𝑥 = (𝑥 + 1)1/3 = 𝑔(𝑥) 12. É preciso encontrar a solução através de uma função da seguinte forma: (25) 1 3 = 𝑥 → 25 = 𝑥3 (∗ 𝑥) → 25𝑥 = 𝑥4 → 𝑥 = (25𝑥) 1 4 = 𝑔(𝑥) Sabendo que, da questão 13 da seção 2.1 a solução é próxima de 2, chamando o ponto fixo de p = 2: A solução aproximada encontrada com erro máximo de 0,0001 é 2,924, encontrada na 8ª iteração. Convergindo mais rápido que o método da bisseção (25 iterações). 15. A função possui, ao todo, 4 raízes: próximos de: x = -3, x = -2, x = 2, x = 3 𝑔1(𝑥) = (−10 cos(𝑥)) 1 2 Para os outros pontos próximos às outras raízes a função iteração não converge. 𝑔2(𝑥) = arccos (− 𝑥2 10) 𝑔3(𝑥) = arccos (5 − 𝑥3 10𝑥 − 1 2𝑥) Converge novamente para raíz positiva. Fazendo: 𝑔4(𝑥) = − arccos (5 − 𝑥3 10𝑥 − 1 2𝑥) 𝑔5(𝑥) = −(−10 cos(𝑥)) 1 2 17. 18. A função é: 𝑠(𝑡) = 𝑠0 − 𝑚𝑔 𝑘 𝑡 + 𝑚2𝑔 𝑘2 (1 − 𝑒−𝑘𝑡/𝑚) Substituindo os dados fornecidos: 0 = 300 − 0,25 ∗ 32,17 0,1 𝑡 + 0,252 ∗ 32,17 0,12 (1 − 𝑒−0,1𝑡/0,25) 0 = 300 − 80,425𝑡 + 201,0625(1 − 𝑒−0,4𝑡) 𝑡 = 300 + 201,0625(1 − 𝑒−0,4𝑡) 80,425 Usando t = 10 como ponto inicial: 19. Se І P1 – P І é maior que І P0 – P І, significa que a distância entre P1 e P é maior que a distância entre P0 e P, o que não é o propósito da convergência (a distância entre estes pontos deveria estar diminuindo, e não aumentando). Usando um ponto mais afastado de P na próxima iteração, a tendência é que se afaste cada vez mais. 20. Para A = 5, p = 0.1 (número próximo a 1/A); 1/A = 1/5 = 0,2 Para A = 4, p = 0.1 (número próximo a 1/A); 1/A = 1/4 =0,25 Para A = 0,3, p = 3 1/0,3 = 10/3 = 3,3333 b) A condição para que a função iteração convirja para uma raíz é: 𝑔(𝑥) 𝑒 𝑔′(𝑥) 𝑝𝑒𝑟𝑡𝑒𝑛𝑐𝑒𝑛𝑡𝑒𝑠 𝑎𝑜 𝑖𝑛𝑡𝑒𝑟𝑣𝑎𝑙𝑜 & |𝑔′(𝑥)| < 1 𝑔(𝑥) = 2𝑥 − 𝐴𝑥2 ; 𝑔′(𝑥) = 2 − 2𝐴𝑥 g e g’ podem assumir quaisquer números reais. |2 − 2𝐴𝑥| < 1 → 1 − 𝐴𝑥 < 1 2 → −𝐴𝑥 < − 1 2 → 𝐴𝑥 > 1 2 → 𝑥 > 1 2𝐴 𝑝𝑎𝑟𝑎 𝐴 > 0 𝑥 < 1 2𝐴 𝑝𝑎𝑟𝑎 𝐴 < 0 O intervalo de convergência é: [ 1 2𝐴 ; 1 𝐴] Código 3: import math #CÓDIGO 3 def g(x): #ponto fixo return x-3*x**2 k = 4 # número de iterações pi = 1 # ponto inicial it = 0 erro1 = 100 while it < k : pn = g(pi) #próximo ponto if erro1 < abs(pi-pn): print("Não está convergindo") break # nao está convergindo erro1 = abs(pi-pn) pi = pn print(pi) it = it+1 if it == k: print("A raiz pelo método do ponto fixo é p = ",pn) print("Com ", it,"iterações") Código 4: import math #CÓDIGO 4 def g(x): #ponto fixo return 2*x - 0.3*(x**2) tol = 0.00001 # TOLERÂNCIA pi = 6 # ponto inicial it = 0 erro = 100 #valor inicial alto para garantir a entrada no while if erro > tol: while erro > tol : pn = g(pi) #próximo ponto if erro < abs(pi-pn): print("Não está convergindo") break # nao está convergindo erro = abs(pi-pn) pi = pn it = it+1 if erro < tol: print("A raiz pelo método do ponto fixo é p = ",pn) print("Com ", it,"iterações" Seção 2.3 1. Utilizando o código 6: 2. Para x0 = -1: X0 = 0: Não, pois há uma divisão pela derivada da função no ponto x0 = 0, que é igual a zero. Ou seja, resulta em uma divisão por zero na primeira iteração. 5. Utilizando o código 5: a) b) c) d) 6. a) b) c) x0 = 2: X0 = 3,5: d) x0 = 1: X0 = 4: e) x0 = 0: X0 = 1: X0 = 3: f) x0 = 0: X0 = 3: X0 = 6: 7. a) Do código 7: b) c) d) 8. a) b) c) [2; 3] [3; 4] d) [1; 2] [e; 4] e) [0; 1] [3; 5] f) [0; 1] [3; 4] [6; 7] 18. do código 5: para x0 = pi/2 X0 = 5pi X0 = 10pi O resultado converge para uma única raiz independente do ponto inicial. Mudando apenas o número de iterações quando o ponto inicial se distancia da raiz. 19. A distância entre as duas funções é: 𝑑2 = (𝑥 − 1)2 + (𝑥2 − 0)2 𝑑2 = 𝑥2 − 2𝑥 + 1 + 𝑥4 𝑑 = (𝑥2 − 2𝑥 + 1 + 𝑥4) 1 2 Minimizando a função acima: 𝑑′ = 2𝑥3 + 𝑥 − 1 √𝑥4 + 𝑥2 − 2𝑥 + 1 = 𝑓(𝑥) = 0 𝑓′ = 𝑑′′ = 𝑥2(2𝑥4 + 3𝑥2 − 8𝑥 + 6) (𝑥4 + 𝑥2 − 2𝑥 + 1)3/2 O ponto da função onde a distância até o ponto (1,0) é mínimo é em x = 0,59 20. A distância entre as duas funções é: 𝑑2 = (𝑥 − 2)2 + ((1 𝑥) 2 − 1) 2 𝑑 = (𝑥2 + 1 𝑥2 − 4𝑥 − 2 𝑥 + 5) 1 2 Minimizando a função acima: 𝑑′ = 𝑥4 − 2𝑥3 + 𝑥 − 1 𝑥3√𝑥2 + 1 𝑥2 − 4𝑥 − 2 𝑥 + 5 = 𝑓(𝑥) = 0 𝑓′ = 𝑑′′ = 𝑥6 − 6𝑥5 + 18𝑥4 − 26𝑥3 + 18𝑥2 − 6𝑥 + 2 𝑥4(𝑥4 − 4𝑥3 + 5𝑥2 − 2𝑥 + 1)√𝑥2 + 1 𝑥2 − 4𝑥 − 2 𝑥 + 5 O ponto da função onde a distância até o ponto (2,1) é mínimo é em x = 1,867
Envie sua pergunta para a IA e receba a resposta na hora
Recomendado para você
19
Lista 3-2023 1
Cálculo Numérico
UFRPE
1
Questao 3 à 5-2022 1
Cálculo Numérico
UFRPE
19
Lista 4-2023 1
Cálculo Numérico
UFRPE
7
Questao 4 e 1-2022 1
Cálculo Numérico
UFRPE
9
Lista 5-2023 1
Cálculo Numérico
UFRPE
25
Lista 1-2023 1
Cálculo Numérico
UFRPE
1
Questoes 1 e 2 Prova-2021-2
Cálculo Numérico
UFRPE
2
Lista 1-2023-1
Cálculo Numérico
UFRPE
1
Questao 2-2022 1
Cálculo Numérico
UFRPE
11
Métodos Computacionais da Física 1 Edição - Cláudio Scherer
Cálculo Numérico
UFRPE
Texto de pré-visualização
Universidade Federal Rural de Pernambuco - UFRPE UACSA Disciplina: C´alculo Num´erico Professor: Marcelo Flamarion Lista 2 1. Problemas: 3, 4, 5, 6, 9, 11, 13 da se¸c˜ao 6.1. 2. Problemas: 1, 2, 3, 4, 9, 10, 30, 31 da se¸c˜ao 6.2. 3. Problemas: 1, 2, 3, 4, 7, 8, 9, 10 da se¸c˜ao 6.5. 4. Problemas: 1, 2, 3, 4, 5, 6, 7, 8, 15, 16 da se¸c˜ao 7.3. Referˆencias [1] BURDEN, Richard L.; FAIRES, J D.; BURDEN, Annette M. An´alise Num´erica - Tradu¸c˜ao da 10a edi¸c˜ao norte-americana. Cengage Learning Brasil, 2016. Seção 2.1 1. Utilizando o código 1 -------------------------------------------------------------------------------------------------------------------------------------- 2. a) Utilizando o código 1 b) --------------------------------------------------------------------------------------------------------------------------------------------------- 3. a) Utilizando o código 2 nas questões seguintes: b) c) 5. a) b) c) [-3; -2] [-1; 0] d) [0,2; 0,3] [1,2; 1,3] 6. a) b) Verificando a b) no Wolfram, realmente a função não toca o eixo x nesse intervalo: c) [1; 2] [2; 4] d) [0; 0,5] [0,5; 1] 7. a) Desenhando as curvas no geogebra: b) as duas curvas se interceptam em x = 0 e pouco antes de x = 2. Escolhendo o intervalo como 1 < x < 2: 11. a) [-3; 2,5] Se aproximou de x = 2 b) [-2.5; 3] Se aproximou de x = -2 c) [-1,75; 1,5] Se aproximou de x = -1 12) a) [-1,5; 2,5] Se aproximou de x = 0,5 b) [-0,5; 2,4] Se aproximou de x = 2,86102 c) [-0,5; 3] Se aproximou de x = 2 13. O intervalo no qual existe uma raiz é desconhecido, portanto, substituindo alguns intervalos no código: [0; 1] [1; 2] [2; 4] A raíz cúbica de 25 é aproximadamente 2,924 14. O intervalo no qual existe uma raíz é desconhecido, portanto, substituindo alguns intervalos no código: [0; 1] [1; 2] A raíz quadrada de 3 é aproximadamente 1,732 16. A função é: 𝑥(𝑡) = − 𝑔 2𝜔2 (𝑒𝜔𝑡 − 𝑒−𝜔𝑡 2 − 𝑠𝑒𝑛(𝜔𝑡)) Substituindo x, t e g: 𝑥(1) = 1,7 = − 32,17 2𝜔2 (𝑒𝜔∗1 − 𝑒−𝜔∗1 2 − 𝑠𝑒𝑛(𝜔 ∗ 1)) → 0 = −1,7 − 32,17 2𝜔2 (𝑒𝜔 − 𝑒−𝜔 2 − 𝑠𝑒𝑛(𝜔)) = 𝑓(𝜔) Como temos uma divisão por ω, o intervalo não pode possuir zero. Considerando um intervalo de [-0,1; -1]: A velocidade angular encontrada é -0,317 rad/s. Código 1: bisseção com critério de parada sendo o número de iterações import math def f(x): #bisseção por iteração return math.sqrt(x) - math.cos(x) # função a ser analisada na questão k = 3 # tolerância xa = 0 # xa e xb é o intervalo inicial que deve conter uma raíz. ela será verificada no if a seguir xb = 1 it = 0 if f(xa)*f(xb) < 0: # verificando se existe uma raíz entre a e b while it < k : # enquanto o valor do erro relativo (em modulo) for maior que a tolerância, o laço continua xn = (xa + xb)/2 # metodo da bissecao if f(xa)*f(xn) < 0: # verifica agora se a raiz esta entre xa e xn. se sim, x sera o novo xb xb = xn else: xa = xn it = it+1 print("A raiz encontrada pelo método da bisseção é x = ",xn) else: print("O intervalo nao possui raiz") Código 2: bisseção com critério de parada sendo a tolerância def f(x): #bisseção por erro return (x**3)-7*(x**2)+14*x-6 # função a ser analisada na questão tol = 0.01 # tolerância xa = 1 # xa e xb é o intervalo inicial que deve conter uma raíz. ela será verificada no if a seguir xb = 0 it = 0 if f(xa)*f(xb) < 0: # verificando se existe uma raíz entre a e b while (abs(xb- xa)) > tol : # enquanto o valor do erro relativo (em modulo) for maior que a tolerância, o laço continua xn = (xa + xb)/2 # metodo da bissecao if f(xa)*f(xn) < 0: # verifica agora se a raiz esta entre xa e xn. se sim, x sera o novo xb xb = xn else: xa = xn it = it+1 print("A raiz encontrada pelo método da bisseção é x = ",xn) print("Com ", it,"iterações") else: print("O intervalo nao possui raiz") Seção 2.2 1. a) Quando f = 0: isolando x4 𝑥4 + 2𝑥2 − 𝑥 − 3 = 0 → 𝑥4 = 𝑥 + 3 − 2𝑥2 → 𝑥 = (3 + 𝑥 − 2𝑥2) 1 4 = 𝑔1(𝑥) b) isolando 2x2: 𝑥4 + 2𝑥2 − 𝑥 − 3 = 0 → 2𝑥2 = 𝑥 + 3 − 𝑥4 → 𝑥2 = 𝑥 + 3 − 𝑥4 2 𝑥 = (𝑥 + 3 − 𝑥4 2 ) 1 2 = 𝑔2(𝑥) c) 𝑥4 + 2𝑥2 − 𝑥 − 3 = 0 → 𝑥2(𝑥2 + 2) − 𝑥 − 3 = 0 → 𝑥2(𝑥2 + 2) = 𝑥 + 3 → 𝑥2 = 𝑥 + 3 𝑥2 + 2 → 𝑥 = ( 𝑥 + 3 𝑥2 + 2) 1 2 d) sabendo que g = x: 𝑥 = 3𝑥4 + 2𝑥2 + 3 4𝑥3 + 4𝑥 − 1 → 𝑥(4𝑥3 + 4𝑥 − 1) = 3𝑥4 + 2𝑥2 + 3 4𝑥4 + 4𝑥2 − 𝑥 = 3𝑥4 + 2𝑥2 + 3 → 𝑥4 − 2𝑥2 − 𝑥 − 3 = 0 = 𝑓(𝑥) Como todas as funções g são provenientes de f(x) então todas possuem um ponto fixo p igual. 2. a) usando o código 3 para a função 1A 1B 1C 1D b) Realizando as iterações com o método da bisseção com tolerância de 10-10 e intervalo [1; 2]: Com 4 iterações a função que mais se aproxima dessa raiz encontrada acima é G4. Sendo assim ela converge mais rápido e é a que oferece a melhor aproximação. 3. a) b) 𝑝1 = 2 𝑝0 − 1 𝑝0 2 = 2 0,5 − 1 0,52 = 4 − 4 = 0 𝑝2 = 2 𝑝1 − 1 𝑝1 2 = 2 0 − 1 02 Função com indeterminação para p0 = 1/2 c) 𝑝1 = (2 − 1 𝑝0 ) 1 2 = (2 − 1 0,5) 1 2 = (2 − 2) 1 2 = 0 𝑝2 = (2 − 1 𝑝1 ) 1 2 = (2 − 1 0) 1 2 Função com indeterminação d) OBS: a raiz da primeira iteração é zero. E da segunda, -1 (feita em excel). O segundo erro resulta em um erro maior que o primeiro, por isso o código não converge. Mudando o ponto fixo para -0,5 ou -1, o código converge: 𝑖𝑡 1: 𝑝1 = 0 ; 𝑒𝑟𝑟𝑜 = |𝑝0 − 𝑝1| = |0,5 − 0| = 0,5 𝑖𝑡 2: 𝑝2 = −1 ; 𝑒𝑟𝑟𝑜 = |𝑝1 − 𝑝2| = |0 − (−1)| = 1 𝑒𝑟𝑟𝑜2 > 𝑒𝑟𝑟𝑜1 Para o ponto fixo p = ½ a função a) é a mais adequada. 4. a) b) c) d) A função b) e d) resultam em números complexos. E a função c) não converge. A função mais adequada para o problema então é a). A função a) converge para a raiz mais próxima do ponto fixo dado, p = 1. 6. a) Resolvendo com o código 4: b) c) d) Para o mesmo erro considerado, a função g do item c) teve velocidade de convergência maior (convergiu mais rápido), necessitando de apenas 7 iterações, enquanto d) precisou de 355 iterações. a) e b) nem ao menos convergem. 7. Isolando um dos termos com x na função: 𝑥4 − 3𝑥2 − 3 = 0 → 𝑥4 = 3(𝑥2 + 1) → 𝑥 = (3(𝑥2 + 1)) 1 4 = 𝑔(𝑥) 8. Isolando um dos termos com x na função: 𝑥3 − 𝑥 − 1 = 0 → 𝑥3 = 𝑥 + 1 → 𝑥 = (𝑥 + 1)1/3 = 𝑔(𝑥) 12. É preciso encontrar a solução através de uma função da seguinte forma: (25) 1 3 = 𝑥 → 25 = 𝑥3 (∗ 𝑥) → 25𝑥 = 𝑥4 → 𝑥 = (25𝑥) 1 4 = 𝑔(𝑥) Sabendo que, da questão 13 da seção 2.1 a solução é próxima de 2, chamando o ponto fixo de p = 2: A solução aproximada encontrada com erro máximo de 0,0001 é 2,924, encontrada na 8ª iteração. Convergindo mais rápido que o método da bisseção (25 iterações). 15. A função possui, ao todo, 4 raízes: próximos de: x = -3, x = -2, x = 2, x = 3 𝑔1(𝑥) = (−10 cos(𝑥)) 1 2 Para os outros pontos próximos às outras raízes a função iteração não converge. 𝑔2(𝑥) = arccos (− 𝑥2 10) 𝑔3(𝑥) = arccos (5 − 𝑥3 10𝑥 − 1 2𝑥) Converge novamente para raíz positiva. Fazendo: 𝑔4(𝑥) = − arccos (5 − 𝑥3 10𝑥 − 1 2𝑥) 𝑔5(𝑥) = −(−10 cos(𝑥)) 1 2 17. 18. A função é: 𝑠(𝑡) = 𝑠0 − 𝑚𝑔 𝑘 𝑡 + 𝑚2𝑔 𝑘2 (1 − 𝑒−𝑘𝑡/𝑚) Substituindo os dados fornecidos: 0 = 300 − 0,25 ∗ 32,17 0,1 𝑡 + 0,252 ∗ 32,17 0,12 (1 − 𝑒−0,1𝑡/0,25) 0 = 300 − 80,425𝑡 + 201,0625(1 − 𝑒−0,4𝑡) 𝑡 = 300 + 201,0625(1 − 𝑒−0,4𝑡) 80,425 Usando t = 10 como ponto inicial: 19. Se І P1 – P І é maior que І P0 – P І, significa que a distância entre P1 e P é maior que a distância entre P0 e P, o que não é o propósito da convergência (a distância entre estes pontos deveria estar diminuindo, e não aumentando). Usando um ponto mais afastado de P na próxima iteração, a tendência é que se afaste cada vez mais. 20. Para A = 5, p = 0.1 (número próximo a 1/A); 1/A = 1/5 = 0,2 Para A = 4, p = 0.1 (número próximo a 1/A); 1/A = 1/4 =0,25 Para A = 0,3, p = 3 1/0,3 = 10/3 = 3,3333 b) A condição para que a função iteração convirja para uma raíz é: 𝑔(𝑥) 𝑒 𝑔′(𝑥) 𝑝𝑒𝑟𝑡𝑒𝑛𝑐𝑒𝑛𝑡𝑒𝑠 𝑎𝑜 𝑖𝑛𝑡𝑒𝑟𝑣𝑎𝑙𝑜 & |𝑔′(𝑥)| < 1 𝑔(𝑥) = 2𝑥 − 𝐴𝑥2 ; 𝑔′(𝑥) = 2 − 2𝐴𝑥 g e g’ podem assumir quaisquer números reais. |2 − 2𝐴𝑥| < 1 → 1 − 𝐴𝑥 < 1 2 → −𝐴𝑥 < − 1 2 → 𝐴𝑥 > 1 2 → 𝑥 > 1 2𝐴 𝑝𝑎𝑟𝑎 𝐴 > 0 𝑥 < 1 2𝐴 𝑝𝑎𝑟𝑎 𝐴 < 0 O intervalo de convergência é: [ 1 2𝐴 ; 1 𝐴] Código 3: import math #CÓDIGO 3 def g(x): #ponto fixo return x-3*x**2 k = 4 # número de iterações pi = 1 # ponto inicial it = 0 erro1 = 100 while it < k : pn = g(pi) #próximo ponto if erro1 < abs(pi-pn): print("Não está convergindo") break # nao está convergindo erro1 = abs(pi-pn) pi = pn print(pi) it = it+1 if it == k: print("A raiz pelo método do ponto fixo é p = ",pn) print("Com ", it,"iterações") Código 4: import math #CÓDIGO 4 def g(x): #ponto fixo return 2*x - 0.3*(x**2) tol = 0.00001 # TOLERÂNCIA pi = 6 # ponto inicial it = 0 erro = 100 #valor inicial alto para garantir a entrada no while if erro > tol: while erro > tol : pn = g(pi) #próximo ponto if erro < abs(pi-pn): print("Não está convergindo") break # nao está convergindo erro = abs(pi-pn) pi = pn it = it+1 if erro < tol: print("A raiz pelo método do ponto fixo é p = ",pn) print("Com ", it,"iterações" Seção 2.3 1. Utilizando o código 6: 2. Para x0 = -1: X0 = 0: Não, pois há uma divisão pela derivada da função no ponto x0 = 0, que é igual a zero. Ou seja, resulta em uma divisão por zero na primeira iteração. 5. Utilizando o código 5: a) b) c) d) 6. a) b) c) x0 = 2: X0 = 3,5: d) x0 = 1: X0 = 4: e) x0 = 0: X0 = 1: X0 = 3: f) x0 = 0: X0 = 3: X0 = 6: 7. a) Do código 7: b) c) d) 8. a) b) c) [2; 3] [3; 4] d) [1; 2] [e; 4] e) [0; 1] [3; 5] f) [0; 1] [3; 4] [6; 7] 18. do código 5: para x0 = pi/2 X0 = 5pi X0 = 10pi O resultado converge para uma única raiz independente do ponto inicial. Mudando apenas o número de iterações quando o ponto inicial se distancia da raiz. 19. A distância entre as duas funções é: 𝑑2 = (𝑥 − 1)2 + (𝑥2 − 0)2 𝑑2 = 𝑥2 − 2𝑥 + 1 + 𝑥4 𝑑 = (𝑥2 − 2𝑥 + 1 + 𝑥4) 1 2 Minimizando a função acima: 𝑑′ = 2𝑥3 + 𝑥 − 1 √𝑥4 + 𝑥2 − 2𝑥 + 1 = 𝑓(𝑥) = 0 𝑓′ = 𝑑′′ = 𝑥2(2𝑥4 + 3𝑥2 − 8𝑥 + 6) (𝑥4 + 𝑥2 − 2𝑥 + 1)3/2 O ponto da função onde a distância até o ponto (1,0) é mínimo é em x = 0,59 20. A distância entre as duas funções é: 𝑑2 = (𝑥 − 2)2 + ((1 𝑥) 2 − 1) 2 𝑑 = (𝑥2 + 1 𝑥2 − 4𝑥 − 2 𝑥 + 5) 1 2 Minimizando a função acima: 𝑑′ = 𝑥4 − 2𝑥3 + 𝑥 − 1 𝑥3√𝑥2 + 1 𝑥2 − 4𝑥 − 2 𝑥 + 5 = 𝑓(𝑥) = 0 𝑓′ = 𝑑′′ = 𝑥6 − 6𝑥5 + 18𝑥4 − 26𝑥3 + 18𝑥2 − 6𝑥 + 2 𝑥4(𝑥4 − 4𝑥3 + 5𝑥2 − 2𝑥 + 1)√𝑥2 + 1 𝑥2 − 4𝑥 − 2 𝑥 + 5 O ponto da função onde a distância até o ponto (2,1) é mínimo é em x = 1,867