Sei sulla pagina 1di 13

PROJETO DE

CLCULO
NUMRICO

UNIVERSIDADE FEDERAL DE PERNAMBUCO


TURMA T8
FERNANDA RODRIGUES DE FREITAS
CAROLINE FERREIRA LEAL
CARO JOSIAS FERREIRA PAIVA
VITOR BUARQUE VALENA

INTRODUO
O problema proposto achar a melhor funo que se ajusta aos pontos
dados. O ajustamento dever ser solucionado pelo mtodo dos mnimos
quadrados e para resoluo do sistema de equaes ser utilizado o mtodo
da decomposio LU.
A funo de ajustamento P (X) dever ser formada pela combinao de 10
funes listadas a seguir, cada uma com uma letra correspondente:

Sen (x) - a
Cos (x) - b
Ln (x) c
ex - d
X5 - e
X4 - f
X3 - g
X2 - h
X-i
1-j

Dever ser criado um programa em C com os dados de entrada fornecidos


em um arquivo entrada.txt e ter a seguinte estrutura:
Exemplo de arquivo (entrada.txt)
2 (nmero de casos)
7 (nmero de pontos)
1, 3.0; 2, 4.5; 3, 4.6; 4, 4.9; 5, 3.6; 6, 7.0; 7, 5.8 (x i, f (xi))
3 (nmero de funes)
a+g+h (funes utilizadas representadas por suas letras correspondentes)
4
1, 1; 2, 4; 3, 6; 5, 10
2
i+c
A resoluo de cada caso dever ser mostrada no arquivo de sada sada.txt
com os valores dos coeficientes de cada caso como no exemplo a seguir:
Caso 1:
2.606, -0.09966, 0.7869
Caso 2:
1.1078, 2.6550

METODOLOGIA

MTODO DOS MNIMOS QUADRADOS (MMC)


O mtodo dos mnimos quadrados tem como objetivo achar o melhor ajuste
para um conjunto de pontos atravs de uma funo que passe nos pontos ou
pelo menos prximo deles. A ideia bsica tentar descobrir os valores dos
coeficientes fazendo com que a soma do quadrado das distncias de funo
at o ponto dado seja a menor possvel.
montado um sistema de equaes do tipo:
m

k=0

i =0

i =0

ak g k ( x i ) g j ( x i )= f ( x i ) g j (x i)

Com j= 0, 1, 2, ..., m.

MTODO DA DECOMPOSIO LU
O mtodo da decomposio LU um dos vrios mtodos utilizados na
computao cientfica para solucionar sistemas de equaes lineares.
A compreenso desta metodologia requer o prvio conhecimento sobre o
mtodo de eliminao de Gauss, o qual consiste em transformar um sistema
Ax = b em Tx = c, onde T uma matriz triangular, tornando, portanto, trivial a
determinao da soluo x procurada. Tal mtodo equivalente a uma
decomposio da matriz A no produto de duas matrizes triangulares L e U, ou
seja, A = LU, onde L uma matriz triangular inferior e U uma matriz triangular
superior.
Com isso, transforma-se Ax = b em LUx = b, facilmente resolvido atravs de
Ly = b e Ux = y.
Para um melhor entendimento, iremos explicitar o algoritmo utilizado na
resoluo de um sistema genrico Ax = b, onde A = LU, assim, LUx = b.
Admitindo o sistema de equaes lineares: Ly = b, e, como dito
anteriormente, L uma matriz triangular inferior. {Usaremos o exemplo de uma
matriz 3x3}

l11 0
0
l 21 l 22 0
l 31 l 32 l 33

[]
y1
y2
y3

b 1/l11

Podemos observar que y1 =

[]
b1
b2
b3

e obtemos seu valor de imediato.

Aps isso temos l21 y1 + l22 y2 = b2


y2 =

(b 2l 21 y 1)/l22

Mas y1 j conhecido, ento pode-se obter o valor de y2. Desta maneira, y3


e eventuais yn podem ser calculados sucessivamente.
Admitamos agora o sistema de equaes lineares: Ux = y, onde U uma
matriz diagonal superior. {Mesmo exemplo de uma matriz 3x3}

1 u 12 u 13
0 1 u 23
0 0
1

[]
x1
x2
x3

[]
y1
y2
y3

Da mesma maneira anterior, porm iniciando da ltima linha da matriz, temos:


x3 = y3
x2 = y3

u23 x3

E assim por diante, at acharmos a soluo do sistema inicial Ax = b.


GAMA DE EXEMPLOS
Exemplo 1:
f ( x )=x 5 + x 4 + x 3+ x2 + x
Tabela de pontos:
x

f ( x)

-1.5

-1

-0.75

0.5

-5.15625

-1

-0.68445

0.96875

Caso 1
Entrada
4
-1, -1; 0.5, 0.96875; 1, 5; -0.75, -0.68445;
5
e+f+g+h+i

Sada
2.49880, 1.75060, -1.24880, 0.24940, 1.75000

f ( x )=2.49880 x 5+ 1.75060 x 4 1.24880 x 3 +0.24940 x 2+ 1.75000 x

Caso 2:
Entrada
5
-1, -1; 0.5, 0.96875; 1, 5; -0.75, -0.68445; -1.5, -5.15625;
5
e+f+g+h+i

Sada
1.50119, 1.50120, 0.12292, 0.49880, 1.37589

f ( x )=1.50119 x 5 +1.50120 x 4+ 0.12292 x 3 +0.49880 x 2+1.37589 x

Grfico das funes :

Tabela de erros ( e i = aiai |)


i

ai

ai

ai

e i

e i

1
2
3
4
5

1
1
1
1
1

2.49880
1.75060
-1.24880
0.24940
1.75000

1.50119
1.50120
0.12292
0.49880
1.37589

1.4988
0.7506
2.2488
0.87708
0.75

0.50119
0.5012
0.87708
0.5012
0.37589

Podemos ver pelo grfico que o Caso 2 que usou mais pontos chegou
prximo da funo. Com isso a utilizao de mais pontos levaria a um resutado
mais preciso.

Exemplo 2
F ( x )=sen ( x ) +cos ( x ) 1
Tabela de pontos:
x

1.5707

3.1415

4.7122

f ( x)

-2

-2

Entrada
4
0, 0; 1.5707, 0; 3.1415, -2; 4.7122, -2;
3
a+b+j

Sada
0.99986, 1.00005, -1.00000
F ( x )=0.99986 sen ( x ) +1. 00005 cos ( x )1.00000

Com os pontos da tabela possvel achar a os coeficientes da funo


Exemplo 3:
F ( x )=x

Tabela de pontos:
x

-2

f ( x)

-8

27

Entrada
3
0, 0; 3, 27; -2, -8;
4
a+d+g+i

Sada
0.00000, 0.00000, 1.00000, -0.00000

F ( x )=0.00000 sen ( x ) +0.00000 e x +1.00000 x 30.00000

Com esse exemplo vemos que o programa escolheu a melhor funo que
satisfaz os pontos mesmo tento outras funes na entrada.

Exemplo 4:
f ( x )=0.2 sen ( x ) +2.5 e

Tabela de pontos:
x
f ( x)

-3.5

0.5

-10

0.00533

1.61221

2.5

6.62741

-0.10869

Caso 1
Entrada
5
-3.5, 0.00533; 0.5, 1.61221; 0, 2.5; 1, 6.62741; -10, -0.10869
2
a+d

Sada
-0.45099, 2.21153
f ( x )=0.45099 sen ( x ) +2.21153 e x

Caso 2:
Entrada
5
-3.5, 0.00533; 0.5, 1.61221; 0, 2.5; 1, 6.62741; -10, -0.10869
2
a+d

Sada
-0.30190, 2.71008
f ( x )=0.30190 sen ( x ) +2.17008 e

Grfico das funes

1
2

ai

-0.2
2.5

Tabela de erros: ( e i = aiai |)

ai

ai

ei

ei

-0.45099
2.21153

-0.30190
2.71008

0.25099
0.28847

0.1019
0.21008

Com os grficos e a tabela podemos concluir que os coeficientes obtidos das


so boas aproximaes.

DIFICULDADES ENFRENTADAS
A principal dificuldade enfrentada pelo grupo foi a formulao do algoritmo do
mtodo de composio LU, o qual se mostrou altamente complicado de ser
desenvolvido, pois manipular matrizes como sistemas e obter suas resolues
na linguagem computacional utilizada no uma tarefa fcil. Apesar disso,
aps muito esforo e testes, conseguimos generalizar um algoritmo eficaz.
Alm desta, outra dificuldade foi, novamente, trabalhar com a linguagem C,
pois utilizamos novas funes desta que no havamos usado no trabalho
anterior, as quais no estvamos recordados e tivemos que pedir ajuda a
amigos e recorrer at a pesquisas na web.

CONCLUSO
O problema proposto era achar uma funo que melhor se ajusta aos pontos
dados. Para isso foi usado o mtodo dos mnimos quadrados (MMQ) e para a
resoluo do sistema de equaes foi usado o mtodo da decomposio LU.
Embora no triviais, depois de aprendermos os mtodos e como resolv-los,
foi possvel, utilizando os conhecimentos de computao eletrnica, a
construo de um programa com a linguagem c que pudesse ler, armazenar e
aplicar ambos os mtodos sobre os dados e assim obter a soluo do
problema.

Potrebbero piacerti anche