Relatório sobre a construção de um algoritmo
Por: Beatriz De Jesus Dos Santos • 7/9/2023 • Artigo • 2.492 Palavras (10 Páginas) • 58 Visualizações
[pic 1]
UNIVERSIDADE FEDERAL DO RECÔNCAVO DA BAHIA
Programação de algoritmos em linguagem C para resolução de raízes de uma função com métodos de cálculo numérico
Beatriz de Jesus dos Santos
Relatório sobre a construção de um
algoritmo para encontrar os polinômios
interpoladores, para uma determinada
função. O mesmo foi solicitado pelo
docente Anderson Dourado.
Feira de Santana, 2022
1. INTRODUÇÃO
O presente relatório tem por objetivo apresentar a parte prática da disciplina de cálculo numérico. Apresentado por meio dele os métodos da bissecção, método do ponto fixo, método da secante e o método de Newton-Raphson. Para a realização deste trabalho foi utilizado o programa DEV C++ e a linguagem C.
1.1. MÉTODOS
1.1.1. Polinômio Interpolador de Newton
A interpolação consiste em determinar uma função (iremos considerar polinómios), que assume valores conhecidos em certos pontos. A classe de funções escolhida para a interpolação é a priori arbitrária, e deve ser adequada às características que pretendemos que a função possua.
As diferenças divididas são razões incrementais e constituem aproximações discretas de derivadas, desde que se utilizem pontos suficientemente próximos. No caso que nos interessa, iremos utilizar os nós de interpolação que podem estar bastante afastados. Veremos que para funções regulares é possível estabelecer uma relação entre o valor de uma diferença dividida e a derivada num certo ponto.
A diferença dividida de 1ª ordem é definida de uma forma geral por:
f [ xi, xj] = ( fi - fj ) / ( xi - xj )
e uma diferença dividida de ordem k, pode ser obtida a partir das anteriores : f [ xi, ... , xi+k] = ( f [ xi+1, ... , xi+k ] - f [ xi, ... , xi+k-1 ] ) / ( xi+k - xi ).
1.1.2 Método de Simpson Composto
Trata-se de outro exemplo de Fórmula de Newton-Cotes fechada, mas, ao invés de considerarmos a aproximação em cada sub-intervalo através de um polinómio interpolador de 1º grau (reta), podemos pensar numa aproximação um pouco melhor, considerando um polinômio interpolador do 2º grau (parábola). Para isso, ao considerarmos a regra de integração simples, precisamos de um ponto adicional, que será o ponto médio.
Para aplicar a regra de Simpson usando sub-intervalos, devemos considerar um número ímpar de nós N+1, de forma que ao dividirmos o intervalo [ a, b ] em N/2 sub-intervalos, obtemos:
xi = a + i h, para i = 0, ..., N, com h = (b - a)/N. Tal como no caso da Regra dos Trapézios composta, o erro da Regra de Simpson composta, resulta da soma dos erros em cada sub-intervalo.
1.1.3 Método dos Trapézios
A ideia da regra do trapézio é aproximar a função f(x) por um polinômio de ordem 1 (reta). Veremos que, nessa aproximação a integral da função f(x) pode ser aproximada pela área de 1 trapézio.
2. Metodologia
Para resolver as questões apresentadas neste trabalho, foi utilizado o programa DEV C++, a questão problema foi encontrar a tabela das diferenças divididas através do polinômio de Newton, realizando a aplicação dos métodos do trapézio e o método de simpson na função:
2
∫4��5−1
f(x) = , inicialmente é feito a tabela de diferenças divididas da função f(x) cujos
1
(��5+��+1)²
valores conhecidos estão na tabela 01, após isso encontrar o polinômio de interpolação segundo Newton e uma estimativa para o valor de f(3).
Tabela 01
x | -2 | 0 | 1 | 2 | 4 | 5 |
f(x) | 5 | 1 | 3 | -1 | -1 | 0 |
Fonte: O autor,2022
3. Aplicação dos Métodos
3.1. Tabela das diferenças divididas da função f(x) e polinômio
Para a questão problema da atividade foi fornecido os pontos presentes na tabela 01, os quais serão utilizados para encontrar o polinômio interpolador e o valor no ponto P(3).
Tabela 01
x | -2 | 0 | 1 | 2 | 4 | 5 |
f(x) | 5 | 1 | 3 | -1 | -1 | 0 |
Fonte: O autor,2022
Para o problema contido na atividade foi fornecido os seguintes pontos, dos quais serão utilizados para encontrar o polinômio interpolador e o valor no ponto P(3).
Tabela 02
X | f(x) | Δ1 | Δ2 | Δ3 Δ4 | Δ5 |
-2 | 5 | 1−5 = - 2 0−2 | 2+2 4 = 1+2 3 | −3−43 13 12 − (−1312 ) 13 13 = - 12= 2− (−2) 4+2 36 | −4 15 −1336 −133 = 7−2 1260 |
0 | 1 | 3−1 = -2 1−0 | −4−2 = -3 2−0 | 4 −1 4 −1312 3 +3 13 5−0 =−4 = 4−0 12 15 | —---- |
1 | 3 | = -4 −1−3 2−1 | 0+4 4 = 4−1 3 | —---- 3 −43 1 −1 = 5−1 4 | —--- |
2 | -1 | −1+1 = 0 4−2 | 1−0 1 = 5−2 3 | —----- —-- | —---- |
4 -1 = 1
5−2—---- —---- —- —---
0+1
5 0 —---- —----- —---- —- —- Fonte: O autor, 2022
3.1.1. Polinômio de interpolação segundo Newton em C++
Inicialmente foram declaradas as bibliotecas, sendo elas as mesmas foram repetidas em todos os outros códigos: stdio.h e stdlib.h: as quais são utilizadas para arquivo cabeçalho da biblioteca de propósito geral padrão da linguagem de programação C. Possuem funções envolvendo alocação de memória, controle de processos, conversões e outras. Windows.h:
...