Universidade Federal de Pernambuco, Área II, Cálculo Numérico, 2019-2, 1ª prova, 17/09/2019, 3b
3. Dada a função :
a) Aplique o método de Newton para encontrar um valor aproximado da raiz de . Para cada iteração, apresente os valores de e . Considere, utilize 4 casas decimais e arredondamento padrão. Utilize como critério de parada 3 iterações () ou .
b) Complemente a implementação do código abaixo para encontrar o zero da função pelo método da Falsa Corda utilizando 50 iterações como critério de parada. Considere o intervalo de separação . OBS: Em C, a equação pode ser escrita como.
Passo 1
O método da Falsa Corda é outro método iterativo para encontrar a raiz de uma função! Mas dessa vez queremos fazer 50 iterações, galera. Fica puxado fazer a mão, então um código é o melhor caminho!
Nesse caso, temos um intervalo [a,b] que contém a raiz da função e vamos aproximá-la fazendo:
Depois de obter o , calculamos e verificamos se ou se . Mas pra que isso? Bom galera, existe um cara chamado Bolzano que enunciou o seguinte teorema: um intervalo contém a raiz de uma função se .
Logo, a cada iteração descobrimos um valor mais próximo da nossa raiz e reduzimos o intervalo de entrada! Vamos ficar com um código assim:
Primeiro fazemos usamos a estrutura de repetição for para percorrer as 50 iterações, uma por uma. Em seguida, calculamos os valores de , , a aproximação da raiz e . Também imprimimos algumas informações importantes: o número da iteração, o intervalo [a,b] atual, e os valores que acabamos de calcular nas linhas anteriores!
No final, damos aquela conferida que eu comentei agora pouco para reduzir o intervalo de entrada! Usando um condicional if/else, definimos se o próximo intervalo de entrada será [a,b=x] ou [a=x,b]. Ao fim das 50 iterações, imprimos o último valor aproximado de ! Moleza!
Resposta
Ei, a resposta está no passo a passo :)