Você está na página 1de 16

Trabalho prático 3

M2018 - 2022/23
Análise Numérica

Departamento de Matemática
Faculdade de Ciências da Universidade do Porto

Discentes: Adriana Cipriano, up202106713


Inês Alves, up202104656
Luana Brito, up202107130
Tomás Silva, up202105223
26/11/2022
Índice
Introdução ....................................................................................................................... 3
Exercício 1 ....................................................................................................................... 4
Alínea a) ........................................................................................................................ 4
Alínea b) ....................................................................................................................... 5
Alínea c) ........................................................................................................................ 9
Exercício 2 ..................................................................................................................... 10
Alínea a) ...................................................................................................................... 11
Alínea b) ..................................................................................................................... 14
Conclusão ...................................................................................................................... 15
Bibliografia .................................................................................................................... 16

2
Introdução
O presente relatório é relativo ao terceiro trabalho prático da unidade curricular
Análise Numérica da Licenciatura em Matemática.

A finalidade de Análise Numérica é estudar condições suficientes para a


existência e unicidade de solução de um problema, escolher um método numérico para a
sua resolução, controlar os erros, fornecer um algoritmo a implementar e experimentar
em máquina de calcular ou em computador, e interpretar os resultados.

Assim, o trabalho centra-se no capítulo 3 lecionado nas aulas teóricas,


‘Aproximação numérica’, focando-se mais na Interpolação Polinomial, ou seja, nos
seguintes tópicos “Existência e unicidade do polinómio interpolador. Método de
Lagrange. Erro na interpolação polinomial. Diferenças divididas. Método de Newton.
Interpolação usando splines”. O objetivo deste trabalho é construir polinómios
interpoladores usando o método de Newton em diferenças divididas e splines cúbicos
naturais com as informações dadas no enunciado, também majorar os erros, para assim
obtermos a eficiência dos métodos em cada caso.

Para nos facilitar a resolução dos exercícios utilizamos o programa Python e o


Geogebra, uma vez que o primeiro é uma linguagem de programação que os membros
do grupo consideram muito dinâmica e indicada para os problemas propostos, e o
Geogebra que nos foi muito útil na representação gráfica das funções solicitadas.

Por último, neste relatório vamos apresentar todas as resoluções e a respetiva


justificação, comentar os resultados obtidos e, com isto, esperamos aprofundar todo o
nosso conhecimento sobre o capítulo 3.

3
Exercício 1
Neste exercício, é dada a seguinte função 𝑓(𝑥) = 𝑥 2 + 𝑠𝑖𝑛(6𝑥), para
−1 ≤ 𝑥 ≤ 1.

Alínea a)
De forma a obter n+1=8 pontos que definem uma partição de [−1, 1], em n
subintervalos de igual amplitude, fizemos o seguinte programa:

Figura 1:. Algoritmo para determinar os pontos


desejados.

Com isto, obtemos a solução que se segue.

𝒙𝒊 −1 −0.71429 −0.42857 −0.14286 0.14285 0.42857 0.71429 1


𝒇(𝒙𝒊 ) 1.27942 1.42055 −0.35610 −0.73556 0.77638 0.72344 −0.40014 0.72058

4
Figura 2:. Gráfico de f(x) com os pontos encontrados.

Alínea b)
• Polinómio interpolador
Para construir o polinómio interpolador dos pontos e das abcissas calculadas na
alínea anterior, usamos o Método de Newton em diferenças divididas. Uma vez que
temos 8 pontos, queremos 𝑝7 (𝑥).

𝑝 = 𝑝7 (𝑥) = 𝑓(𝑥0 ) + (𝑥 − 𝑥0 ) 𝑓[𝑥0 , 𝑥1 ] + (𝑥 − 𝑥0 )(𝑥 − 𝑥1 )𝑓[𝑥0 , 𝑥1 , 𝑥2 ] + (𝑥


− 𝑥0 )(𝑥 − 𝑥1 )(𝑥 − 𝑥2 )𝑓[𝑥0 , 𝑥1 , 𝑥2 , 𝑥3 ] + (𝑥 − 𝑥0 )(𝑥 − 𝑥1 )(𝑥 − 𝑥2 )(𝑥
− 𝑥3 )𝑓[𝑥0 , 𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 ] + (𝑥 − 𝑥0 )(𝑥 − 𝑥1 )(𝑥 − 𝑥2 )(𝑥 − 𝑥3 )(𝑥
− 𝑥4 )𝑓[𝑥0 , 𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 , 𝑥5 ] + (𝑥 − 𝑥0 )(𝑥 − 𝑥1 )(𝑥 − 𝑥2 )(𝑥 − 𝑥3 )(𝑥
− 𝑥4 ) × (𝑥 − 𝑥5 )𝑓[𝑥0 , 𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 , 𝑥5 , 𝑥6 ] + (𝑥 − 𝑥0 )(𝑥 − 𝑥1 )(𝑥
− 𝑥2 )(𝑥 − 𝑥3 )(𝑥 − 𝑥4 )(𝑥 − 𝑥5 ) × (𝑥 − 𝑥6 )𝑓[𝑥0 , 𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 , 𝑥5 , 𝑥6 , 𝑥7 ]
Com a ajuda do Excel, construímos a seguinte tabela com as sucessivas
diferenças dividas da função 𝑓(𝑥).

i 𝒙𝒊 f(𝒙𝒊 ) f[,] f[ , , ] f[ , , ,] f[ , , , ,] f[ , , , , , ] f[ , , , , , ,] f[ , , , , , , ,]
0 -1 1,27942 0,49396 -11,74614 23,68755 -17,6361 -4,94542 23,05731 -23,05697
1 -0,71429 1,42055 -6,21814 8,55740 3,531923 -24,701 34,58127 -23,0566
2 -0,42857 - 0,35610 -1,32818 11,58479 -24,6979 24,70075 -4,94448
3 -0,14286 -0,73557 5,29172 -9,58475 3,531372 17,63721
4 0,14286 0,77638 -0,18529 -6,55787 23,68824
5 0,42857 0,72344 -3,93259 13,74627
7 0,71428 -0,40014 3,92244
8 1 0,72058

Agora, com estes dados, podemos escrever o polinómio interpolador


correspondente à função 𝑓.

5
𝑝7 (𝑥) = 1.27942 + (𝑥 + 1) × (0.49396) + (x + 1)(x + 0.71429)(−11.74614)
+ (x + 1)(x + 0.71429)(x + 0.42857)(23.68755)
+ (x + 1)(x + 0.71429)(x + 0.42857)(x + 0.14286)(−17.63613)
+ (x + 1)(x + 0.71429)(x + 0.42857)(x + 0.14286)(x
− 0.14286)(−4.94542)
+ (x + 1)(x + 0.71429)(x + 0.42857)(x + 0.14286)(x − 0.14286)(x
− 0.42857)(23.05731)
+ (x + 1)(x + 0.71429)(x + 0.42857)(x + 0.14286)(x − 0.14286)(x
− 0.42857)(x − 0.71428)(−23.05697)

Figura 3:. Representação gráfica da função f (verde) e


do polinómio interpolador (azul) no intervalo [-1,1].

• Spline cúbico natural


No que toca ao spline cúbico natural, 𝑠, sabemos que a função 𝑠 é um spline
polinomial de grau 3, relativo às abcissas (nós) 𝑎 = 0 < 𝑥1 < ⋯ < 𝑥𝑛 = 𝑏 e verifica
as seguintes propriedades:

1. 𝑠 coincide em cada subintervalo [𝑥𝑖−1 , 𝑥𝑖 ], 𝑖 = 1, … , 𝑛 com um polinómio 𝑠𝑖 de grau


≤ 3.

2. é uma função contínua em [𝑥0 , 𝑥1 ] que possui primeira e segunda derivadas contínuas
nos nós interiores, 𝑥𝑖 , 𝑖 = 1, … , 𝑛 − 1

Fazendo alguns cálculos, chega-se à seguinte expressão para 𝑆𝑖 (𝑥):

6
(𝑥𝑖 − 𝑥)3 (𝑥 − 𝑥𝑖−1 )3 ℎ𝑖 2 𝑥𝑖 − 𝑥
𝑆𝑖 (𝑥) = 𝑀𝑖−1 + 𝑀𝑖 + (𝑓𝑖−1 − 𝑀𝑖−1 ) + (𝑓𝑖
6ℎ𝑖 6ℎ𝑖 6 ℎ𝑖
ℎ𝑖 2 𝑥 − 𝑥𝑖−1
− 𝑀𝑖 )
6 ℎ𝑖

Impondo a condição de continuidade da primeira derivada nos nós interiores,


obtém-se o seguinte sistema de 𝑛 − 1 equações lineares:

ℎ𝑖 ℎ𝑖 + ℎ𝑖+1 ℎ𝑖+1 𝑓𝑖+1 − 𝑓𝑖 𝑓𝑖 − 𝑓𝑖−1


{ 𝑀𝑖−1 + 𝑀𝑖 + 𝑀𝑖+1 = − , 𝑖 = 1, … , 𝑛 − 1} (1)
6 3 6 ℎ𝑖+1 ℎ𝑖

em que ℎ𝑖 = 𝑥𝑖 − 𝑥𝑖−1 , 𝑖 = 1, … , 𝑛.
Com este sistema temos como objetivo determinar as 𝑛 + 1 incógnitas (os coeficientes
𝑀𝑖 , 𝑖 = 0, … , 𝑛).

Como não temos outra informação, juntamos ao sistema (1) as seguintes


condições, que correspondem ao anulamento da segunda derivada nos nós extremos,
𝑆1′′ (𝑥0 ) = 0 e 𝑆𝑛′′ (𝑥𝑛 ) = 0:

𝑀0 = 0 e 𝑀𝑛 = 0

O spline que se obtém nestas condições chama-se spline cúbico natural e spline
pedido é:

0.28571 0.57143 0.28572


𝑀0 + 𝑀1 + 𝑀2 = 0.75968
6 3 6
0.28571 0.57143 0.28571
𝑀1 + 𝑀2 + 𝑀3 = 4.89024
6 3 6
0.28571 0.57142 0.28571
𝑀2 + 𝑀3 + 𝑀4 = 6.60683
6 3 6
0.28572 0.57143 0.28572
𝑀3 + 𝑀4 + 𝑀5 = −5.47697
6 3 6
0.28572 0.57144 0.28572
𝑀4 + 𝑀5 + 𝑀6 = −3.74716
6 3 6
0.28572 0.57143 0.28571
𝑀5 + 𝑀6 + 𝑀7 = 7.85503
6 3 6
𝑀0 = 0
{ 𝑀7 = 0
Resolvendo o sistema através do programa Matrix Calculator chegamos à
seguinte solução:

7
𝑀 = 0, 𝑀 = −0.00163, 𝑀 = 15.95950, 𝑀3 = 38.85910, 𝑀4 = −32.65038,
(𝑥 + 1)30 1 −𝑥
−0.71429 2 0.285712 𝑥+1
−0.00163 + 1.27942 + (1.42055 − (−0.00163 × )) , − 1 ≤ 𝑥 ≤ −0.71429
𝑀5 = −23.27395, 𝑀6 = 47.05739 e 𝑀7 = 0
6 × 0.28571 0.28571 6 0.28571
(−0.42857 − 𝑥)3 (𝑥 + 0.71429) 3 0.285722 −0.42857 − 𝑥 0.285722 𝑥 + 0.71429
−0.00163 + 15.95950 + (1.42055 + 0.00163 ) + (−0.35610 − 15.95950 ) , −0.71429 ≤ 𝑥 ≤ −0.42857
6 × 0.28572
Assim, 6dispomos
× 0.28572
finalmente de 6todos2 0.28572 os dados necessários para 6 0.28572
construir o
(−0.14286 − 𝑥)3 (𝑥 + 0.428579) 3 0.28571 −0.14286 − 𝑥 0.285712 𝑥 + 0.42857
15.95950 + 38.85910
spline cúbico natural + (−0.35610 − 15.95950
da função no intervalo6dado,0.28571 ) + (−0.73556
então o spline é: − 38.85910 ) , −0.42857 ≤ 𝑥 ≤ −0.14286
6 × 0.28571 6 × 0.28571 6 0.28571
(0.14285 − 𝑥)3 (𝑥 + 0.14286)3 0.285712 0.14285 − 𝑥 0.285712 𝑥 + 0.14286
𝑆(𝑥) = 38.85910 − 32.65038 + (−0.73556 − 38.85910 ) + (0.77638 + 32.65038 ) , − 0.14286 ≤ 𝑥 ≤ 0.14285
6 × 0.28571 6 × 0.28571 6 0.28571 6 0.28571
(0.42857 − 𝑥)3 (𝑥 − 0.14285)3 0.285722 0.42857 − 𝑥 0.285722 𝑥 − 0.14285
−32.65038 − 23.27395 + (0.77638 + 32.65038 ) + (0.72344 + 23.27395 ) , 0.14285 ≤ 𝑥 ≤ 0.42857
6 × 0.28572 6 × 0.28572 6 0.28572 6 0.28572
(0.71429 − 𝑥)3 (𝑥 − 0.42857)3 0.285722 0.71429 − 𝑥 0.285722 𝑥 − 0.42857
−23.27395 + 47.05739 + (0.72344 + 23.27395 ) + (−0.40014 − 47.05739 ) , 0.42857 ≤ 𝑥 ≤ 0.71429
6 × 0.28572 6 × 0.28572 6 0.28572 6 0.28572
(1 − 𝑥)3 0.285712 1 − 𝑥 𝑥 − 0.71429
47.05739 + (−0.40014 − 47.05739 ) + 0.72058 , 0.71429 ≤ 𝑥 ≤ 1
{ 6 × 0.28571 6 0.28571 0.28571

Figura 4:. Representação gráfica da função f


(cinzento) e o spline (cores) no intervalo [-1,1].

Figura 5:. Representação gráfica da função erro Figura 6:. Representação gráfica da função erro
|𝑓 − 𝑝|, no intervalo [-1,1]. |𝑓 − 𝑠|, 𝑥 𝜖 [−1,1].

Observando os gráficos, podemos mais uma vez concluir que o polinómio interpolador
e o spline são ambos uma aproximação à função inicial. Podemos também afirmar que
nos intervalos em que a função f se encontra mais afastada do polinómio
interpolador/spline os valores da função erro são mais elevados. Da mesma forma, nos

8
intervalos em que a diferença entre o polinómio interpolador/spline e a função f é
praticamente impercetível, os valores da função erro estão mais perto de zero.

Alínea c)
∎ Majorantes dos erros cometidos ao estimar 𝑓(0.1) e 𝑓(0.9) usando o polinómio
interpolador obtido.

1 (8)
𝐸(𝑥) = |𝑓(𝑥) − 𝑝7 (𝑥)| = 𝑓 (𝑐𝑥 )𝜋8 (𝑥), 𝑐𝑥 ∈ I
(8)!

onde, 𝜋8 (𝑥) = (𝑥 − 𝑥0 )(𝑥 − 𝑥1 ) … (𝑥 − 𝑥7 ) e 𝑓 (8) (𝑐𝑥 ) = 𝑀 = 𝑚𝑎𝑥𝑥∈𝐼 |𝑓 (8) (𝑥)|.

Com recurso ao WolframAlpha, calculamos a oitava derivada de f(x), tal que

𝑓 (8) (𝑥) = 1679616sin(6x) e M=𝑚𝑎𝑥𝑥∈𝐼 | 1679616sin(6x)| = 1679616 |sin(6𝑥)|

Como no intervalo 𝐼, 𝑠𝑒𝑛(16𝑥)≤1 então, 𝑀 = 1679616 |sin(6𝑥)| ≤


1679616 × 1 ≤ 1,67962 × 106 .

1,67962×106
• 𝐸(0,1) = |𝑓(0,1) − 𝑝7 (0,1)| ≤≤ |(0.1 + 1)(0,1 + 0,71429)(0,1 +
8!

0,42857 )(0,1 + 0,14286)(0,1 − 0,14286)(0,1 − 0,42857)(0.1 −


0,71429)(0.1 − 1)| ≤ 3.72920 × 10−2

Logo, 𝐸(0.12) ≤ 3.72920 × 10−2

1,67962×106
• 𝐸(0,9) = |𝑓(0,9) − 𝑝8 (0,9)| ≤≤ |(0.9 + 1)(0.9 + 0.71429)(0.9 +
8!

0.42857 )(0.9 + 0,14286)(0.9 − 0.14286)(0.9 − 0.42857)(0.9 −


0.71429)(0.9 − 1)| ≤ 1.17345

Logo, 𝐸(0.9) ≤ 1.17345

∎ Majorantes dos erros cometidos ao estimar 𝑓(0.1) e 𝑓(0.9) usando o spline natural
cúbico.
Relativamente ao cálculo do majorante do erro cometido ao estimar 𝑓(0.1) e
𝑓(0.9) usando o spline, sabemos que:
Se 𝑓(𝑥) ∈ 𝐶 4 [𝑎, 𝑏] então mostra-se que ∀𝑥 ∈ [𝑎, 𝑏]
5
|𝑓(𝑥) − 𝑆(𝑥)| ≤ 𝑀ℎ4
384

9
Onde 𝑀 = 𝑚𝑎𝑥𝑥∈[𝑎,𝑏] |𝑓 (4) (𝑥)| e ℎ = 𝑚𝑎𝑥ℎ𝑖 , 𝑖 = 1,2, … , 𝑛.

Figura 7:. Resolução manuscrita do erro do spline cúbico natural.

Como podemos ver pelo majorante dos erros do polinómio interpolador e do


spline cúbico natural nos dois valores, vimos que o spline apresenta valores mais
aproximados pois os majorantes dos erros foram inferiores comparativamente aos
majorantes dos erros no polinómio. O spline é uma melhor aproximação no geral da
função f, pelo que vimos graficamente na alínea b) e na alínea c) pelos valores.

Exercício 2
Neste exercício é dada a seguinte tabela com os pontos da função evaporação.
Mês 1 2 3 4 5 6 7 8 9 10 11 12
Evaporação 8.6 7.0 6.4 4.0 2.8 1.8 1.8 2.1 3.2 4.7 6.2 7.6

10
Alínea a)
• Polinómio interpolador
O objetivo desta alínea é construir o polinómio interpolador com os dados da
tabela anterior, e para tal, usamos o Método de Newton em diferenças divididas. Uma
vez que temos 12 pontos, queremos 𝑝11 (𝑥).

𝑝 = 𝑝11 (𝑥) = 𝑝7 (𝑥)


+ (𝑥 − 𝑥0 )(𝑥 − 𝑥1 )(𝑥 − 𝑥2 )(𝑥 − 𝑥3 )(𝑥 − 𝑥4 )(𝑥 − 𝑥5 )(𝑥 − 𝑥6 )(𝑥
− 𝑥7 )𝑓[𝑥0 , 𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 , 𝑥5 , 𝑥6 , 𝑥7 , 𝑥8 ]
+ (𝑥 − 𝑥0 )(𝑥 − 𝑥1 )(𝑥 − 𝑥2 )(𝑥 − 𝑥3 )(𝑥 − 𝑥4 )(𝑥 − 𝑥5 )(𝑥 − 𝑥6 )(𝑥
− 𝑥7 )(𝑥 − 𝑥8 )𝑓[𝑥0 , 𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 , 𝑥5 , 𝑥6 , 𝑥7 , 𝑥8 , 𝑥9 ]
+ (𝑥 − 𝑥0 )(𝑥 − 𝑥1 )(𝑥 − 𝑥2 )(𝑥 − 𝑥3 )(𝑥 − 𝑥4 )(𝑥 − 𝑥5 )(𝑥 − 𝑥6 )(𝑥
− 𝑥7 )(𝑥 − 𝑥8 )(𝑥 − 𝑥9 )𝑓[𝑥0 , 𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 , 𝑥5 , 𝑥6 , 𝑥7 , 𝑥8 , 𝑥9 , 𝑥10 ]
+ (𝑥 − 𝑥0 )(𝑥 − 𝑥1 )(𝑥 − 𝑥2 )(𝑥 − 𝑥3 )(𝑥 − 𝑥4 )(𝑥 − 𝑥5 )(𝑥 − 𝑥6 )(𝑥
− 𝑥7 )(𝑥 − 𝑥8 )(𝑥 − 𝑥9 )(𝑥
− 𝑥10 )𝑓[𝑥0 , 𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 , 𝑥5 , 𝑥6 , 𝑥7 , 𝑥8 , 𝑥9 , 𝑥10 , 𝑥11 ]

Com recurso ao Excel, construímos as seguintes tabelas com as sucessivas


diferenças dividas da função evaporação.

i 𝒙𝒊 f(𝒙𝒊 ) f[,] f[ , , ] f[ , , ,] f[ , , , ,] f[ , , , , , ] f[ , , , , , ,] f[ , , , , , , ,]
0 1 8,6 -1,60000 0,50000 -0,46667 0,24167 -0,08167 0,021667 -0,00490
1 2 7 -0,60000 -0,90000 0,5 -0,16667 0,048333 -0,01264 0,00300
2 3 6,4 -2,40000 0,60000 -0,16667 0,07500 -0,0275 0,008333 -0,00214
3 4 4 -1,20000 0,10000 0,133333 -0,06250 0,0225 -0,00667 0,00155
4 5 2,8 -1,00000 0,50000 -0,11667 0,05000 -0,0175 0,004167 -0,00071
5 6 1,8 0,00000 0,15000 0,083333 -0,03750 0,0075 -0,00083
6 7 1,8 0,30000 0,40000 -0,06667 0,00000 0,0025
7 8 2,1 1,10000 0,20000 -0,06667 0,01250
8 9 3,2 1,50000 0,00000 -0,01667
9 10 4,7 1,50000 -0,05000
10 11 6,2 1,40000
11 12 7,6

11
i 𝒙𝒊 f(𝒙𝒊 ) f[ , , , , , , , ,] f[ , , , , , , , , ,] f[ , , , , , , , , , , ] f[ , , , , , , , , , , , ]
0 1 8,6 0,0009871 -0,000181 3,03682E-05 -4,62712E-06
1 2 7 -0,000642 0,0001226 -2,05302E-05
2 3 6,4 0,0004613 -8,27E-05
3 4 4 -0,000283
4 5 2,8
5 6 1,8
6 7 1,8
7 8 2,1
8 9 3,2
9 10 4,7
10 11 6,2
11 12 7,6

Com os valores obtidos, podemos construir o polinómio interpolador pedido.


𝑝11 (𝑥) = 8.6 + (𝑥 − 1) × (−1.60000) + (x − 1)(x − 2) × 0.50000
+ (x − 1)(x − 2)(x − 3) × (−0.46667)
+ (x − 1)(x − 2)(x − 3)(x − 4) × 0.24167
+ (x − 1)(x − 2)(x − 3)(x − 4)(x − 5) × (−0.08167)
+ (x − 1)(x − 2)(x − 3)(x − 4)(x − 5)(x − 6) × 0.02167
+ (x − 1)(x − 2)(x − 3)(x − 4)(x − 5)(x − 6)(x − 7) × (−0.00490)
+ (x − 1)(x − 2)(x − 3)(x − 4)(x − 5)(x − 6)(x − 7)(x − 8)
× 0.00099
+ (x − 1)(x − 2)(x − 3)(x − 4)(x − 5)(x − 6)(x − 7)(x − 8)(x − 9)
× (−0.00018)
+ (x − 1)(x − 2)(x − 3)(x − 4)(x − 5)(x − 6)(x − 7)(x − 8)(x − 9)(x
− 10) × (3.03682 × 10−5 )
+ (x − 1)(x − 2)(x − 3)(x − 4)(x − 5)(x − 6)(x − 7)(x − 8)(x − 9)(x
− 10)(x − 11) × (−4.62712 × 10−6 )
• Spline cúbico natural
O sistema que determina o spline cúbico natural é:

12
1 2 1
𝑀0 + 𝑀1 + 𝑀2 = 1
6 3 6
1 2 1
𝑀 + 𝑀 + 𝑀 = −1.8
6 1 3 2 6 3
1 2 1
𝑀2 + 𝑀3 + 𝑀4 = 1.2
6 3 6
1 2 1
𝑀3 + 𝑀4 + 𝑀5 = 0.2
6 3 6
1 2 1
𝑀4 + 𝑀5 + 𝑀6 = 1
6 3 6
1 2 1
𝑀 + 𝑀 + 𝑀 = 0.3
6 5 3 6 6 7
1 2 1
𝑀6 + 𝑀7 + 𝑀8 = 0.8
6 3 6
1 2 1
𝑀 + 𝑀 + 𝑀 = 0.4
6 7 3 8 6 9
1 2 1
𝑀8 + 𝑀9 + 𝑀10 = 0
6 3 6
1 2 1
𝑀 + 𝑀 + 𝑀 = −0.1
6 9 3 10 6 11
𝑀0 = 0
{ 𝑀11 = 0
Resolvendo este sistema através do programa Matrix calculator obtemos que:
𝑀0 = 0, 𝑀1 = 2.52346, 𝑀2 = −4.09385, 𝑀3 = 3.05193, 𝑀4 = −0.91386, 𝑀5 =
1.80351, 𝑀6 = −0.30017, 𝑀7 = 1.19717, 𝑀8 = 0.31147, 𝑀9 = −0.04306, 𝑀10 =
−0.13924 e 𝑀11 = 0
Então, o spline é:
(𝑥 − 1)3 1
2.52346 × + 8.6 × (2 − 𝑥) + (7 − 2.52346 × ) (𝑥 − 1), 1≤𝑥≤2
6 6
(3 − 𝑥) 3 (𝑥 − 2) 3 1 1
2.25346 × − 4.09385 × + (7 − 2.52346 × ) (3 − 𝑥) + (6.4 + 4.09385 × ) (𝑥 − 2), 2≤𝑥≤3
6 6 6 6
(4 − 𝑥) 3 (𝑥 − 3) 3
1 1
−4.09385 × + 3.05193 × + (6.4 + 4.09385 × ) (4 − 𝑥) + (4 − 3.05193 × ) (𝑥 − 3), 3≤𝑥≤4
6 6 6 6
(5 − 𝑥) 3 (𝑥 − 4) 3 1 1
3.05193 × − 0.91386 × + (4 − 3.05193 × ) (5 − 𝑥) + (2.8 + 0.91386 × ) (𝑥 − 4), 4≤𝑥≤5
6 6 6 6
(6 − 𝑥)3 (𝑥 − 5)3 1 1
−0.91386 × + 1.80351 × + (2.8 + 0.91386 × ) (6 − 𝑥) + (1.8 − 1.80351 × ) (𝑥 − 5), 5≤𝑥≤6
6 6 6 6
(7 − 𝑥)3 (𝑥 − 6)3 1 1
𝑆(𝑥) = 1.80351 × − 0.30017 × + (1.8 − 1.80351 × ) (7 − 𝑥) + (1.8 + 0.30017 × ) (𝑥 − 6), 6≤𝑥≤7
6 6 6 6
(8 − 𝑥) 3 (𝑥 − 7) 3
1 1
−0.30017 × + 1.19717 × + (1.8 + 0.30017 × ) (8 − 𝑥) + (2.1 − 1.19717 × ) (𝑥 − 7), 7≤𝑥≤8
6 6 6 6
(9 − 𝑥) 3 (𝑥 − 8) 3
1 1
1.19717 × + 0.31147 × + (2.1 − 1.19717 × ) (9 − 𝑥) + (3.2 − 0.31147 × ) (𝑥 − 8), 8≤𝑥≤9
6 6 6 6
(10 − 𝑥) 3 (𝑥 − 9) 3
1 1
0.31147 × − 0.04306 × + (3.2 − 0.31147 × ) (10 − 𝑥) + (4.7 + 0.04306 × ) (𝑥 − 9), 9 ≤ 𝑥 ≤ 10
6 6 6 6
(11 − 𝑥) 3 (𝑥 − 10) 3
1 1
−0.04306 × − 0.13924 × + (4.7 + 0.04306 × ) (11 − 𝑥) + (6.2 + 0.13924 × ) (𝑥 − 10), 10 ≤ 𝑥 ≤ 11
6 6 6 6
(12 − 𝑥)3 1
{ −0.13924 × + (6.2 + 0.13924 × ) (12 − 𝑥) + 7.6 × (𝑥 − 11), 11 ≤ 𝑥 ≤ 12
6 6

13
Figura 8:. Representação gráfica das funções evaporação, 𝒑 e S no intervalo dado.

Alínea b)
A aproximação que nos parece mais aceitável é o spline cúbico natural pois vai
mantendo a aproximação ao longo de todo o intervalo a aproximar, enquanto o
polinómio interpolador apresenta valores às vezes muito distantes dos ideais. Esta
discrepância de resultados pode dever-se ao facto de nos valores no polinómio, ao usar
as diferenças divididas recorrermos à recursão, acumulando desta forma erros,
aumentando-os o que leva a uma aproximação menos eficaz.

14
Conclusão
Através da realização deste trabalho pudemos aprender mais sobre os métodos
de interpolação polinomial e aproximação numérica de funções e ter uma visão mais
clara de como funcionam na prática. Por exemplo, como podem ser usados para estudar
fenómenos do nosso dia a dia como os níveis de evaporação da água tal como foi
apresentado no exercício 2. Para além disso, este trabalho mostrou-nos que em
diferentes situações há métodos mais eficientes do que outros, ou seja, em que o erro é
menor e, portanto, conduzem-nos a uma melhor aproximação da função em estudo.

Em suma, esperamos ter aprofundado e melhorado os nossos conhecimentos


sobre os tópicos abordados e ter superado todos os desafios que este trabalho nos propôs

15
Bibliografia
• https://moodle.up.pt/pluginfile.php/130589/mod_resource/content/1/slides89_13
6.pdf

16

Você também pode gostar