universidade federal fluminense paulo maurÍcio...

127
UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO DE SOUZA MOTA MÉTODOS NUMÉRICOS, UM MODELO PRÁTICO DE ENSINO E ACOMPANHAMENTO DAS AULAS TEÓRICAS Niterói 2016

Upload: hoangthien

Post on 03-Nov-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

UNIVERSIDADE FEDERAL FLUMINENSE

PAULO MAURÍCIO DE SOUZA MOTA

MÉTODOS NUMÉRICOS, UM MODELO PRÁTICO DE ENSINO E

ACOMPANHAMENTO DAS AULAS TEÓRICAS

Niterói

2016

Page 2: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

PAULO MAURÍCIO DE SOUZA MOTA

MÉTODOS NUMÉRICOS, UM MODELO PRÁTICO DE ENSINO E

ACOMPANHAMENTO DAS AULAS TEÓRICAS

Trabalho de Conclusão de Curso subme-

tido ao Curso de Tecnologia em Siste-

mas de Computação da Universidade

Federal Fluminense como requisito par-

cial para obtenção do título de Tecnólo-

go em Sistemas de Computação.

Orientadora:

Helga Dolorico Balbi

NITERÓI

2016

Page 3: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

PAULO MAURÍCIO DE SOUZA MOTA

MÉTODOS NUMÉRICOS, UM MODELO PRÁTICO DE ENSINO E

ACOMPANHAMENTO DAS AULAS TEÓRICAS

Trabalho de Conclusão de Curso subme-

tido ao Curso de Tecnologia em Siste-

mas de Computação da Universidade

Federal Fluminense como requisito par-

cial para obtenção do título de Tecnólo-

go em Sistemas de Computação.

Niterói, 22 de dezembro de 2016.

Banca Examinadora:

_________________________________________

Profa. Helga Dolorico Balbi, MSc. – Orientadora

UFF – Universidade Federal Fluminense

_________________________________________

Profa. Yona Lopes, MSc. – Avaliadora

UFF – Universidade Federal Fluminense

Page 4: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

Ficha Catalográfica elaborada pela Biblioteca da Escola de Engenharia e Instituto de Computação da UFF

M917 Mota, Paulo Maurício de Souza

Métodos numéricos : um modelo prático de ensino e

acompanhamento das aulas teóricas / Paulo Maurício de Souza

Mota. – Niterói, RJ : [s.n.], 2016.

126 f.

Projeto Final (Tecnólogo em Sistemas de Computação) –

Universidade Federal Fluminense, 2016.

Orientadora: Helga Dolorico Balbi.

1. Aplicação web. 2. Recurso didático. 3. Metodologia do

ensino. 4. Método numérico. I. Título.

CDD 005.3

Page 5: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

Dedico este trabalho a minha estimada famí-

lia.

Page 6: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

AGRADECIMENTOS

A Deus, que sempre iluminou e direcionou

meus passos.

À minha Orientadora, Helga Balbi, pelo estí-

mulo, dicas e atenção que me concedeu du-

rante o desenvolvimento deste trabalho.

Ao professor Marco Antônio, com quem esse

trabalho foi iniciado.

Aos Colegas de curso pelo incentivo e troca

de experiências.

A todos os meus familiares e amigos pelo

apoio e colaboração.

Page 7: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

“Ninguém pode voltar atrás e fazer um novo

começo. Mas qualquer um pode recomeçar

e fazer um novo fim”.

Chico Xavier

Page 8: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

RESUMO

Os cursos de ciências exatas são compostos, em sua maioria, por disciplinas de ba-se matemática. Muitas dessas disciplinas requerem horas de estudos até que seu conteúdo seja fixado. Na metodologia tradicional de ensino o professor apresenta o conteúdo no quadro, em alguns casos com o auxílio de slides, e o aluno efetua suas anotações e depois resolve exercícios de fixação em livros ou através de listas for-necidas pelo professor. Com a proliferação de recursos tecnológicos, outras mídias, diferentes daquelas utilizadas originalmente, passaram a ser empregadas como re-cursos alternativos ou complementares ao conteúdo ministrado em sala de aula. Es-te trabalho apresenta uma solução que foi construída com o intuito de utilizar recur-sos da web para criar aplicativos que poderão ser utilizados para complementar os estudos na disciplina Introdução aos Métodos Numéricos, IMN, da Universidade Fe-deral Fluminense, UFF. Foi criado um site web através do qual é possível efetuar download de notas de aulas e exercícios extras, consultar links com assuntos relaci-onados à métodos numéricos e executar aplicativos para resolução de sistemas de equações lineares, obtenção de zeros de funções, interpolação, ajustes de curvas (método dos mínimos quadrados) e integração numérica.

Palavras-chaves: metodologia tradicional de ensino, recursos tecnológicos,

recursos alternativos, site web, aplicativos, introdução aos métodos numéri-

cos, resolução de sistemas de equações lineares, zeros de funções, interpola-

ção, ajustes de curvas, integração numérica.

Page 9: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

ABSTRACT

Exact sciences courses are mostly composed of mathematics-based subjects. Many of these subjects require hours of study until their content is set. In traditional teach-ing methodology, the teacher presents the content on the board, in some cases with the help of slides, and the student makes notes and then resolves exercises in books or through lists provided by the teacher. With the proliferation of technological re-sources, other media, different from those originally used, began to be used as alter-native or complementary resources to content delivered in the classroom. This work presents a solution that was built with the initial intention of using web resources to create applications that could be used to complement the students in the discipline Introduction to the Numerical Methods (IMN) of Universidade Federal Fluminense (UFF). A website has been created through which students can download lecture notes and extra exercises, refer to links to subjects related to numerical methods, and execute applications for solving systems of linear equations, obtaining zeros of functions, interpolation, Curve fitting (least-squares method), and numerical integra-tion.

Key words: Traditional teaching methodology, technological resources, alter-

native solutions, website, applications, introduction to numerical methods,

resolution of linear equation systems, zeros of functions, interpolation, curve

fittings, numerical integration.

Page 10: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

LISTA DE ILUSTRAÇÕES

Figura 1: Representação de um ator em um DCU .................................................... 24

Figura 2: Diagrama de casos de uso do sistema ...................................................... 26

Figura 3: Página de apresentação do site ................................................................. 37

Figura 4: Sumário ...................................................................................................... 38

Figura 5: Notas de aulas ........................................................................................... 39

Figura 6: Página com listas de exercícios ................................................................. 40

Figura 7: Página de avisos ........................................................................................ 41

Figura 8: Página com os links para execução dos aplicativos................................... 42

Figura 9: Página com os links para sites externos e downloads ............................... 43

Figura 10: Página com as referências bibliográficas ................................................. 44

Figura 11: Tela inicial do aplicativo para resolução de sistemas lineares ................. 47

Figura 12: Matriz de entrada para fatoração LU ........................................................ 48

Figura 13: Obtendo a fatoração LU de uma matriz (situação inicial) ......................... 48

Figura 14: Obtendo a fatoração LU de uma matriz (escolha do pivô) ....................... 49

Figura 15: Obtendo a fatoração LU de uma matriz (troca de linhas) ......................... 50

Figura 16: Obtendo a fatoração LU de uma matriz (cálculo dos multiplicadores de

cada linha/atualização da primeira coluna de L). ............................................... 51

Figura 17: Obtendo a fatoração LU de uma matriz (efetuando operações sobre as

linhas da matriz) ................................................................................................. 52

Figura 18: Obtendo a fatoração LU de uma matriz (configuração ao final da

simulação) .......................................................................................................... 53

Figura 19: Zeros de funções: área para exibição do aplicativo ................................. 54

Figura 20: zero de funções - método da bissecção ................................................... 55

Figura 21: Zero de funções - método da bissecção .................................................. 56

Figura 22: Zero de funções - Iteração do método da bissecção................................ 57

Figura 23: zero de funções - método da bissecção (resultado final) ......................... 58

Figura 24: zero de funções - método da falta posição (resultado final) ..................... 59

Figura 25: Zero de funções (método de Newton-Raphson) ...................................... 60

Page 11: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

Figura 26: Zero de funções (método de Newton-Raphson), após 1 iteração ............ 61

Figura 27: Zero de funções (método de Neuton-Raphson) convergindo para a

solução ............................................................................................................... 62

Figura 28: Zero de funções (método de Newton-Raphson) - solução final ............... 63

Figura 29: Interpolação: área para interação com o aplicativo .................................. 64

Figura 30: Interpolação - Exemplo 1 ......................................................................... 65

Figura 31: Interpolação: Exemplo 1 - Gráfico da função interpoladora ..................... 66

Figura 32: Interpolação: Exemplo 2 - Representação gráfica dos pontos de suporte

........................................................................................................................... 67

Figura 33: Interpolação: Exemplo 2 - Gráfico do polinômio interpolador ................... 68

Figura 34: Aplicativo para ajuste de curvas (tela principal ) ...................................... 69

Figura 35: Exemplo - ajustes de curvas .................................................................... 71

Figura 36: Ajuste de curvas, polinômio grau 1 .......................................................... 72

Figura 37: Ajuste de curvas, polinômio grau 2 .......................................................... 73

Figura 38: Ajuste de curvas, polinômio grau 3 .......................................................... 73

Figura 39: Ajuste de curvas, polinômio grau 4 .......................................................... 74

Figura 40: Ajuste de curvas, polinômio grau 5 .......................................................... 74

Figura 41: Ajuste de curvas, polinômio grau 6 .......................................................... 75

Figura 42: Integração numérica - área para interação com o applet ......................... 76

Figura 43: Regra dos Trapézios (uma partição) ........................................................ 77

Figura 44: Regra dos Trapézios (duas partições) ..................................................... 78

Figura 45: Regra dos Trapézios (quatro partições) ................................................... 78

Figura 46: Regra dos Trapézios (oito partições) ....................................................... 79

Figura 47: Regra dos Trapézios (dezesseis partições) ............................................. 79

Figura 48: Regra dos Trapézios (trinta e duas partições) ......................................... 80

Figura 49: Regra de Simpson (uma partição)............................................................ 81

Figura 50: Regra de Simpson (2 partições) ............................................................... 81

Figura 51: Regra de Simpson (4 partições) ............................................................... 82

Figura 52: Regra de Simpson (8 partições) ............................................................... 82

Figura 53: Regra de Simpson (16 partições) ............................................................. 83

Figura 54: Regra de Simpson (32 partições) ............................................................. 83

Page 12: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

LISTA DE TABELAS

Tabela 1: Interpolação: Exemplo 2 - Pontos de suporte. ........................................... 67

Tabela 2: Ajuste de Curvas: Exemplo 1 - Pontos de suporte. ................................... 70

Tabela 3: Tabela com valores da função f(x). .......................................................... 100

Tabela 4: Tabela com valores da função f(x) a cada iteração do Método da Bisseção.

......................................................................................................................... 103

Tabela 5: Tabela com valores da função f(x) a cada iteração do Método da Falsa

Posição. ........................................................................................................... 105

Tabela 6: Valores da função f(x) que será utilizada como exemplo de aplicação do

método de interpolação. ................................................................................... 123

Page 13: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

LISTA DE GRÁFICOS

Gráfico 1: Representação dos zeros de uma função f(x) .......................................... 98

Gráfico 2: Divisão dos intervalos de uma função .................................................... 102

Gráfico 3: Intervalos para cada iteração utilizada para o Método da Bisseção ....... 102

Gráfico 4: Iterações do Método da Falsa Posição ................................................... 104

Gráfico 5: Intervalos para cada iteração utilizada para o Falsa Posição ................. 105

Gráfico 6: Representação gráfica da Regra dos Trapézios ..................................... 115

Gráfico 7: Contribuições elementares de cada trapézio utilizadas para o cálculo da

integral da função ............................................................................................. 118

Gráfico 8: Erro inserido pela utilização de trapézios elementares ........................... 118

Gráfico 9: Pontos para utilização na Regra de Simpson ......................................... 120

Gráfico 10: Curva que passa somente por alguns pontos de suporte ..................... 126

Gráfico 11: Erro introduzido ao se ajustar uma função f por outra função g ........... 127

Page 14: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

LISTA DE ABREVIATURAS E SIGLAS

CSS – Cascading Style Sheets

CU – Casos de Uso

DCC – Departamento de Ciências da Computação

DCU – Diagrama de Casos de Uso

JDK – Java Development Kit

IC – Instituto de Computação

IDE – Integrated Development Environment

IMN – Introdução aos Métodos Numéricos

MTI – Matriz Triangular Inferior

MTS – Matriz Triangular Superior

RFs – Requisitos Funcionais

RNFs – Requisitos Não Funcionais

TCC – Trabalho de Conclusão de Curso

UC – Use Case

UFF – Universidade Federal Fluminense

UML – Unified Modeling Language

XHTML – eXtensible Hypertext Markup Language

Page 15: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

SUMÁRIO

RESUMO 8

ABSTRACT 9

LISTA DE ILUSTRAÇÕES 10

LISTA DE TABELAS 12

LISTA DE GRÁFICOS 13

LISTA DE ABREVIATURAS E SIGLAS 14

1 INTRODUÇÃO 17

2 ANÁLISE DE REQUISITOS 19

2.1 ENVOLVIDOS NO SISTEMA ....................................................................... 20

2.2 REQUISITOS FUNCIONAIS ........................................................................ 21

2.3 REQUISITOS NÃO FUNCIONAIS ............................................................... 22

3 MODELAGEM 23

3.1 CASOS DE USO .......................................................................................... 23

3.1.1 MODELO DE CASOS DE USO ................................................................... 24

3.1.2 DIAGRAMAS DE CASOS DE USO.............................................................. 24

3.2 DESCRIÇÃO DOS CASOS DE USO ........................................................... 27

4 CONSTRUÇÃO DO SISTEMA 35

5 APRESENTAÇÃO DO SITE 36

5.1 Detalhamento das páginas ........................................................................... 37

5.2 Página Principal (Inicial) ............................................................................... 37

5.3 Sumário ........................................................................................................ 38

5.4 Notas de Aulas ............................................................................................. 39

5.5 Exercícios ..................................................................................................... 40

5.6 Informes (Aviso) ........................................................................................... 41

5.7 Aplicativos .................................................................................................... 42

5.8 Links ............................................................................................................. 43

5.9 Bibliografia ................................................................................................... 44

Page 16: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

6 APLICATIVOS IMPLEMENTADOS 45

6.1 Aplicativo: Resolução de Sistemas De Equações Lineares ......................... 46

6.2 Aplicativo: Zeros de Funções ....................................................................... 54

6.3 Aplicativo: Interpolação ................................................................................ 64

6.4 Aplicativo: Ajuste de Curvas (Método dos Mínimos Quadrados) ................. 69

6.5 Aplicativo: Integração Numérica ................................................................... 76

CONCLUSÕES E TRABALHOS FUTUROS 84

REFERÊNCIAS BIBLIOGRÁFICAS 86

ANEXO A – RESOLUÇÃO DE SISTEMAS LINEARES ......................................... 88

A1 - Eliminação de Gauss ............................................................................... 89

A2 - Fatoração LU ............................................................................................ 94

ANEXO B - ZEROS DE FUNÇÕES ....................................................................... 98

B1 - Introdução ................................................................................................. 98

B2 - Isolamento dos zeros – Aproximação inicial ....................................... 100

B3 - Critério de parada ................................................................................... 101

B4 - Método da Bisseção (Método de Quebra) ............................................ 101

B5 - Método da Falsa Posição ....................................................................... 103

B6 - Método do Ponto Fixo (Método Iterativo Linear) ................................. 106

B7 - Método de Newton-Raphson ................................................................. 109

ANEXO C - INTEGRAÇÃO NUMÉRICA .............................................................. 112

C1 - Ordem de uma regra e integração ........................................................ 113

C2 - Regra de Newton-Cotes ......................................................................... 113

C3 - Regra dos Trapézios .............................................................................. 115

C4 - Regra de Simpson .................................................................................. 119

C5 - Observações Finais ................................................................................ 121

ANEXO D – INTERPOLAÇÃO ............................................................................. 122

D1 - Interpolação polinomial ......................................................................... 122

D2 - Forma de Newton ................................................................................... 125

ANEXO E - AJUSTE DE CURVAS - MÉTODO DOS MÍNIMOS QUADRADOS .. 126

Page 17: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

17

1 INTRODUÇÃO

A dinâmica das aulas ministradas em universidades costuma seguir o

mesmo ritual: o professor apresenta o conteúdo teórico, eventualmente acompanha-

do de um ou mais exemplos e os alunos efetuam as suas anotações. Em muitos ca-

sos não existe uma participação mais efetiva da classe que passa a maior parte do

período da aula assistindo à explanação do professor e anotando informações. Per-

cebe-se a carência de uma maior interação dos alunos durante o processo de ensi-

no.

Esses métodos de ensino tradicionais, baseados em quadro negro e aulas

dialogadas, podem tornar o ensino um processo bastante cansativo e desmotivar os

alunos, causando dificuldades e falhas na assimilação do conteúdo. Neste sentido, o

uso da informática constitui uma alternativa bastante interessante aos métodos tradi-

cionais supracitados. O uso do computador pode servir tanto para continuar transmi-

tindo a informação para o aluno quanto para criar condições para este construir seu

conhecimento por meio da criação de ambientes de aprendizagem que facilitam o

desenvolvimento dos conteúdos.

Neste trabalho de conclusão de curso foi construído um site web que dis-

põe de material complementar ao que é apresentado em sala de aula e que propicia

ao aluno uma maior interatividade no processo de aprendizagem. Foram construídos

e disponibilizados, no site, aplicativos para resolução de sistemas de equações line-

ares, obtenção de zeros de funções, interpolação de funções, ajuste de curvas (pelo

método dos mínimos quadrados) e o cálculo de integrais numéricas. Os aplicativos

são de fácil entendimento e permitem aos alunos exercitarem de forma interativa o

conteúdo aprendido em sala de aula. O site pode ser acessado através do link

http://www2.ic.uff.br/~mamsr/html/index.html.

Foi escolhida como modelo a disciplina Introdução aos Métodos Numéri-

cos (IMN) que faz parte da grade do curso de Ciências da Computação da UFF. No

Page 18: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

18

entanto, este trabalho pode ser aproveitado por alunos de outras disciplinas que re-

queiram o entendimento dos assuntos que são apresentados.

A motivação para este trabalho surgiu justamente da percepção da falta de

material que pudesse complementar as aulas da disciplina IMN. Esta é uma discipli-

na muito importante na área de Computação e é utilizada na resolução de vários

problemas, por exemplo, na previsão meteorológica, justificando, assim, o esforço na

implementação de mecanismos que facilitem o seu aprendizado.

Este trabalho está dividido em cinco capítulos, além do presente capítulo in-

trodutório. No Capítulo 2 são apresentados os requisitos do sistema. A modelagem

do sistema é detalhada no Capítulo 3. No capítulo 4 é feita uma breve abordagem

sobre como o trabalho foi construído e as ferramentas utilizadas. No capítulo 5 é rea-

lizada a descrição do site web que foi construído, mostrando os resultados obtidos.

No capítulo 6 é realizada a descrição dos aplicativos e apresentação de resultados

obtidos em testes de uso dos mesmos. Ao final, no Capítulo 7, são apresentadas as

conclusões do trabalho e sugestões de melhorias para trabalhos futuros.

No anexo, é apresentada a teoria necessária para o entendimento dos aplica-

tivos que foram construídos neste trabalho.

Page 19: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

19

2 ANÁLISE DE REQUISITOS

A análise de requisitos resulta na especificação de características operaci-

onais do software, indica a interface deste com outros elementos e estabelece restri-

ções que este deve atender [1]. O foco primário está em determinar o que deve ser

feito. Os detalhes de como fazer não são abordados na etapa de análise. São espe-

cificadas as interações entre o usuário e o sistema, quais objetos o software manipu-

la, as funções que o sistema deve executar, quais comportamentos este apresenta.

São definidas as interfaces e quais restrições se aplicam. Durante a análise de re-

quisitos, um estudo das características que o aplicativo deverá ter para atender às

necessidades e expectativas deste Trabalho de Conclusão de Curso, TCC será rea-

lizado.

Como características determinantes, os aplicativos implementados neste

TCC deveriam possuir um forte apelo gráfico e propiciar um alto nível de interação

com o aluno que o estivesse utilizando. A interatividade é essencial para uma clara

compreensão da matéria e converte a aprendizagem em uma agradável tarefa. Mais

especificamente nos casos de educação, interatividade (assim como nas tecnologias

de informática e Internet) significa interferir, modificar o que está sendo objeto de

aprendizagem [2].

Outro requisito importante é que os alunos deveriam ter acesso fácil aos

aplicativos que fossem construídos. Pensando nisso, chegou-se à conclusão de que

a melhor opção seria disponibilizá-los em páginas web. Com a inclusão desta exe-

cução de programas online o aluno dispõe de mais uma alternativa para entender o

funcionamento de cada algoritmo que é ministrado em sala de aula.

Nas próximas seções são descritos os usuários envolvidos no sistema, os

requisitos funcionais e os requisitos não funcionais.

Page 20: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

20

2.1 ENVOLVIDOS NO SISTEMA

As partes interessadas são pessoas ou organizações (por exemplo, clien-

tes, patrocinadores, organização executora ou o público) ativamente envolvidas em

um projeto ou cujos interesses podem ser positiva ou negativamente afetados pela

execução ou término do projeto [3]. Também podem ser referenciadas como

stakeholders, expressão com origem na língua inglesa, composta pelos termos

stake, que significa interessa, e holder, que significa possuidor. No âmbito da Enge-

nharia de Software, são todos os usuários que tenham algum interesse no sistema,

que afetam ou são afetados por seu resultado.

Usuários são todos aqueles que usam o sistema com algum objetivo [4].

Este termo pode indicar apenas os usuários finais, ou seja, aqueles que realmente

utilizam o sistema de acordo com o objetivo para o qual este foi projetado ou, em um

sentido mais abrangente, aqueles que possuem alguma interação mínima com o

software como os desenvolvedores ou os administradores do sistema.

Neste projeto foram identificadas as seguintes partes interessadas:

Administrador do sistema: pessoa responsável por manter o site web

em funcionamento.

Professor: será o responsável por incluir e atualizar as notas de aulas

e as listas de exercícios no site. Também será responsável pela atuali-

zação das páginas de informes e pela inclusão de links com assuntos

relacionados ao assunto métodos numéricos.

Aluno: será a parte interessada que irá executar os aplicativos que fo-

ram disponibilizados no site. Também poderá utilizar o sistema para

efetuar download das notas de aulas, das listas de exercícios e, tam-

bém, consultar os informes e a página de links com assuntos relacio-

nados ao curso.

Page 21: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

21

2.2 REQUISITOS FUNCIONAIS

Os requisitos funcionais, RFs, descrevem as funcionalidades requeridas

pelo sistema. Em outras palavras, indicam as ações que os usuários esperam que o

sistema os permita fazer [4]. Neste projeto foram identificados os seguintes requisi-

tos funcionais:

O sistema deverá permitir o envio de e-mails.

O sistema deverá permitir a inclusão de notas de aulas.

O sistema deverá permitir a exclusão de notas de aulas.

O sistema deverá permitir o download de notas de aulas.

O sistema deverá permitir a inclusão de listas de exercícios.

O sistema deverá permitir a exclusão de listas de exercícios.

O sistema deverá permitir o download de listas de exercícios.

O sistema deverá emitir informes sobre a disciplina.

O sistema deverá efetuar o cálculo de sistemas de equações lineares.

O sistema deverá efetuar o cálculo de zeros de funções.

O sistema deverá efetuar a interpolação de funções.

O sistema deverá efetuar o ajuste de curvas

O sistema deverá efetuar o cálculo de integrais

Page 22: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

22

2.3 REQUISITOS NÃO FUNCIONAIS

Os requisitos não funcionais, RNFs, indicam a forma como os RFs devem

ser alcançados. Definem propriedades e restrições do sistema [4]. São requisitos

gerais que fazem parte do desenvolvimento do software como custo, performance,

confiabilidade, portabilidade, custos operacionais, entre outros. Neste projeto foram

identificados os seguintes requisitos não funcionais:

O sistema deverá ser executado em um navegador web habilitado pa-

ra Java [5].

Java deverá ser a linguagem de desenvolvimento dos aplicativos.

As páginas que compõe o site deverão seguir o mesmo modelo defini-

do em um arquivo css, Cascading Style Sheets [6].

Ao executar um aplicativo, o aluno poderá optar por valores de entrada

pré-definidos, ou ainda, informar novos valores de entrada.

A entrada de dados poderá ser feita com a utilização de um mouse ou

pelo teclado.

O sistema deverá ter uma interface amigável e ser de fácil usabilidade.

Durante a execução dos aplicativos o aluno poderá interagir com o sis-

tema.

O sistema deverá permitir que o aluno aumente ou diminua a escala

dos gráficos que são exibidos.

Page 23: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

23

3 MODELAGEM

Os modelos são criados de forma a proverem uma melhor compreensão

do que será efetivamente construído [1]. Devem ser capazes de representar as in-

formações que o software transforma, a arquitetura e as funções que possibilitam a

transformação, as características que os usuários desejam e o comportamento do

sistema à medida que a transformação ocorre, cumprindo esses objetivos em dife-

rentes níveis de abstração.

Abstração é o processo mental de separar um ou mais elementos de uma

totalidade complexa de forma a facilitar a sua compreensão por meio de um modelo,

eliminando (ou subtraindo) o resto [4].

O modelo de requisitos descreve o software do ponto de vista do cliente.

O modelo de projetos descreve o software em um nível mais técnico que vem a aju-

dar os desenvolvedores no processo de construção.

Ao longo das últimas décadas surgiram diversos métodos de modelagem,

cada um contemplando características próprias. Neste trabalho de conclusão de cur-

so, foi utilizada a UML, Unified Modeling Language [7], linguagem através da qual

foram construídos os diagramas de casos de uso e a descrição dos casos de uso

que são apresentados na sequência.

3.1 CASOS DE USO

Um caso de uso (do inglês use case), UC, é a especificação de uma se-

quência de interações entre o sistema e os agentes externos que o utilizam. Repre-

senta quem faz o quê com o sistema sem considerar o comportamento interno deste

[8].

Page 24: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

24

3.1.1 MODELO DE CASOS DE USO

O modelo de casos de uso é uma representação das funcionalidades ex-

ternamente observáveis do sistema e dos elementos externos ao sistema que inte-

ragem com ele [7]. Em outras palavras, ele molda os requisitos funcionais do siste-

ma. É composto de casos de uso, de atores e de relacionamentos entre estes. Con-

sidera-se como ator, qualquer elemento externo que interage com o sistema. Neste

trabalho foi utilizado o diagrama de casos de uso da UML para efetuar a modelagem

dos casos de uso.

3.1.2 DIAGRAMAS DE CASOS DE USO

O diagrama de casos de uso, DCU, corresponde a uma visão externa do

sistema e representa graficamente os atores, casos de uso e relacionamentos entre

esses elementos. Tem o objetivo de ilustrar, em alto nível, quais elementos externos

interagem com que funcionalidades do sistema [4].

A notação utilizada para ilustrar atores em um DCU, conforme observado

na Figura 1, consiste de um boneco com o nome do ator definido abaixo deste.

Ator

Figura 1: Representação de um ator em um DCU

Page 25: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

25

Cada UC é representado por uma elipse. Seu nome é posicionado abaixo

ou dentro da elipse. Em um DCU um ator pode estar relacionado à vários casos de

uso. A Figura 2 ilustra o diagrama de casos de uso do sistema.

Optou-se por não representar no diagrama, mas, todas as ações efetua-

das pelos alunos também poderão ser realizadas pelos outros atores que, no mo-

mento em que realizarem tais ações, estarão representando o papel de aluno.

Page 26: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

26

Aluno

Enviar e-mail

Efetuar download

de notas

de aulas

Efetuar dowanload

de lista de

exercícios

Emitir informes

Calcular sistema

de

Equações

Lineares

Efetuar o cálculo

dos zeros de

uma função

Efetuar

interpolação

de funções

Efetuar o ajuste

de curvas

Efetuar o cálculo

de integrais

Figura 2: Diagrama de casos de uso do sistema

Page 27: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

27

3.2 DESCRIÇÃO DOS CASOS DE USO

Cada UC deve ser definido através de uma descrição narrativa das intera-

ções que ocorrem entre os elementos externos e o sistema.

O grau de detalhamento utilizado na descrição de um UC pode variar. Um

UC sucinto descreve as interações sem muitos detalhes. Um UC expandido possui

uma maior riqueza de detalhes em sua descrição [7]. Para este projeto, os UC serão

descritos a seguir.

Caso de uso - Enviar e-mail.

Objetivo: Permitir o envio de e-mails.

Atores: Aluno.

Pré-requisito: A página do site deve estar carregada no navegador web.

Cenário principal:

1. O ator seleciona a opção “Página Inicial” no menu do site.

2. A página principal do site é exibida.

3. O ator posiciona o cursor do mouse sobre o destinatário do e-mail.

4. O sistema muda a cor do endereço de e-mail do destinatário para destacar que

este foi selecionado.

5. O ator efetua um clique com o mouse sobre o endereço de e-mail do destinatário.

6. O sistema carrega o aplicativo padrão de envio de e-mail.

7. O ator preenche os dados do e-mail.

8. O ator efetua um clique no botão “Enviar”.

9. O e-mail é enviado.

10. O aplicativo de envio de e-mail é fechado.

11. O caso de uso é encerrado.

Page 28: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

28

Caso de uso – Efetuar download de notas de aulas.

Objetivo: Permitir o download das notas de aulas.

Atores: Aluno.

Pré-requisito: A página do site deve estar carregada no navegador web.

Cenário principal:

1. O ator seleciona a opção “Notas de Aula” no menu do site.

2. A página com as notas de aulas é exibida.

3. O ator posiciona o cursor do mouse sobre a nota de aula desejada.

4. O sistema muda a cor da nota de aula desejada para destacar que esta foi sele-

cionada.

5. O ator efetua um clique com o mouse sobre o nome da nota de aula.

6. O sistema inicia o download da nota de aula.

7. O download é finalizado.

8. O caso de uso é encerrado.

Caso de uso – Efetuar download de lista de exercícios.

Objetivo: Permitir o download de listas de exercícios.

Atores: Aluno.

Pré-requisito: A página do site deve estar carregada no navegador web.

Cenário principal:

1. O ator seleciona a opção “Exercícios” no menu do site.

2. A página com as listas de exercícios é exibida.

3. O ator posiciona o cursor do mouse sobre a lista de exercícios desejada.

4. O sistema muda a cor do nome da lista de exercícios para destacar que esta foi

selecionada.

5. O ator efetua um clique com o mouse sobre o nome da lista de exercícios.

6. O sistema inicia o download da lista.

7. O download é finalizado.

8. O caso de uso é encerrado.

Page 29: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

29

Caso de uso – Emitir informes.

Objetivo: Permitir o a emissão de informes sobre a disciplina.

Atores: Aluno.

Pré-requisito: A página do site deve estar carregada no navegador web.

Cenário principal:

1. O ator seleciona a opção “Informes” no menu do site.

2. A página com os informes sobre a disciplina é exibida.

3. O caso de uso é encerrado.

Caso de uso – Calcular sistemas de equações lineares.

Objetivo: Permitir a resolução de sistemas de equações lineares.

Atores: Aluno.

Pré-requisito: A página do site deve estar carregada no navegador web.

Cenário principal:

1. O ator seleciona a opção “Aplicativos” no menu do site.

2. A página de aplicativos é exibida.

3. O sistema exibe a lista de aplicativos disponíveis.

4. O ator seleciona a opção 1: Resolução de Sistemas Lineares.

5. O aplicativo para resolução de sistemas lineares é carregado na página.

6. O ator escolhe a dimensão da matriz.

7. O ator escolhe o formato de exibição dos valores numéricos (números decimais

ou notação científica).

8. O sistema exibe as opções de entrada de dados:

8.1 Entrada pelo teclado.

8.2 Exemplo pré-definido.

8.3 Exemplo aleatório.

9. O ator escolhe o tipo de entrada de dados [A1].

10. Os valores de entrada são exibidos na tela.

Page 30: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

30

11. Até que a fatoração da matriz de entrada esteja finalizada o ator deverá clicar

sucessivamente no botão “próximo”.

12. O sistema exibe a matriz de entrada fatorada.

13. O caso de uso é encerrado.

Fluxos Alternativos

A1 O ator escolher entrar com os dados pelo teclado.[B1]

1. O ator digita todos os dados de entrada.

2. O fluxo retorna ao passo 10 do cenário principal.

B1 O ator escolhe a opção de exemplo pré-definido.[C1]

1. O sistema carrega um exemplo pré-definido.

2. O fluxo retorna ao passo 10 do cenário principal.

C1 O ator escolhe a opção de geração de exemplo aleatório.

1. O sistema gera os dados de entrada de forma aleatória.

2. O fluxo retorna ao passo 10 do cenário principal.

Caso de uso – Efetuar o cálculo dos zeros de uma função.

Objetivo: Permitir o cálculo dos zeros de uma função.

Atores: Aluno.

Pré-requisito: A página do site deve estar carregada no navegador web.

Cenário principal:

1. O ator seleciona a opção “Aplicativos” no menu do site.

2. A página de aplicativos é exibida.

3. O sistema exibe a lista de aplicativos disponíveis.

4. O ator seleciona a opção 2: Zeros de Funções.

5. O aplicativo para obtenção dos zeros de funções é carregado na página.

6. O ator escolhe a função a ser estudada.

7. O ator informa o intervalo inicial no eixo x (campo editável)

8. O ator informa o intervalo final no eixo x (campo editável)

Page 31: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

31

9. O ator informa o intervalo inicial no eixo y (campo editável)

10. O ator informa o intervalo final no eixo y (campo editável)

11. O ator informa a quantidade de subdivisões no eixo x (campo editável).

12. O ator informa a quantidade de subdivisões no eixo y (campo editável).

13. O ator escolhe o método que será utilizado para obtenção dos zeros da função.

13.1 Método da Bissecção.

13.2 Método da Falsa Posição.

13.3 Método de Newton Raphson.

14. O ator define o valor da tolerância.

15. O sistema exibe um gráfico construído a partir dos valores de entrada.

16. O ator efetua um clique no botão “Iteração”.

17. O sistema exibe uma animação à medida que vai calculando os valores interme-

diários dos zeros da função até que o valor final seja obtido.

18. O sistema exibe uma janela informando que a execução do algoritmo terminou.

Nesta são informados a quantidade de iterações realizadas pelo algoritmo e o va-

lor obtido para o zero da função

19. O caso de uso é encerrado.

Caso de uso – Efetuar interpolação de funções.

Objetivo: Permitir a realização de interpolação de funções.

Atores: Aluno.

Pré-requisito: A página do site deve estar carregada no navegador web.

Cenário principal:

1. O ator seleciona a opção “Aplicativos” no menu do site.

2. A página de aplicativos é exibida.

3. O sistema exibe a lista de aplicativos disponíveis.

4. O ator seleciona a opção 3: Interpolação.

5. O aplicativo para efetuar a aproximação de funções através da interpolação é

carregado na página.

6. O ator escolhe a função interpoladora.

7. O ator informa o intervalo inicial no eixo x (campo editável)

Page 32: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

32

8. O ator informa o intervalo final no eixo x (campo editável)

9. O ator informa o intervalo inicial no eixo y (campo editável)

10. O ator informa o intervalo final no eixo y (campo editável)

11. O ator informa a quantidade de subdivisões no eixo x (campo editável).

12. O ator informa a quantidade de subdivisões no eixo y (campo editável).

13. O ator informa os valores de xi (campo editável)

14. O sistema calcula os valores de f(xi).

15. O sistema exibe um gráfico construído a partir dos valores de entrada.

16. O ator efetua um clique no botão “Interpolar”.

17. O sistema exibe o gráfico gerado a partir da interpolação da função.

18. O caso de uso é encerrado.

Caso de uso – Efetuar o ajuste de curvas.

Objetivo: Permitir a realização do ajuste de curvas através do método dos mínimos

quadrados.

Atores: Aluno.

Pré-requisito: A página do site deve estar carregada no navegador web.

Cenário principal:

1. O ator seleciona a opção “Aplicativos” no menu do site.

2. A página de aplicativos é exibida.

3. O sistema exibe a lista de aplicativos disponíveis.

4. O ator seleciona a opção 4: Método dos Mínimos Quadrados.

5. O aplicativo para efetuar o ajuste de curvas é carregado na página.

6. O ator informa o intervalo inicial no eixo x (campo editável)

7. O ator informa o intervalo final no eixo x (campo editável)

8. O ator informa o intervalo inicial no eixo y (campo editável)

9. O ator informa o intervalo final no eixo y (campo editável)

10. O ator informa a quantidade de subdivisões no eixo x (campo editável).

11. O ator informa a quantidade de subdivisões no eixo y (campo editável).

12. O ator informa os valores de xi (campo editável)

13. O ator informa os valores de f(xi) (campo editável).

Page 33: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

33

14. O sistema plota no gráfico os pontos de entrada informador pelo ator e exibe um

gráfico construído a partir dos valores de entrada.

15. O ator informa o grau do polinômio (campo editável).

16. O ator efetua um clique no botão “Ajustar”.

17. O sistema valida o grau do polinômio. [A1]

18. O sistema exibe no gráfico a curva ajustada.

19. O caso de uso é encerrado.

Fluxos Alternativos

A1 O sistema não valida o grau do polinômio.

3. O sistema emite mensagem indicando que o grau do polinômio informado não

é válido.

4. O caso de uso é encerrado.

Caso de uso – Efetuar o cálculo de Integrais.

Objetivo: Permitir a realização da interpretação geométrica dos métodos utilizados

para efetuar o cálculo de integrais definidas.

Atores: Aluno.

Pré-requisito: A página do site deve estar carregada no navegador web.

Cenário principal:

1. O ator seleciona a opção “Aplicativos” no menu do site.

2. A página de aplicativos é exibida.

3. O sistema exibe a lista de aplicativos disponíveis.

4. O ator seleciona a opção 5: Integração Numérica.

5. O aplicativo para efetuar cálculo de integrais é carregado na página.

6. O ator escolhe a função.

7. O ator informa o intervalo inicial no eixo x (campo editável)

8. O ator informa o intervalo final no eixo x (campo editável)

9. O ator informa o intervalo inicial no eixo y (campo editável)

10. O ator informa o intervalo final no eixo y (campo editável)

11. O ator informa a quantidade de subdivisões no eixo x (campo editável).

12. O ator informa a quantidade de subdivisões no eixo y (campo editável).

Page 34: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

34

13. O ator escolhe o método a ser utilizado no cálculo da integral.

14. O ator informa o limite inferior (campo editável).

15. O ator informa o limite superior (campo editável).

16. O ator informa o número de partições (campo editável).

17. O sistema efetua o cálculo da integral.

18. O ator efetua um clique no botão “Plotar partições”.

19. O sistema exibe o gráfico com as partições que foram definidas pelo ator.

20. O caso de uso é encerrado.

No capítulo seguinte é realizada uma breve descrição dos recursos utili-

zados na implementação dos aplicativos deste TCC.

Page 35: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

35

4 CONSTRUÇÃO DO SISTEMA

Na implementação dos aplicativos desse projeto foi utilizada a linguagem

de programação Java [5]. Dentre as razões para esta escolha podem ser destacadas

a gratuidade da linguagem, sua independência de plataforma e a vasta biblioteca

com recursos para construir programas a serem incorporados em páginas web. Em

adição, Java possui sintaxe similar às linguagens C [9] e C++ [10], que são familia-

res aos alunos que constituem o público alvo deste trabalho.

Optou-se pela construção de applets que são programas executados no

navegador web. A escolha se deve ao fato de os applets propiciarem excelente am-

biente de interatividade com o usuário e, uma vez carregados no navegador, apre-

sentarem um excelente tempo de resposta [11].

Os applets foram compilados na versão 1.6 do JDK (Java Development

Kit) [12]. Para editar os códigos fontes foram utilizados o IDE (Integrated Deve-

lopment Environment) NetBeans [13] e o editor de textos UltraEdit [14].

Na confecção das páginas do site foram utilizadas a linguagem de marca-

ção XHTML (eXtensible Hypertext Markup Language) [15] e a linguagem de estilo

CSS (Cascading Style Sheets) [6]. Para que fosse possível a inclusão de recursos

que adicionassem algum dinamismo às páginas, foi utilizada a linguagem de scripts

Javascript [2]. A escolha desta é consequência do fato de ser a única, dentre as

pesquisadas, que executava do lado do cliente, ou seja, no navegador.

O principal editor de textos utilizado na construção dos arquivos xhtml foi o

Dreamweaver [16], pois este software apresenta muitos recursos que facilitam a cri-

ação e atualização de páginas web.

Page 36: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

36

5 APRESENTAÇÃO DO SITE

O site que foi construído possui as seguintes páginas cujos conteúdos se-

rão detalhados no decorrer deste capítulo:

Página Inicial

Página de Sumário

Página de Notas de Aula

Página de Exercícios

Página de Informes

Página de Aplicativos

Página de Links

Página de Bibliografia

Para que os arquivos que compõe o site ficassem melhor organizados,

estes foram distribuídos em pastas de acordo com suas respectivas funcionalidades.

Foram criadas as pastas public_html, class, css, html, img, script e to_download

A hierarquia de diretórios tem início com a pasta public_html, que pode

ser considerada como a pasta raiz do site. As demais pastas foram criadas como

subpastas da pasta raiz.

Em class são armazenados todos os arquivos de classe Java que são in-

vocados nas chamadas de cada um dos applets. Em css ficam armazenados os ar-

quivos de estilo que definem a formatação e aparência das páginas que compõem o

site. A pasta html é bem intuitiva. Nesta constam os arquivos de extensão html que

constituem as páginas do site. Em img foram armazenadas todas as figuras. A pasta

script foi criada com a finalidade de armazenar todos os arquivos com os scripts que

são invocados nas páginas. Por fim, na pasta to_download são armazenados os ar-

quivos que estarão disponíveis para download.

Page 37: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

37

5.1 DETALHAMENTO DAS PÁGINAS

Nesta seção é realizado o detalhamento das páginas web que compõe o

site. Todas possuem, como características em comum, um cabeçalho contendo os

logotipos do IC da UFF. Existe um menu, logo abaixo do topo, através do qual po-

dem ser invocadas cada uma das páginas do site. No lado esquerdo há links para a

página principal da UFF (http://www.uff.br/) e para a página do IC

(http://www.ic.uff.br/), respectivamente.

5.2 PÁGINA PRINCIPAL (INICIAL)

Esta é a página de apresentação, Figura 3, na qual são informados os

objetivos e a motivação para construção do site. Possui link para o envio de e-mails

para o responsável pela construção da página e para o professor orientador do pro-

jeto, através dos quais poderão ser postadas críticas, sugestões e/ou dúvidas.

Figura 3: Página de apresentação do site

Page 38: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

38

5.3 SUMÁRIO

A Figura 4 exibe a página de sumário. Esta possui a relação do conteúdo

que normalmente é ministrado em um curso regular de IMN.

Figura 4: Sumário

Page 39: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

39

5.4 NOTAS DE AULAS

Esta página, Figura 5, possui links para o download de arquivos com as

notas de aulas da disciplina IMN.

A critério do professor, podem ser disponibilizados materiais teóricos adi-

cionais com assuntos relacionados à disciplina.

Figura 5: Notas de aulas

Page 40: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

40

5.5 EXERCÍCIOS

A Figura 6 ilustra a página onde são disponibilizadas listas de exercícios

que os alunos poderão resolver com o intuito de melhor fixar o conteúdo

teórico da disciplina.

Figura 6: Página com listas de exercícios

Page 41: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

41

5.6 INFORMES (AVISO)

Na página de informes, conforme mostra a Figura 7, são postadas as

mensagens informativas com assuntos relacionados à disciplina IMN.

Figura 7: Página de avisos

Page 42: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

42

5.7 APLICATIVOS

Nesta página, ilustrada pela Figura 8 são disponibilizados os links para os

aplicativos que foram implementados neste TCC. Os links disponíveis são: 1. Reso-

lução de Sistemas Lineares, 2. Zeros de Funções, 3.Interpolação, 4.Método dos Mí-

nimos Quadrados, 5. Integração Numérica. Ao acessar um link é aberta uma nova

página onde será carregado o applet escolhido.

Figura 8: Página com os links para execução dos aplicativos

Page 43: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

43

5.8 LINKS

Esta página, ilustrada pela Figura 9, deverá ser continuamente alimentada

pelo professor de IMN. Nesta serão disponibilizados links para outros sites relacio-

nados ao assunto Cálculo Numérico.

Figura 9: Página com os links para sites externos e downloads

Page 44: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

44

5.9 BIBLIOGRAFIA

A Figura 10 representa a página onde constam algumas referências bibli-

ográficas que foram utilizadas durante o desenvolvimento do projeto e que podem

servir como fonte complementar de consulta para os alunos do curso de IMN.

Figura 10: Página com as referências bibliográficas

Page 45: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

45

6 APLICATIVOS IMPLEMENTADOS

O objetivo principal deste TCC foi a construção de aplicativos que pudes-

sem servir como ferramentas de apoio e complemento ao conteúdo visto em sala de

aula. Os aplicativos foram disponibilizados na página do Professor Marco Antônio

Monteiro Silva Ramos [17], do Departamento de Ciências da Computação (DCC),

em http://www.ic.uff.br/~mamsr/html/aplicativos.html.

Foram implementadas aplicações para os seguintes assuntos de métodos

numéricos:

Resolução de Sistemas de Equações Lineares

Zeros de Funções

Interpolação

Ajuste de Curvas (Método dos Mínimos Quadrados)

Integração Numérica

Buscou-se, na implementação, utilizar recursos que demonstrassem deta-

lhada e graficamente a resolução dos problemas supracitados e que possibilitassem

aos alunos interagir com os aplicativos. Dessa forma, o aluno pode exercitar, a qual-

quer tempo e de forma mais ativa, os conhecimentos teóricos absorvidos em sala de

aula.

Nas seções seguintes são apresentados os aplicativos que foram desen-

volvidos no projeto.

Page 46: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

46

6.1 APLICATIVO: RESOLUÇÃO DE SISTEMAS DE EQUAÇÕES LINEARES

Este aplicativo realiza a fatoração LU de uma matriz utilizando o método

de eliminação de Gauss com pivoteamento. O detalhamento teórico necessário para

um melhor entendimento do assunto pode ser verificado no [ANEXO A – RESOLU-

ÇÃO DE SISTEMAS LINEARES].

No aplicativo, são realizadas sucessivas operações sobre as linhas de

uma matriz original A até que esta seja transformada em uma matriz triangular supe-

rior (MTS). Ao final do método, são mostradas em destaque as matrizes L e U obti-

das.

No início da execução o aluno deve escolher a dimensão da matriz a ser

representada. As opções disponíveis são: 𝟐 × 𝟐, 𝟑 × 𝟑 e 𝟒 × 𝟒. O passo seguinte é

definir se o exemplo a ser resolvido será gerado de forma aleatória pelo aplicativo ou

se será um dos exemplos pré-definidos, extraídos das notas de aula de IMN. A op-

ção referente à entrada a partir do teclado está indisponível e fica como sugestão de

melhoria para trabalhos futuros a implementação desta funcionalidade.

Após definir a dimensão e os valores da matriz de entrada o usuário pode-

rá interagir com o aplicativo selecionando, em sequência, uma das opções: Selecio-

nar pivot, Trocar linhas, Calcular multiplicadores, Efetuar operações sobre as

linhas ou, ainda, selecionando seguidamente a opção PRÓXIMO no painel de en-

trada de dados. Para selecionar estas opções basta efetuar um clique simples com o

mouse sobre o rótulo que representa cada uma delas.

A qualquer momento o aluno pode optar por reinicializar ou, simplesmen-

te, encerrar uma simulação que esteja em andamento, bastando para isso efetuar

um clique no botão correspondente à opção desejada. A Figura 11 exibe a tela inicial

do applet tão logo este é carregado na página.

Page 47: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

47

Figura 11: Tela inicial do aplicativo para resolução de sistemas lineares

No painel à direita estão os botões utilizados para efetuar a interação com

o aplicativo, as opções para escolha das dimensões da matriz de entrada, do forma-

to de exibição dos valores numéricos e o frame com os rótulos que indicam a ação a

ser seguida durante a execução do applet. O retângulo branco do lado esquerdo

funciona como uma espécie de tela de saída e é atualizado a cada passo de execu-

ção do aplicativo. Nele serão exibidas as matrizes do sistema, o elemento pivô em

cada passo da iteração, as operações a serem realizadas sobre as linhas das matri-

zes durante a fatoração LU e demais mensagens geradas pelo applet.

A seguir é apresentado um exemplo da obtenção da fatoração LU de uma

matriz.

Page 48: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

48

A matriz A da Figura 12 foi gerada a partir da escolha da opção de dimen-

são 4x4 no applet e do clique no botão de rótulo Exemplo pré-definido.

A =

Figura 12: Matriz de entrada para fatoração LU

A Figura 13 ilustra a situação inicial do aplicativo após a escolha dos da-

dos de entrada.

Figura 13: Obtendo a fatoração LU de uma matriz (situação inicial)

No painel de saída são impressos, no topo, os valores dos elementos da

matriz A e, logo abaixo, as matrizes L e U. Pode ser observado que as matrizes L e

U possuem alguns valores preenchidos e outros indefinidos, representados por um

ponto de interrogação na cor vermelha os quais deverão ser calculados durante a

4930

3222

1514

0412

Page 49: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

49

execução do applet. Como a matriz U é uma matriz triangular superior (MTS) o apli-

cativo já preenche os elementos abaixo da diagonal principal com o valor 0 (zero).

Na matriz L, que é uma matriz triangular inferior (MTI), os elementos acima da dia-

gonal principal também são preenchidos com 0. Em adição, nesta matriz, os valores

na diagonal principal são iguais a 1 (um).

Neste ponto da execução, o aplicativo fica em modo de espera até que

seja feita a escolha do pivô. A seta em negrito, indica a coluna da matriz A, onde o

pivô está presente. Na estratégia de pivoteamento parcial, o pivô escolhido deve ser

o elemento de maior valor absoluto (no exemplo, o melhor candidato aparece em

destaque na cor amarela) mas o aplicativo permite que o usuário escolha qualquer

elemento não nulo da coluna; para isto basta efetuar um clique sobre o valor deseja-

do.

No exemplo, o pivô escolhido foi o elemento A2,1 (linha 2, coluna 1) cujo

módulo é 4. Conforme pode ser observado na figura Figura 14, o valor selecionado

mudou para a cor vermelha.

Figura 14: Obtendo a fatoração LU de uma matriz (escolha do pivô)

Page 50: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

50

O pivô natural da primeira coluna seria o elemento A1,1, porém, o pivô es-

colhido foi o elemento A2,1. Neste caso, o aplicativo irá efetuar uma conveniente tro-

ca entre as linhas 1 e 2 da matriz A para continuar o processo de eliminação.

Após a troca, conforme exibido na Figura 15, são impressas as combina-

ções lineares que deverão ser realizadas sobre as linhas da matriz A de forma a ze-

rar os elementos abaixo da diagonal principal na coluna do pivô.

Figura 15: Obtendo a fatoração LU de uma matriz (troca de linhas)

Uma vez que a partir deste passo não será necessária mais nenhuma

operação sobre a linha 1 da matriz A, a linha equivalente da matriz U foi atualizada

com os coeficientes de A.

Page 51: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

51

No passo seguinte, os elementos na primeira coluna da matriz L abaixo

da diagonal principal são atualizados, conforme exibido na Figura 16.

Figura 16: Obtendo a fatoração LU de uma matriz (cálculo dos multiplicadores de cada li-

nha/atualização da primeira coluna de L).

Page 52: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

52

Na sequência, o aplicativo efetua as operações sobre as linhas da matriz

A, finalizando o primeiro laço de iteração do método de eliminação. Conforme ilus-

trado na Figura 17, os elementos da primeira coluna de A, abaixo da diagonal princi-

pal, foram zerados. Adicionalmente, a seta em negrito foi movida para a segunda

coluna e a opção em destaque no painel de entrada passou a ser “Selecionar pivô”.

Figura 17: Obtendo a fatoração LU de uma matriz (efetuando operações sobre as linhas da matriz)

Page 53: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

53

A partir deste ponto, a sequência de instruções do método é repetida até

que a matriz A esteja completamente triangularizada e as matrizes L e U preenchi-

das. A Figura 18 ilustra a configuração final das matrizes ao término da simulação.

Para evitar redundância, a sequência intermediária de passos executados até a ob-

tenção da configuração final das matrizes não será exibido, ficando a critério do leitor

executar a aplicação por completo a partir do site web [18].

Figura 18: Obtendo a fatoração LU de uma matriz (configuração ao final da simulação)

Page 54: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

54

6.2 APLICATIVO: ZEROS DE FUNÇÕES

Este aplicativo [19], cuja teoria para este assunto está detalhada no

[ANEXO B - ZEROS DE FUNÇÕES], ilustra, graficamente, os passos executados na

obtenção dos zeros de uma função f(x) através da utilização dos métodos numéricos

abaixo:

Método da Bissecção

Método da Falsa Posição

Método de Newton-Raphson

A Figura 19 exibe o aplicativo carregado na página.

Figura 19: Zeros de funções: área para exibição do aplicativo

Uma linha vertical separa a área de entrada de dados da área de exibição

dos gráficos. Do lado esquerdo desta são fornecidos os dados de entrada. Nesta

área, deverão ser escolhidos a função para a qual se deseja encontrar as raízes, o

Page 55: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

55

método a ser utilizado (Bissecção, Falsa Posição ou Newton Raphson), os valores

de a e b que definem o intervalo inicial e o valor da tolerância que será utilizada na

definição do critério de parada do método escolhido. Neste lado da tela também são

exibidos os valores de f(a) e f(b) em cada passo da execução do aplicativo assim

como o número de iterações realizadas e a solução do problema.

No lado direito é apresentada a solução gráfica. Na parte inferior estão os

botões utilizados para enviar os comandos para o applet.

No exemplo a seguir, o objetivo é obter os zeros da função f(x) = x3 – 10,

utilizando o método da bissecção. Após uma análise preliminar do gráfico exibido na

Figura 20, verifica-se que existe um zero no intervalo [-1, 3].

Figura 20: zero de funções - método da bissecção

Page 56: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

56

No início do processo o intervalo inicial deve ser dividido em dois subin-

tervalos iguais, no caso [-1, 1] e [1, 3]. É fácil verificar que o intervalo que possui o

zero da função é aquele delimitado pelos valores 1 e 3. Com isso, o primeiro interva-

lo é descartado e passa-se a trabalhar com a certeza de que o zero da função está

no segundo intervalo, conforme ilustrado na Figura 21.

Figura 21: Zero de funções - método da bissecção

Page 57: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

57

Seguindo a mesma lógica, o intervalo [1, 3], obtido no passo anterior, ago-

ra será dividido nos subintervalos [1, 2] e [2, 3]. Com o auxílio do gráfico observa-se

que o zero da função estará no segundo intervalo. A Figura 22 ilustra a situação par-

cial após a execução de mais um passo de algoritmo.

Figura 22: Zero de funções - Iteração do método da bissecção

Page 58: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

58

Após 13 iterações do algoritmo, o resultado final é obtido e exibido na te-

la, conforme ilustrado na Figura 23.

Figura 23: zero de funções - método da bissecção (resultado final)

Page 59: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

59

Ao utilizar o método da falsa posição, o mesmo exemplo é resolvido em

11 iterações do algoritmo. A Figura 24 exibe a tela com resultado final.

Figura 24: zero de funções - método da falta posição (resultado final)

Page 60: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

60

O exemplo seguinte ilustra o cálculo dos zeros da mesma função anterior,

f(x) = x3 – 10, através do método de Newton-Raphson.

Foi tomado como ponto de partida o ponto x0 = 3. O valor de f(x) neste

ponto, 17, está representado no gráfico da Figura 25.

Figura 25: Zero de funções (método de Newton-Raphson)

Page 61: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

61

Após a primeira iteração, na Figura 26 é observado que a nova aproxima-

ção x1 já se aproximou bastante do zero da função f, sobretudo se comparado ao

valor de x0.

Figura 26: Zero de funções (método de Newton-Raphson), após 1 iteração

Page 62: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

62

Ao término da segunda iteração, na Figura 27 observa-se que a aproxi-

mação gerada já converge para a solução do problema.

Figura 27: Zero de funções (método de Neuton-Raphson) convergindo para a solução

Page 63: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

63

Após mais duas iterações o algoritmo chega ao fim. O resultado obtido ao

término da execução é ilustrado na Figura 28.

Figura 28: Zero de funções (método de Newton-Raphson) - solução final

Através da análise comparativa dos exemplos observa-se que o Método

de Newton-Raphson possui uma convergência muito mais rápida do que aquela ob-

servada nos métodos de quebra.

Page 64: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

64

6.3 APLICATIVO: INTERPOLAÇÃO

Neste tópico será explicado o funcionamento do applet criado para estu-

dar a interpolação de funções [20] cuja teoria é introduzida no [ANEXO D – INTER-

POLAÇÃO].

A Figura 29 exibe o aplicativo carregado na página.

Figura 29: Interpolação: área para interação com o aplicativo

No lado esquerdo, abaixo do rótulo Função, há uma lista a partir da qual

poderá ser escolhida uma das funções disponíveis para simulação. Logo abaixo,

estão os campos onde deverão ser preenchidos os valores que definem os interva-

los das coordenadas x e y do gráfico que será exibido. É possível o preenchimento

de até dez pares de valores [x, f(x)] que serão plotados na tela e serão utilizados na

geração do gráfico da função de aproximação. A área reservada para exibição o grá-

fico fica no lado direito do aplicativo. Na parte inferior estão os botões que são usa-

dos para enviar os comandos para o applet.

Page 65: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

65

O funcionamento deste aplicativo é bem simples e pode ser ilustrado pe-

los exemplos que se seguem.

No primeiro (Figura 30), foi selecionada para simulação a função f(x) = x2

- 3. Após a escolha da função desejada, o aplicativo calcula o valor de f(x) nos 4

pontos selecionados e, em seguida, traça o gráfico da função na área reservada pa-

ra esta finalidade, destacando os pontos que foram previamente calculados.

Figura 30: Interpolação - Exemplo 1

Após a escolha da função e do cálculo do valor de f(x) nos quatro pontos

iniciais, é possível informar novos pontos, limitados à quantidade máxima de dez.

Neste caso, o sistema irá calcular o valor da função f(x) no(s) ponto(s) informado(s)

e, se o check box correspondente ao novo ponto for marcado, este será plotado no

gráfico da função.

Outra maneira de informar os novos pontos de entrada é clicando com o

mouse em qualquer região do gráfico. Neste caso, o sistema efetua automaticamen-

te o cálculo de f(x) no ponto em questão e, em seguida, este é representado no grá-

fico.

Page 66: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

66

Ao final da escolha dos pontos desejados, deve ser realizado um clique

no botão “Interpolar” de forma que o gráfico da função de interpolação seja traçado.

No exemplo, Figura 31, observa-se que o gráfico da função de interpolação coincide

com o gráfico da função f(x) = x2 – 3, selecionada no início da simulação.

Figura 31: Interpolação: Exemplo 1 - Gráfico da função interpoladora

Page 67: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

67

O problema geral de interpolação pode ser melhor ilustrado por intermédio

do exemplo a seguir, no qual nenhuma função de entrada foi selecionada.

Ao invés disso, foram fornecidos somente os valores de pontos de suporte

que auxiliaram na obtenção do polinômio interpolador, conforme a

Tabela 1.

Tabela 1: Interpolação: Exemplo 2 - Pontos de suporte.

x -1 0 2

f(x) 4 1 -1

A Figura 32 exibe os pontos de suporte já plotados no gráfico do aplicati-

vo.

Figura 32: Interpolação: Exemplo 2 - Representação gráfica dos pontos de suporte

Page 68: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

68

Conforme destacado na descrição teórica do assunto interpolação, o poli-

nômio interpolador possui grau menor ou igual à quantidade de pontos de suporte

informados -1. No exemplo, o grau do polinômio deve ser menor ou igual a 2, visto

que a quantidade de pontos de entrada foi 3. Desta forma a expressão do polinômio

interpolador é do tipo p(x) = a0 + a1x + a2x2.

Após fornecer os pontos de entrada e clicar no botão Interpolar, o aplica-

tivo traça o gráfico da função de interpolação que, como pode ser verificado na Figu-

ra 33, trata-se de uma parábola a qual representa uma função de segundo grau,

conforme esperado.

Figura 33: Interpolação: Exemplo 2 - Gráfico do polinômio interpolador

Page 69: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

69

6.4 APLICATIVO: AJUSTE DE CURVAS (MÉTODO DOS MÍNIMOS QUADRA-

DOS)

De forma a ilustrar mais esta funcionalidade de cálculo numérico cuja teo-

ria pode ser verificada em [ANEXO E - AJUSTE DE CURVAS - MÉTODO DOS MÍ-

NIMOS QUADRADOS], foi desenvolvido um aplicativo [21] cujo objetivo é traçar o

gráfico da função de aproximação obtida a partir de um conjunto de pontos de entra-

da. Na Figura 34 é exibido o applet carregado na página.

Figura 34: Aplicativo para ajuste de curvas (tela principal )

Os valores dos intervalos a serem representados nos eixos x e y do gráfi-

co devem ser preenchidos nas caixas de texto. Também poderão ser informadas as

quantidades de subdivisões que determinam o espaçamento entre os pontos em

cada eixo do gráfico. Em adição, deverão ser fornecidos os valores dos pontos de

suporte utilizados no cálculo da função de aproximação.

Page 70: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

70

As Check boxes são utilizadas para indicar se um determinado ponto de

suporte será representado no gráfico. Caixas de texto também são necessárias para

preenchimento do valor do grau do polinômio utilizado no cálculo da função de apro-

ximação. Os botões para interação com o aplicativo ficam na parte inferior da tela.

O exemplo a seguir ilustra o uso do aplicativo. Deseja-se ajustar uma li-

nha reta aos pontos de suporte representados na Tabela 2, abaixo.

Tabela 2: Ajuste de Curvas: Exemplo 1 - Pontos de suporte.

x f(x)

0 4,1

1 6,5

2 9,0

7 13,2

8 17,1

10 20,1

Page 71: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

71

O funcionamento do aplicativo é muito simples. Inicialmente deve-se pre-

encher os valores dos pontos de suporte e, em seguida, clicar nas check boxs para

que os pontos fornecidos sejam representados no gráfico, conforme ilustrado na Fi-

gura 35.

Figura 35: Exemplo - ajustes de curvas

Page 72: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

72

Na sequência deve-se fornecer o grau do polinômio. No exemplo, como

deve-se ajustar os pontos de suporte por uma reta, o grau do polinômio é igual a 1.

Uma vez que os dados de entrada tenham sido fornecidos, deve-se clicar no botão

Ajustar de forma que a curva da função de aproximação seja desenhada no gráfico,

conforme exibido na Figura 36.

Figura 36: Ajuste de curvas, polinômio grau 1

Conforme esperado, a curva da função de aproximação é uma reta e esta

não contém todos os pontos de suporte.

Page 73: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

73

Complementando o exemplo anterior, nas Figura 37 a Figura 41 observa-

se os mesmos pontos de suporte ajustados por polinômios cujos graus variam de 2

até 6.

Figura 37: Ajuste de curvas, polinômio grau 2

Figura 38: Ajuste de curvas, polinômio grau 3

Page 74: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

74

Figura 39: Ajuste de curvas, polinômio grau 4

Figura 40: Ajuste de curvas, polinômio grau 5

Page 75: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

75

Figura 41: Ajuste de curvas, polinômio grau 6

Na próxima seção, será abordado o aplicativo referente ao assunto inte-

gração numérica.

Page 76: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

76

6.5 APLICATIVO: INTEGRAÇÃO NUMÉRICA

O aplicativo implementado [22] tem por objetivo ilustrar a solução gráfica

obtida no cálculo da integral de uma função 𝑓(𝑥) em um intervalo finito [a, b], ou se-

ja, exibir a solução gráfica de ∫ 𝑓(𝑥)𝑑𝑥𝑏

𝑎. O detalhamento teórico para este assunto

pode ser verificado em [ANEXO C - INTEGRAÇÃO NUMÉRICA].

A Figura 42 exibe o applet carregado na página.

Figura 42: Integração numérica - área para interação com o applet

O aplicativo permite a realização do cálculo de integrais através da Regra

dos Trapézios e da Regra de Simpson. Durante sua execução, poderá ser selecio-

nada a função f(x) para a qual se deseja calcular o valor da integral. Em adição, po-

derão ser informados os valores do intervalo [a, b] e a quantidade de subintervalos.

Page 77: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

77

O exemplo a seguir ilustra o funcionamento do aplicativo no cálculo da in-

tegral da função f(x) = sin x, utilizando a regra dos Trapézios. Na Figura 43 é exibi-

do o gráfico da função para valores de x no intervalo [-3.14, 3.14].

Figura 43: Regra dos Trapézios (uma partição)

Conforme abordado na seção introdutória, a integral é a área sob a curva.

Ao utilizar somente um trapézio para aproximar seu valor, erros significativos podem

ser cometidos. Após a aplicação do método, observa-se que o valor calculado para a

integral está bem distante do que deveria ser. A área sob a curva é quase impercep-

tível.

Page 78: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

78

Com a utilização de duas partições, verificamos na Figura 44 que o valor

calculado para a integral ainda está bem distante do resultado correto.

Figura 44: Regra dos Trapézios (duas partições)

Com o aumento do número de partições, já é possível observar uma me-

lhor aproximação para o cálculo da integral, conforme ilustrado na Figura 45.

Figura 45: Regra dos Trapézios (quatro partições)

Page 79: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

79

Na Figura 46, com a utilização de 8 partições, observa-se uma maior con-

vergência para o resultado final.

Figura 46: Regra dos Trapézios (oito partições)

Na Figura 47, com o auxílio de 16 partições, verifica-se que a margem de

erro no cálculo da integral é ainda menor.

Figura 47: Regra dos Trapézios (dezesseis partições)

Page 80: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

80

Por fim, foi realizada uma simulação do método utilizando 32 partições.

Como pode ser observado na Figura 48, a área sob a curva está totalmente preen-

chida, indicando que cálculo da integral foi efetuado corretamente.

Figura 48: Regra dos Trapézios (trinta e duas partições)

Em continuidade à utilização do aplicativo, foi realizada uma simulação do

cálculo da integral da mesma função do exemplo anterior, 𝑓(𝑥) = sin 𝑥. A diferença

é que, na resolução deste novo exemplo, foi utilizada regra de Simpson.

Conforme pode ser observado nos gráficos apresentados nas figuras

(Figura 49, Figura 50, Figura 51, Figura 52, Figura 53 e Figura 54), com a utilização

desta regra é possível a obtenção, de forma mais rápida, de um valor aproximado

para a integral da função.

Page 81: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

81

Figura 49: Regra de Simpson (uma partição)

Figura 50: Regra de Simpson (2 partições)

Page 82: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

82

Figura 51: Regra de Simpson (4 partições)

Figura 52: Regra de Simpson (8 partições)

Page 83: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

83

Figura 53: Regra de Simpson (16 partições)

Figura 54: Regra de Simpson (32 partições)

Através da utilização repetida do applet, verificou-se que, tanto na regra

dos trapézios quanto na regra de Simpson, o cálculo do valor da integral é sensível à

quantidade de partições utilizadas. Quanto maior o número de subintervalos, melhor

o valor da aproximação da integral de f(x).

Page 84: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

84

CONCLUSÕES E TRABALHOS FUTUROS

Este trabalho apresentou a modelagem e exemplos de testes de uso de

uma ferramenta elaborada para o auxílio do ensino e aprendizado da disciplina In-

trodução aos Métodos Numéricos. A ferramenta é composta por um site com aplica-

tivos que foram construídos para auxiliar no entendimento de métodos numéricos

utilizados na resolução de problemas clássicos, como resolução de sistemas de

equações lineares e cálculo de integrais. Através da execução dos aplicativos, os

métodos numéricos abordados puderam ser observados e interpretados no que tan-

ge à condição inicial, acompanhamento gráfico do processo iterativo e análise dos

resultados obtidos.

Um ambiente gráfico, além de servir como uma ferramenta de auxílio ao

aprendizado, possibilita ao aluno adquirir com mais facilidade a capacidade de abs-

tração e análise de resultados, agregando um conceito extremamente relevante à

sua vida acadêmica, na medida em que melhora a visão crítica do aluno sobre resul-

tados alcançados.

Através da utilização do software, não só os alunos de Ciência da Compu-

tação poderão acompanhar e ratificar seus conhecimentos no decorrer da aprendi-

zagem, mas, também, alunos de outras áreas correlatas poderão se beneficiar deste

recurso.

A partir das opiniões recebidas, acredita-se que o trabalho aqui apresen-

tado alcance seu objetivo de complementar e facilitar o aprendizado dos diversos

conceitos de Métodos Numéricos que foram abordados. É esperado que a ferramen-

ta possa, efetivamente, auxiliar o ensino presencial e à distância da disciplina IMN,

tanto para alunos de graduação como de pós-graduação.

Este trabalho não esgota os assuntos que foram abordados. Como com-

plemento às atividades que foram realizadas, fazem-se necessárias algumas ações.

Destaca-se a necessidade de atualizar o aplicativo de resolução de sistemas linea-

res de forma a habilitar a entrada de dados a partir do teclado, permitindo uma maior

interação entre o aluno e o applet.

Propõe-se, também, a integração dos módulos deste projeto a algum ou-

tro projeto de maior amplitude. Outra ação desejada é que este projeto sirva como

Page 85: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

85

modelo para novos projetos que venham a fomentar o aprendizado de outras disci-

plinas, permitindo, assim, maior agilidade no processo de ensino/aprendizagem des-

tas.

Page 86: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

86

REFERÊNCIAS BIBLIOGRÁFICAS

[1] PRESSMAN, Roger S. Engenharia de software: uma abordagem profissional,

7th Ed. Porto Alegre: AMGH, 2011.

[2] POSSARI, Lúcia Helena Vendrúsculo. Material Didático para a EaD: Processo

de Produção, 1st Ed. Cuiabá: EdUFMT, 2009.

[3] Um Guia do Conhecimento em Gerenciamento de Projetos (Guia PMBOK®),

Project Management Institute, Inc. 4th Ed. EUA.

[4] XEXÉO, Geraldo. Modelagem de Sistemas de Informação: Da análise de re-

quisitos ao modelo e interface, Versão Kindle, 2013.

[5] DEITEL, H.M. Java, como programar, 6th Ed. São Paulo: Pearson Prentice

Hall, 2005.

[6] CSS Reference [Online]. http://www.w3schools.com/cssref/

[7] BEZERRA, Eduardo. Princípio de Análise e Projeto de Sistemas com UML:

Um guia prático para modelagem de sistemas orientados a objetos através da

Linguagem de Modelagem Unificada, 3rd Ed. Editora Campus, 2015.

[8] LARMAN, Craig. Utilizando UML e padrões: uma introdução à análise e ao

projeto orientados a objetos e ao desenvolvimento iterativo, 3rd Ed. São Pau-

lo: Pearson Prentice Hall, 2005.

[9] SCHILDT, Herbert. C, completo e total, 3rd Ed. São Paulo: Editora Makron

Books, 1996.

[10] C++ Reference. [Online]. http://en.cppreference.com/w/cpp

[11] LEMAY, Laura. Aprenda em 21 dias Java: professional reference, tradu-

ção da 3. Ed. Rio de Janeiro: Elsevier, 2003 – 3ª Reimpressão.

[12] JDK. [Online]. https://www.java.com/pt_BR/download/faq/develop.xml

[13] NetBeans IDE. [Online]. https://netbeans.org/

[14] UltraEdit. [Online]. http://www.ultraedit.com/

[15] HTML e XHTML. [Online]. http://www.w3schools.com/html/html_xhtml.asp

[16] Adobe Dreamweaver CC. [Online].

https://www.adobe.com/br/products/dreamweaver.html

Page 87: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

87

[17] RAMOS, Marco Antonio Monteiro Silva [Online].

http://www.ic.uff.br/index.php/pt/pessoas/168-docente?docente=48

[18] Aplicativo: Sistemas de Equações Lineares. [Online].

http://www2.ic.uff.br/~mamsr/html/sistemaslineares.html

[19] Aplicativo: Zeros de Funções. [Online].

http://www2.ic.uff.br/~mamsr/html/ZeroDeFuncoes.html

[20] Aplicativo: Interpolação. [Online].

http://www2.ic.uff.br/~mamsr/html/interpolacao.html

[21] Aplicativo: Ajuste de Curvas – Método dos Mínimos Quadrados. [Online].

http://www2.ic.uff.br/~mamsr/html/minimos_quadrados.html

[22] Aplicativo: Integração Numérica. [Online].

http://www2.ic.uff.br/~mamsr/html/integracao_numerica.html

[23] KOLMAN, B. Introdução à Àlgebra Linear com Aplicações, 6th Ed. Rio de

Janeiro: LTC, 1999.

[24] CLÁUDIO, Dalcídio Moraes. Cálculo numérico computacional: teoria e

prática, 2nd Ed. São Paulo: Atlas, 1994.

[25] ANTON, Howard. Cálculo – Volume I, 8th Ed. Porto Alegre: Bookman,

2007.

[26] DEITEL, H.M. Internet & World Wide Web: como programar, 2nd Ed. Por-

to Alegre: Bookman, 2003.

Page 88: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

88

ANEXO A – RESOLUÇÃO DE SISTEMAS LINEARES

Sistemas Lineares são sistemas de equações com m equações e n in-

cógnitas, formados por equações lineares. Usualmente são escritos na forma:

mnm nmm

nn

nn

bxaxaxa

bxaxaxa

bxaxaxa

2211

22222121

11212111

onde:

ija são os coeficientes ( mi 1 e nj 1 )

jx são as incógnitas ( nj 1 )

ib são os termos independentes ( mi 1 )(

O sistema linear também pode ser escrito na forma matricial:

mnmm

n

aaa

aaa

aaa

11

212221

11211

nx

x

x

2

1

=

nb

b

b

2

1

Page 89: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

89

ou na forma compacta:

Ax=b

onde:

A é matriz dos coeficientes

x é o vetor de incógnitas

b é o vetor do segundo membro (vetor dos termos independentes).

A resolução de um sistema linear consiste em calcular os valores de ,

, ,..., , caso eles existam, que satisfaçam as m equações simultaneamente.

A conceituação matemática básica, necessária para o entendimento dos

assuntos descritos neste TCC, é tratada na Álgebra Linear [23]. Este trabalho ocu-

pou-se apenas do tratamento numérico que os problemas aqui descritos requerem.

A seguir, será apresentado o método de eliminação de Gauss para reso-

lução de sistemas de equações lineares.

A1 - Eliminação de Gauss

O objetivo do processo de Eliminação de Gauss é transformar um sistema

linear Ax=b em outro sistema Ux=c, de solução mais fácil, onde a matriz U seja tri-

angular superior. Esta transformação é feita através de combinações lineares das

linhas do sistema. As operações sobre as linhas não alteram a solução original do

sistema e podem ser:

Multiplicação de uma linha por um escalar

Soma de duas linhas

Troca de duas linhas

jx

1j 2 n

Page 90: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

90

Para ilustrar, considere o sistema triangular superior exemplificado abaixo:

nnnn

nnnnnnn

nnnn

nnnn

nnnn

bxa

bxaxa

bxaxaxa

bxaxaxaxa

bxaxaxaxaxa

,

1,111,1

3311,3333

2211,2323222

1111,1313212111

Observa-se que a última equação do sistema acima só possui dependên-

cia da incógnita xn, logo, esta incógnita pode ser calculada de forma que:

nn

n

n

a

bx

Da penúltima equação, como o valor de xn já é conhecido, o valor de xn-1

pode ser definido, logo:

1,1

,1

1

nn

nnnn

n

a

xabx

Conhecendo 1n

x e n

x é possível determinar 2n

x . Dados n

x , 1n

x e 2n

x ,

calcula-se 3n

x . Repetindo esse procedimento, todas as incógnitas do sistema po-

dem ser determinadas.

Page 91: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

91

Este método é chamado retro substituição. Para representa-lo, do ponto

de vista computacional, elaboramos o seguinte algoritmo, escrito em pseudocódigo:

Para i = n, n-1, ..., 1

xi = bi

Para j = i +1,..., n

xi = xi - aijxj

xi =

O algoritmo apresentado pode ser ilustrado pela resolução do sistema de

exemplo que se segue:

44

32

3443

3

32

321

x

xx

xxx

Da terceira equação: 14

4

3x

Da segunda equação: 12

)13(

2

)3(3

2

xx

Da primeira equação 13

3

3

)14143(

3

)443(32

1

xxx

Logo, a solução do sistema é (1, 1, 1).

O próximo exemplo ilustra como transformar um sistema qualquer em um

sistema triangular superior usando combinações lineares das linhas do sistema.

ii

i

a

x

Page 92: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

92

Seja o sistema de equações lineares com 3 equações e 3 incógnitas

abaixo:

23

02

32

321

321

321

xxx

xxx

xxx

Inicialmente, obtemos a matriz aumentada, composta pelos coeficientes

das incógnitas e pelos termos independentes das equações.

2113

0112

3121

M

No passo seguinte, é efetuada a triangularização, que consiste em trans-

formar a matriz M em uma matriz triangular superior.

Tomando as linhas da seguinte forma:

1222 LLL

1333 LLL

A nova matriz M será:

11470

6330

3121

M

Page 93: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

93

Continuando o processo, tomando a linha 3 da seguinte forma:

233

3

7LLL

A nova matriz M será:

3300

6330

3121

M

Neste ponto, a retro substituição pode ser realizada da seguinte forma:

Da terceira linha, é possível se obter o valor de x3:

13

333

33 xx

Substituindo o valor de x3 na segunda linha temos:

13

366)1(33

22

xx

Na primeira linha é efetuada a substituição de x2 e x3 resultando em:

01

3331)1(2

11

xx

Logo, a solução do sistema é (0, 1, 1).

Page 94: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

94

A2 - Fatoração LU

Em muitas situações, é necessário resolver vários sistemas lineares nos

quais a matriz dos coeficientes é a mesma, mudando somente o vetor dos termos

independentes. Nesses casos, é indicado resolver o sistema linear Ax = b por uma

técnica de decomposição da matriz A. Dentre as técnicas de decomposição mais

utilizadas, destaca-se a Fatoração LU (do inglês lower e upper).

Nesta técnica, uma matriz A é decomposta como o produto de duas ma-

trizes, L e U, sendo L uma matriz triangular inferior e U, uma matriz triangular supe-

rior, isto é: A = L.U. Desta forma, o sistema Ax = b pode ser rescrito da seguinte

forma:

𝑨𝒙 = (𝑳𝑼)𝒙 = 𝒃

Fazendo-se Ux = y é possível resolver o sistema Ax = b em dois passos.

Primeiramente, resolve-se o sistema triangular inferior Ly = b, obtendo-se �̅� como

solução. Em seguida, com a solução �̅�, obtida no passo anterior, resolve-se o siste-

ma triangular superior Ux = �̅�, obtendo �̅� como solução. Em outras palavras, a reso-

lução de um sistema linear é decomposta na resolução de dois sistemas triangula-

res: o primeiro, triangular inferior, que se resolve por substituições progressivas e o

segundo, triangular superior, que se resolve por substituições retroativas.

Os fatores L e U podem ser obtidos utilizando-se a ideia básica do Méto-

do de Gauss (A1 - Eliminação de Gauss) aplicado sobre a matriz A. U é a matriz

triangular superior obtida ao final da fase de eliminação do método de Gauss e L é a

matriz triangular inferior, cujos elementos da diagonal principal são unitários e onde

abaixo de cada elemento da diagonal encontram-se, com o sinal trocado, os coefici-

entes que foram utilizados para zerar os elementos abaixo do pivô da matriz A.

Page 95: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

95

O exemplo a seguir ilustra o método.

Considere o seguinte sistema de equações lineares.

732

4

263

321

321

321

xxx

xxx

xxx

A partir das equações que compõem o sistema, obtem-se a seguinte ma-

triz aumentada:

A’ =

[ 3 1 6

1 1 1

2 1 3

2

4

7]

No processo de triangularização da matriz A’, na primeira iteração são

efetuadas as seguintes operações sobre as linhas:

122

3

1LLL

133

3

2LLL

Os multiplicadores das linhas L2 e L3, −𝟏

𝟑 e −

𝟐

𝟑, respectivamente, ambos

com os respectivos sinais trocados, farão parte da matriz L cuja configuração inicial,

após o primeiro passo iterativo, é:

L =

[ 1 0 0

𝟏

𝟑1 0

𝟐

𝟑? 1]

Page 96: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

96

A matriz A’ fica com a seguinte configuração:

A’=

3

171

3

10

3

101

3

20

2613

Dando sequência ao procedimento de triangularização de A’, tem-se que:

233

2

1LLL

Obtendo-se:

A’=

42

100

3

101

3

20

2613

Então, a decomposição LU da matriz A será:

L =

[ 1 0 0

𝟏

𝟑1 0

𝟐

𝟑

𝟏

𝟐1]

e U =

[ 3 1 6

02

3−1

0 0 −1

2]

Page 97: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

97

De forma resumida, o método de decomposição LU consiste na seguinte

sequência de passos:

(i) Obter a fatoração LU da matriz A;

(ii) Fazer Ux = y;

(iii) Resolver o sistema triangular inferior Ly = b;

(iv) Obtida a solução �̅� do sistema Ly = b, resolver o sistema triangular

superior Ux = �̅�

Page 98: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

98

ANEXO B - ZEROS DE FUNÇÕES

B1 - Introdução

Uma função f (x) pode ser representada conforme mostra o Gráfico 1.

Gráfico 1: Representação dos zeros de uma função f(x)

Neste exemplo, os zeros de f (x) são x1, x2, x3, x4 e x5.

Neste item, serão descritos métodos para encontrar os zeros de uma da-

da função f (x).

Page 99: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

99

A ideia geral dos métodos numéricos estudados é obter, a partir de uma

aproximação inicial para um zero, uma sequência de melhores aproximações atra-

vés de um processo iterativo [24]. Isto é,

ou

lim𝑥→∞

𝑥𝑖 = �̅�

Na cálculo dos zeros de uma função surgem algumas questões:

1. Como encontrar uma aproximação inicial.

2. Como interromper a produção de novas aproximações.

3. Como gerar as novas aproximações.

4. Quão rapidamente a sequência se aproxima do limite.

A seção a seguir aborda a primeira questão proposta.

zero

esaproximaçõ

xxxxx ... 4320

Page 100: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

100

B2 - Isolamento dos zeros – Aproximação inicial

A melhor maneira de se isolar um determinado zero de uma função é

construir seu gráfico, porém, construir o gráfico de uma função pode ser uma tarefa

muito difícil, tanto quanto resolver um problema de zero de funções.

Uma alternativa mais viável é a utilização do teorema [25] que indica que:

se f(x) é uma função contínua em um intervalo [a,b] e f(a).f(b) < 0 então existe pelo

menos um ponto entre a e b que é zero de f(x).

Com base neste teorema, que não será demonstrado neste trabalho, pois

a prova depende de um desenvolvimento matemático preciso do sistema de núme-

ros reais o qual está além do alcance deste TCC, pode ser construída uma tabela de

pontos com os valores da função e verificar onde existam trocas de sinal da função.

Por exemplo, seja a função 39)(3

xxxf . Para esta função, foi cons-

truída a Tabela 3.

Tabela 3: Tabela com valores da função f(x).

Com base no teorema visto, é possível dizer que existem zeros nos se-

guintes intervalos: (-5,-3); (0,1);(2;3).

Uma vez conhecidos os intervalos onde existem zeros para uma função, é

possível obter novas aproximações que convirjam para a solução que se deseja en-

contrar. Esta é a base dos métodos que serão apresentados nas seções seguintes.

Page 101: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

101

B3 - Critério de parada

Uma maneira de determinar se a sequência gerada pelo método iterativo

está convergindo é verificar se a diferença entre a aproximação e o valor exato do

zero está diminuindo. Seja xi o valor aproximado obtido na iteração i e o valor

exato do zero, é possível verificar se :

xxi

Em outras palavras, é possível verificar se a diferença supracitada é me-

nor que um valor pequeno , denominado tolerância de parada ou simplesmente

tolerância.

Na prática, como o valor exato do zero da função não é conhecido (o ob-

jetivo, na verdade, é determinar este valor), o teste acima não pode ser efetuado. Ao

invés disso, calcula-se a diferença entre duas aproximações sucessivas:

xxi

Uma vez introduzidos estes conceitos preliminares, passemos ao deta-

lhamento dos métodos usados para obtenção dos zeros de funções.

B4 - Método da Bisseção (Método de Quebra)

Seja [a,b] um intervalo que contenha um zero de uma função contínua

f(x), isto é, f(a).f(b)<0.

O objetivo do método é reduzir o tamanho do intervalo inicial que contém

o zero até que seja atingida uma precisão desejada. A redução do intervalo é con-

seguida através da divisão sucessiva ao meio do intervalo. O ponto que divide o in-

tervalo em dois subintervalos é:

x

)(

Page 102: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

102

2

bax

A divisão do intervalo define dois subintervalos, sendo que um contém o

zero e o outro não. O mesmo processo deve ser repetido sempre com o intervalo

que contém o zero, como mostra o Gráfico 2.

Gráfico 2: Divisão dos intervalos de uma função

A título de exemplo, a seguinte função pode ser considerada:

39)(3

xxxf , com e

Observando o intervalo I, é possível notar que a regra f(a).f(b)<0 é satis-

feita, portanto, existe um zero no intervalo definido.

Com o auxílio do Gráfico 3, é possível observar os valores obtidos nas

sucessivas iterações do método até que o critério de parada seja satisfeito.

Gráfico 3: Intervalos para cada iteração utilizada para o Método da Bisseção

]1,0[I 01.0

Page 103: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

103

Com o auxílio da Tabela 4 podemos verificar os valores das aproximações

que foram calculadas até a obtenção do resultado final,

Tabela 4: Tabela com valores da função f(x) a cada iteração do Método da Bisseção.

Com relação ao método da bisseção, é importante destacar as seguintes

caraterísticas:

O método sempre converge

As iterações são facilmente realizadas

A convergência é muito lenta

B5 - Método da Falsa Posição

Este também é um método de quebra. Assim como no Método da Bissec-

ção, o intervalo [a, b] que, contém um zero, é dividido em dois subintervalos, porém,

esta divisão não é mais feita pela divisão aritmética dos limites do intervalo. O ponto

divisor do intervalo nesse método é determinado pela média ponderada entre a e b

com pesos respectivamente iguais a e . Logo, este ponto é calculado

pela expressão:

0,3359375x

)(bf )( af

Page 104: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

104

)()(

)()(

)()(

)()(

afbf

abfbaf

afbf

afbbfax

O método consiste em gerar uma sequência de aproximações {xi} a partir

de um intervalo inicial que contenha um zero de f(x).

O Gráfico 4 ilustra como são realizadas as iterações nesse método.

Gráfico 4: Iterações do Método da Falsa Posição

Como exemplo, a seguinte função pode ser considerada:

39)(3

xxxf , com e

Observando o intervalo I, é possível notar que a regra f(a).f(b)<0 é satis-

feita, portanto, existe um zero no intervalo definido.

]1,0[I 0005,0

Page 105: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

105

Com o auxílio do Gráfico 5 e da Tabela 5 abaixo é possível observar os

valores obtidos nas sucessivas iterações do método até que o critério de parada seja

satisfeito.

Gráfico 5: Intervalos para cada iteração utilizada para o Falsa Posição

Tabela 5: Tabela com valores da função f(x) a cada iteração do Método da Falsa Posição.

Logo, 337635046,0x é uma boa aproximação para um zero de f(x).

Cabe destacar que o Método da Falsa Posição sempre converge e a con-

vergência é mais rápida do que no Método da Bissecção.

Page 106: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

106

B6 - Método do Ponto Fixo (Método Iterativo Linear)

O método da iteração linear é um processo iterativo que apresenta vanta-

gens e desvantagens em relação aos métodos de quebra discutidos anteriormente.

Neste método, parte-se de uma equação f(x) = 0, que é rescrita na forma

xxgxf )()( .

Esta forma de escrever f(x) é bastante útil, pois, no ponto x que corres-

ponde à raiz de f(x), isto é, no ponto onde f(x) = 0, tem-se que:

)(

0)(

0)()(

xgx

xxg

xxgxf

Em outras palavras, no ponto x que corresponde à raiz de f(x), ao substi-

tuir-se o valor de x na função g(x), tem-se como resultado o próprio valor de x. Por-

tanto, a raiz de f(x) será o ponto fixo de g(x), ou seja, o valor que, ao ser substituído

em g(x), retorna o próprio valor de x.

Por exemplo, a função 2)(2

xxxf pode ser rescrita como

xxgxxxf )(2)(2 , onde 2)(

2 xxg . Esta função tem como ponto fixo o

valor x=2, pois g(2) = 22 – 2 = 2. E esse é exatamente o valor da raiz de f(x), pois

f(2) = 22 – 2 – 2 = 0.

Page 107: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

107

A função g(x) será utilizada como função de iteração. Desta forma, a partir

de uma aproximação inicial x0, é gerada uma sequência de novas aproximações.

)(

)(

)(

)(

)(

1

34

23

12

01

iixgx

xgx

xgx

xgx

xgx

Neste método, dada uma função f(x), existem diversas funções de itera-

ção que podem ser usadas no processo. Por exemplo, a função 062

xx pode

ser reescrita como )( xgx de maneiras diferentes:

62)(

1

6)(

6)(

6)(

2

2

xxxg

xxg

xxg

xxg

Entretanto, nem sempre o método iterativo linear converge. A cada itera-

ção a solução real pode estar mais aproximada ou mais distante.

Page 108: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

108

Seguindo com o exemplo da função anterior, ao escolher-se 26)( xxg ;

5,10x , 0001,0 , o resultado será:

25,275,175,375,3)5,1(66)(01

22

001 xxxxgx

8125,110625,8)75,3(66)(12

22

112 xxxxgx

941406,50003906,59)0625,8(66)(23

22

223 xxxxgx

456994,34164609,3475)941406,50(66)(34

22

334 xxxxgx

Após análise das aproximações que foram calculadas, observamos que

estas não estão convergindo para um mesmo resultado.

Alternativamente, se a função de iteração escolhida for xxg 6)( ;

5,10x , 0001,0 , o resultado será:

62132,012132,25,166)(01001 xxxxgx

15188,096944,112132,266)(12112 xxxxgx

03819,000763,296944,166)(23223 xxxxgx

00954,099809,100763,266)(34334 xxxxgx

00239,000048,299809,166)(45445 xxxxgx

00059,099989,100048,266)(56556 xxxxgx

00014,000003,299989,166)(67667 xxxxgx

00004,099999,100003,266)(78778 xxxxgx

Page 109: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

109

Após análise, pode ser verificado que a solução converge para x=2.

Indo um pouco mais além do que os exemplos vistos, do ponto de vista

teórico a função de iteração g(x) que garante a convergência do método deve ser tal

que obedeça ao seguinte teorema [24]:

Teorema: Seja uma função f(x) contínua em um intervalo [a,b] e uma ra-

iz de f(x) contida em [a,b]. Seja g(x) uma função de iteração obtida a partir

de f(x).

A convergência será garantida se:

1) g(x) e g’(x) forem contínuas em [a,b];

2) |g’(x)| < 1 (para todo) x [a,b];

3) x0 [a,b].

B7 - Método de Newton-Raphson

Conforme verificado no item anterior, o método de iteração linear consiste

em estimar a raiz de uma função f(x) usando um processo iterativo de forma que

)(1 ii

xgx

. A função de iteração pode ser escrita na forma genérica

)()()( xfxAxxg . No caso em que x é uma raiz de )( xf , tem-se 0)( xf , ou se-

ja, )( xgx para qualquer 0)( xA .

Para haver a convergência no método, é preciso que 1)(' xg |g’(x)|<1

em um intervalo [a,b] que contém a raiz de )( xf [24].

A ideia no método de Newton-Raphson, que é um caso particular do mé-

todo iterativo linear, é escolher uma função g(x) tal que g’()=0, onde é a raiz de

Page 110: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

110

)( xf e [a,b]. Com isso, |g’(x)|<1, desde que o processo de resolução do proble-

ma não gere resultados muito afastados do valor de .

Derivando-se g(x), cuja equação é )()()( xfxAxxg , o seguinte resulta-

do é obtido:

)(')()()('1)(' xfxAxfxAxg

No caso em que g’(x) = 0, o seguinte resultado pode ser obtido:

)(')()()('10 xfxAxfxA , ou

0)(')()()('1 xfxAxfxA

Desenvolvendo a equação acima, o seguinte resultado pode ser obtido:

)('

)()(

xf

xfxxg

O Método de Newton-Raphson consiste em usar o processo iterativo

)(1 ii

xgx

e, como função de iteração, a expressão de g(x) calculada acima. Este

método pode ser interpretado como uma tentativa de garantir a convergência do mé-

todo iterativo linear. Para isso, a função de iteração deve ser escolhida de forma que

0)( xg .

De forma a ilustrar o funcionamento do método, o seguinte exemplo pode

ser considerado:

6)(2

xxxf , com 5,10x e 001,0

Para esta função, )( xg será:

12

6

12

6

)('

)()(

22

x

x

x

xxx

xf

xfxxg

Page 111: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

111

Logo:

56250,006250,215,12

65,1

12

6)(

01

2

0

2

0

01

xx

x

xxgx

06174,000076,2106250,22

606250,2

12

6)(

12

2

1

2

1

12

xx

x

xxgx

00076,000000,2100076,22

600076,2

12

6)(

23

2

2

2

2

23

xx

x

xxgx

A solução converge para 2x .

Cabe observar que, para o método de Newton-Raphson convergir, é pre-

ciso que a estimativa inicial esteja próxima da raiz de )( xf . A proximidade exigida

para a convergência vai depender de caso a caso e nem sempre é simples de de-

terminar.

Page 112: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

112

ANEXO C - INTEGRAÇÃO NUMÉRICA

Calcular integrais definidas de uma dada função real ƒ(x), ∫ 𝑓(𝑥)𝑑𝑥𝑏

𝑎, é um

problema clássico. Para alguns integrandos ƒ(x) simples, a integral indefinida

∫𝑓(𝑥)𝑑𝑥 = 𝐹(𝑥) + 𝐶, onde 𝐹′(𝑥) = 𝑓(𝑥), pode ser obtida como uma expressão em x.

Então,

∫ 𝑓(𝑥)𝑑𝑥𝑏

𝑎= 𝐹(𝑏) − 𝐹(𝑎).

No caso geral, entretanto, integrais definidas são calculadas com métodos

numéricos que aproximam a integral por somas finitas associadas a alguma partição

do intervalo de integração [a,b]. Esses métodos são chamados de integração numé-

rica ou quadratura numérica.

A forma geral das regras de integração numérica é:

∫ 𝑓(𝑥)𝑑𝑥𝑏

𝑎

≈ ∑𝜔𝑖𝑓(𝑥𝑖)

𝑃

𝑖=1

Onde:

xi são chamados pontos de integração;

ωi são chamados pesos dos pontos de integração;

p é o número de pontos de integração.

Page 113: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

113

C1 - Ordem de uma regra e integração

Chamamos de ordem de uma regra o grau do polinômio de mais alto grau

integrado exatamente pela regra de integração. Por exemplo, se uma regra integra

sem erros qualquer polinômio de quinto grau, esta regra tem ordem igual a 5.

C2 - Regra de Newton-Cotes

A aproximação das regras de Newton-Cotes consiste em substituir o inte-

grando ƒ(x) na integral por um polinômio interpolador, visto que integrar polinômios é

uma tarefa fácil. Em outras palavras, dada uma partição uniforme do intervalo de

integração, se (n + 1) pontos de uma função ƒ(x) forem conhecidos, a saber,

(x0, ƒ(x0)), (x1,ƒ(x1)),…, (xn,ƒ(xn))

ou

(xi, ƒ(xi)) i = 0,1,2,…,n

que definem um polinômio interpolador p(x), podemos ter:

∫ 𝑓(𝑥)𝑑𝑥𝑏

𝑎

≈ ∫ 𝑝(𝑥)𝑑𝑥𝑏

𝑎

Usando polinômios de diferentes graus, diferentes regras de integração

podem ser obtidas. Na forma de Lagrange, o polinômio interpolador é escrito como:

𝑝(𝑥) = ∑𝑓(𝑥𝑖)𝐿𝑖(𝑥𝑖) =

𝑛

𝑖=0

∑𝑓(𝑥𝑖) = ∏(𝑥 − 𝑥𝑗)

(𝑥𝑖 − 𝑥𝑗)

𝑛

𝑗=0,𝑗≠𝑖

𝑛

𝑖=0

Substituindo-o na integral do polinômio:

Page 114: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

114

∫ f(x)dxb

a

≈ ∫ [∑f(xi)Li(x)

n

i=0

]b

a

dx = ∑f(xi)

n

i=0

= ∫ Li(x)b

a

dx

Para simplificar a integração do polinômio interpolador, pode ser utilizada

a seguinte mudança de variável x = a + ht, onde h =b−a

n.

Tem-se, então que;

x = a + ht

𝑑𝑥 = 𝑎 + ℎ𝑡

𝑥𝑗 = 𝑎 + ℎ𝑗

𝑥𝑖 = 𝑎 + ℎ𝑖

𝑥 − 𝑥𝑗 = (𝑎 + ℎ𝑡) − (𝑎 + ℎ𝑗) = 𝑎 + ℎ𝑡 − 𝑎 − ℎ𝑗 = ℎ(𝑡 − 𝑗)

𝑥𝑖 − 𝑥𝑗 = (𝑎 + ℎ𝑖) − (𝑎 + ℎ𝑗) = 𝑎 + ℎ𝑖 − 𝑎 − ℎ𝑗 = ℎ(𝑖 − 𝑗)

𝑎 = 𝑎 + ℎ𝑡 → 𝑡 = 0

𝑏 = 𝑎 + ℎ𝑡 → 𝑡 =𝑏 − 𝑎

ℎ= 𝑛

Logo,

𝑥 − 𝑥𝑗

𝑥𝑖 − 𝑥𝑗=

ℎ(𝑡 − 𝑗)

ℎ(𝑖 − 𝑗)=

(𝑡 − 𝑗)

(𝑖 − 𝑗)

𝐿𝑖(𝑥) = ∏𝑥 − 𝑥𝑗

𝑥𝑖 − 𝑥𝑗

𝑛

𝑗=0,𝑗≠𝑖

= 𝜑𝑖(𝑡) = ∏(𝑡 − 𝑗)

(𝑖 − 𝑗)

𝑛

𝑗=0,𝑗≠𝑖

A integração do polinômio dará:

∫ 𝑝(x)dxb

a

= ∫ 𝑝(𝑥)𝑥𝑛

𝑥0

dx = ∑f(xi)

n

i=0

∫ Li(x)𝑥𝑛

𝑥0

dx

∑f(xi)

n

i=0

∫ 𝜑i(𝑡)𝑛

0

ℎ𝑑𝑡 = ℎ ∑f(xi)

n

i=0

∫ 𝜑i(𝑡)𝑛

0

𝑑𝑡 = ℎ ∑f(xi)

𝑛

𝑖=0

𝛼𝑖

Page 115: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

115

Observe que os coeficientes (ou pesos) 𝛼𝑖 = ∫ 𝜑i(𝑡)𝑛

0𝑑𝑡 dependem so-

mente de n, ou seja, não dependem da função f(x) a ser integrada, nem dos limites

de integração a e b.

C3 - Regra dos Trapézios

Esta regra é obtida quando o grau do polinômio interpolador é igual a 1

(n=1). Logo:

∫ 𝑓(𝑥)𝑑𝑥𝑏

𝑎

≈ ∫ 𝑝1(𝑥)𝑑𝑥𝑏

𝑎

= ℎ ∑𝑓(𝑥𝑖)

1

𝑖=0

𝛼𝑖 = ℎ[𝑓(𝑥0)𝛼0 + 𝑓(𝑥1)𝛼1]

onde, p1(x) é o polinômio de grau 1 que interpola ƒ(x) no intervalo [a,b].

Esta solução pode ser representada pelo Gráfico 6.

Gráfico 6: Representação gráfica da Regra dos Trapézios

Page 116: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

116

Foi visto que:

φi(t) = ∏(t−j)

(i−j)

nj=0,j≠i A

Logo,

φ0(t) = ∏(t − j)

(0 − j)

1

j=0,j≠0

=(t − 1)

(0 − 1)=

(t − 1)

−1= −(t − 1) = 1 − t

E,

φ0(t) = ∏(t − j)

(1 − j)

1

j=0,j≠1

=(t − 0)

(1 − 0)=

t

1= t

Desta forma,

𝛼0 = ∫ (1 − 𝑡)𝑑𝑡1

0

= [𝑡 −𝑡

2]0

1

=1

2

Analogamente,

𝛼1 = ∫ 𝑡𝑑𝑡1

0

= [𝑡

2]0

1

=1

2

Por fim,

∫ 𝑓(𝑥)𝑑𝑥𝑏

𝑎

≈ ℎ{𝑓(𝑥0)𝛼0 + 𝑓(𝑥1)𝛼1} = ℎ {𝑓(𝑥0)1

2+ 𝑓(𝑥1)

1

2}

=ℎ

2{𝑓(𝑥0) + 𝑓(𝑥1)}

que é a expressão da área de um trapézio com bases iguais a ƒ(x0),ƒ(x1)

e altura a h.

Page 117: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

117

A expressão do polinômio interpolador também pode ser utilizada sem

mudança de variável. Logo, utilizando-se a forma de Lagrange [24] para o polinômio

interpolador, a seguinte solução será obtida:

𝑝1(𝑥) = 𝑓(𝑥0)𝐿0(𝑥) + 𝑓(𝑥1)𝐿1(𝑥) = 𝑓(𝑥0)(𝑥 − 𝑥1)

(𝑥0 − 𝑥1)+ 𝑓(𝑥1)

(𝑥 − 𝑥0)

(𝑥1 − 𝑥0)

Onde, 𝑥0 = 𝑎 e 𝑥1 = 𝑏

Substituindo p1(x) na integral, tem-se:

∫ f(x)dxb

a

≈ ∫ [𝑓(𝑥0)(𝑥 − 𝑥1)

(𝑥0 − 𝑥1)+ 𝑓(𝑥1)

(𝑥 − 𝑥0)

(𝑥1 − 𝑥0)] 𝑑𝑥

b

a

Desenvolvendo a integral acima obtém-se o valor:

2{𝑓(𝑥0) + 𝑓(𝑥1)}

Que é a área de um trapézio delimitado por p1(x) e pelo intervalo [a,b].

∫ 𝑓(𝑥)𝑑𝑥𝑥𝑖+1

𝑥𝑖

≈ ∫ 𝑝1(𝑥)𝑑𝑥𝑥𝑖+1

𝑥𝑖

= ℎ

2[𝑓(𝑥𝑖) + 𝑓(𝑥𝑖+1)]

Page 118: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

118

Como existem N subintervalos, a aproximação para a integral será igual à

soma das contribuições elementares de cada trapézio, conforme ilustra o Gráfico

Gráfico 7.

Gráfico 7: Contribuições elementares de cada trapézio utilizadas para o cálculo da integral da função

Entretanto, se somente um trapézio for utilizado, ou seja, um único poli-

nômio de primeiro grau, para aproximar a integral, erros significativos podem ser

cometidos como mostra o Gráfico 8.

Gráfico 8: Erro inserido pela utilização de trapézios elementares

Page 119: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

119

Uma maneira de contornar este inconveniente sem ter que aumentar o

grau do polinômio interpolador é utilizar a regra do trapézio em sub-intervalos n, de-

finidos a partir de uma partição regular do intervalo de integração [a,b].

Desta forma, dado o número de sub-intervalos n, cada um teria um com-

primento igual a:

ℎ =(𝑏 − 𝑎)

𝑛

Assim, para um sub-intervalo genérico [xi, xi+1]:

∫ 𝑓(𝑥)𝑑𝑥𝑥𝑖+1

𝑥𝑖

≈ ∫ 𝑝1(𝑥)𝑑𝑥𝑥𝑖+1

𝑥𝑖

= ℎ

2[𝑓(𝑥𝑖) + 𝑓(𝑥𝑖+1)]

Como temos n subintervalos, a aproximação para a integral será igual à

soma das contribuições elementares de cada trapézio, isto é,

∫ 𝑓(𝑥)𝑑𝑥𝑏

𝑎

≈ ∑ℎ

2[𝑓(𝑥𝑖) + 𝑓(𝑥𝑖+1)]

𝑁−1

𝑖=0

= ℎ

2∑[𝑓(𝑥𝑖) + 𝑓(𝑥𝑖+1)]

𝑁−1

𝑖=0

C4 - Regra de Simpson

A regra de Simpson é obtida quando o polinômio interpolador tem grau

igual a 2. São necessários 3 pontos x0, x1 e x2. Como os pontos devem ser igual-

mente espaçados, tem-se ℎ =𝑏−𝑎

2 . Graficamente, a solução pode ser vista conforme

ilustra o Gráfico 9.

Page 120: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

120

Gráfico 9: Pontos para utilização na Regra de Simpson

Com isso, segue que a integral da função f(x) é aproximada por :

∫ f(x)dxb

a

≈ ∫ p2(x)dx𝑥2

𝑥0

= ℎ

3[𝑓(𝑥0) + 4𝑓(𝑥1) + 𝑓(𝑥2)]

Se for utilizado somente um polinômio do segundo grau, podem ser come-

tidos grandes erros. De forma a diminuir essas ocorrências, a regra de Simpson de-

ve ser aplicada de forma repetida, analogamente ao proposto na regra dos trapé-

zios.

Logo, a aproximação para o valor da integral será:

∫ f(x)dxb

a

≈ ℎ

3∑[𝑓(𝑥2𝑖) + 4𝑓(𝑥2𝑖+1) + 𝑓(𝑥2𝑖+2)]

𝑁2−1

𝑖=1

Page 121: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

121

C5 - Observações Finais

As fórmulas de Newton-Côtes são obtidas aproximando a função por um

polinômio interpolador. Quanto maior for o grau do polinômio, mais preciso será o

resultado obtido. Porém, a estratégia das fórmulas repetidas permite obter uma

aproximação com uma certa precisão desejada, usando fórmulas que são obtidas

por polinômios de baixo grau.

A Regra do Trapézio é exata para polinômios de grau 1, enquanto que a

Regra de Simpson é exata para polinômios de grau 3.

Page 122: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

122

ANEXO D – INTERPOLAÇÃO

A interpolação é uma forma de encontrar uma função que represente um

conjunto de dados tabelados. Interpolar um conjunto de dados (xk, fk), k = 0, 1,..., n,

consiste em encontrar uma função pn(x) que satisfaça certas propriedades. Neste

item, será considerado o caso onde pn é um polinômio de tal forma que

𝑓𝑘 = 𝑝(𝑥𝑘), 𝑘 = 0, 1, 2, … , 𝑛

A condição acima é chamada condição de interpolação e o polinômio que

satisfaz esta condição é denominado polinômio interpolador.

D1 - Interpolação polinomial

A solução p(x) do problema de interpolação pode ser expressa diretamen-

te em termos de polinômios 𝐿𝑖(𝑥):

𝑝(𝑥) = 𝑓(𝑥0)𝐿0(𝑥) + 𝑓(𝑥1)𝐿1(𝑥) + 𝑓(𝑥2)𝐿2(𝑥) + ⋯+ 𝑓(𝑥𝑛)𝐿𝑛(𝑥)

= ∑∏(𝑥 − 𝑥𝑘)

(𝑥𝑖 − 𝑥𝑘)

𝑛

𝑘=0𝑘≠𝑖

𝑛

𝑖=0

Page 123: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

123

Para ilustrar, considere a função f(x) com os valores listados na Tabela 6

Tabela 6: Valores da função f(x) que será utilizada como exemplo de aplicação do método de interpo-

lação.

x -1 0 2

f(x) 4 1 -1

Pela forma de Lagrange, tem-se:

𝑝(𝑥) = 𝑓(𝑥0)𝐿0(𝑥) + 𝑓(𝑥1)𝐿1(𝑥) + 𝑓(𝑥2)𝐿2(𝑥)

onde,

𝐿0(𝑥) =(𝑥 − 𝑥1)(𝑥 − 𝑥2)

(𝑥0 − 𝑥1)(𝑥0 − 𝑥2)=

(𝑥 − 0)(𝑥 − 2)

(−1 − 0)(−1 − 2)=

𝑥(𝑥 − 2)

3

𝐿1(𝑥) =(𝑥 − 𝑥0)(𝑥 − 𝑥2)

(𝑥1 − 𝑥0)(𝑥1 − 𝑥2)=

(𝑥 + 1)(𝑥 − 2)

(0 + 1)(0 − 2)=

(𝑥 + 1)(𝑥 − 2)

−2

𝐿2(𝑥) =(𝑥 − 𝑥0)(𝑥 − 𝑥1)

(𝑥2 − 𝑥0)(𝑥2 − 𝑥1)=

(𝑥 + 1)(𝑥 − 0)

(2 + 1)(2 − 0)=

𝑥(𝑥 + 1)

6

Logo, o polinômio interpolador será:

𝑝(𝑥) = 4𝑥(𝑥 − 2)

3+ 1

(𝑥 + 1)(𝑥 − 2)

−2+ (−1)

𝑥(𝑥 + 1)

6

Existe outra forma de se obter o polinômio interpolador. Sabendo-se que

este existe, é único e possui grau menor ou igual a n, tem-se:

𝑝(𝑥) = 𝑎0 + 𝑎1𝑥 + 𝑎2𝑥2 + ⋯+ 𝑎𝑛𝑥𝑛

Em adição, tem-se que:

𝑝(𝑥𝑖) = 𝑓(𝑥𝑖), 𝑥𝑖 ≠ 𝑘 𝑝𝑎𝑟𝑎 𝑖 ≠ 𝑘, 𝑖 = 0, 1, 2, … , 𝑛

Page 124: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

124

Assim,

para i = 0 → 𝑎0 + 𝑎1𝑥0 + 𝑎2𝑥02 + ⋯+ 𝑎𝑛𝑥0

𝑛 = 𝑓(𝑥0)

para i = 1 → 𝑎0 + 𝑎1𝑥1 + 𝑎2𝑥12 + ⋯+ 𝑎𝑛𝑥1

𝑛 = 𝑓(𝑥1)

para i = 2 → 𝑎0 + 𝑎1𝑥2 + 𝑎2𝑥22 + ⋯+ 𝑎𝑛𝑥2

𝑛 = 𝑓(𝑥2)

para i = 𝑛 → 𝑎0 + 𝑎1𝑥𝑛 + 𝑎2𝑥𝑛2 + ⋯+ 𝑎𝑛𝑥𝑛

𝑛 = 𝑓(𝑥𝑛)

Logo, há um sistema de equações algébricas lineares para determinação

dos coeficientes do polinômio interpolador.

Na forma matricial,

[ 1 𝑥0 𝑥0

2 𝑥03 ⋯ 𝑥0

𝑛

1 𝑥1 𝑥12 𝑥1

3 ⋯ 𝑥1𝑛

1 𝑥2 𝑥22 𝑥2

3 ⋯ 𝑥2𝑛

1 𝑥3 𝑥32 𝑥3

3 ⋯ 𝑥3𝑛

⋮ ⋮ ⋮ ⋮ ⋱ ⋮1 𝑥𝑛 𝑥𝑛

2 𝑥𝑛3 ⋯ 𝑥𝑛

𝑛]

[ 𝑎0

𝑎1

𝑎2

𝑎3

⋮𝑎𝑛]

=

[ 𝑓(𝑥0)

𝑓(𝑥1)

𝑓(𝑥2)

𝑓(𝑥3)⋮

𝑓(𝑥𝑛)]

nota-se que a matriz de coeficientes do sistema é uma matriz de

Vandermonde. Como as abcissas xi são distintas, seu determinante é diferente de

zero. Logo, este sistema possui solução única.

Esta forma de obtenção do polinômio interpolador é pouco usada, visto

que envolve a resolução de um sistema linear. Em adição, esta matriz de coeficien-

tes tende a ser mal condicionada se duas abcissas estão próximas.

Page 125: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

125

D2 - Forma de Newton

Conforme visto anteriormente, pode-se obter o polinômio interpolador

através de polinômios de Lagrange ou via sistema linear. Embora a forma de

Lagrange seja interessante, pelo menos na teoria, em geral, esta não é adequada

para cálculos reais, particularmente para um grande número de pontos de suporte. A

forma de Newton surge como alternativa aos métodos vistos anteriormente.

A forma de Newton do polinômio interpolador é baseada nos operadores

de diferenças divididas [24]. Para uma função f(x) tabelada em n+1 pontos distintos

x0, x1, ..., xn, o operador de diferença dividida de ordem 0 em xk é definido por:

𝑓[𝑥𝑘] = 𝑓(𝑥𝑘)

O operador de diferença dividida de ordem um, nos pontos xk; xk+1, é de-

finido da seguinte forma:

𝑓[𝑥𝑘, 𝑥𝑘+1] =𝑓[𝑥𝑘] − 𝑓[𝑥𝑘+1]

𝑥𝑘 − 𝑥𝑘+1

O operador de diferença dividida de ordem dois, nos pontos xk; xk+1, xk+2

é definido da seguinte forma:

𝑓[𝑥𝑘, 𝑥𝑘+1, 𝑥𝑘+2] =𝑓[𝑥𝑘 , 𝑥𝑘+1] − 𝑓[𝑥𝑘+1, 𝑥𝑘+2]

𝑥𝑘 − 𝑥𝑘+2

De forma análoga, o operador de diferença dividida de ordem n é definido

por:

𝑓[𝑥𝑘, 𝑥𝑘+1, … , 𝑥𝑘+𝑛] =𝑓[𝑥𝑘, 𝑥𝑘+𝑛−1] − 𝑓[𝑥𝑘+1, 𝑥𝑘+𝑛]

𝑥𝑘 − 𝑥𝑘+𝑛

A forma de Newton apresenta como vantagens o fato de o polinômio in-

terpolador poder ser avaliado em qualquer ordem, assim como a possibilidade de se

adicionar novos pontos de suporte sem que haja a necessidade de iniciar os cálcu-

los novamente, diferentemente do que ocorre em outras formas do polinômio inter-

polador.

Page 126: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

126

ANEXO E - AJUSTE DE CURVAS - MÉTODO DOS MÍNIMOS QUADRADOS

Da mesma forma que na interpolação, tem-se uma função f(x), conhecida

somente em alguns pontos (x0, f(x0)), (x1, f(x1)), ..., (xn, f(xn)) e deseja-se conhecer o

valor da função num ponto �̅�, ou seja, calcular 𝑓(�̅�).

Devido às características dos polinômios de alto grau, a curva gerada no

método de interpolação não é suave e possui todos os pontos de suporte. No ajuste

de curvas, o objetivo é buscar uma curva que aproxime )( xf , sem que necessaria-

mente contenha esses pontos. Basta que a curva passe próxima a eles. Este cenário

está representado no Gráfico 10.

Gráfico 10: Curva que passa somente por alguns pontos de suporte

Page 127: UNIVERSIDADE FEDERAL FLUMINENSE PAULO MAURÍCIO …app.uff.br/riuff/bitstream/1/5265/1/TCC_PAULO_MAURICIO_DE_SOUZA... · go em Sistemas de Computação. ... functions, interpolation,

127

Quando se aproxima f por uma função g, um certo erro ε, é introduzido,

isto é, ε(x) = f(x) − g(x). Esta característica é representada no Gráfico 11.

Gráfico 11: Erro introduzido ao se ajustar uma função f por outra função g

Uma boa aproximação seria obtida quando ∑ 𝛆(𝑥) = 0𝑥 , porém, a soma

dos valores positivos e negativos pode se cancelar, mascarando o resultado.

Para evitar este cancelamento, trabalha-se com o quadrado do resíduo e

exige-se que ∑ 𝛆2(𝑥)𝑥 seja mínimo, daí o nome de método dos mínimos quadrados.