universidade federal fluminense paulo maurÍcio...
TRANSCRIPT
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
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
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
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
Dedico este trabalho a minha estimada famí-
lia.
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.
“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
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.
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.
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
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
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
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
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
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
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
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
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.
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.
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.
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
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.
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].
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
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.
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
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.
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.
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.
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)
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)
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).
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).
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.
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.
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.
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
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
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
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
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
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
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
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
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.
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.
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.
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
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ô)
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.
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).
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)
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)
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
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
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
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
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)
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)
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)
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
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
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.
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.
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.
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
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
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
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.
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
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
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.
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
74
Figura 39: Ajuste de curvas, polinômio grau 4
Figura 40: Ajuste de curvas, polinômio grau 5
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.
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.
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.
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)
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)
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.
81
Figura 49: Regra de Simpson (uma partição)
Figura 50: Regra de Simpson (2 partições)
82
Figura 51: Regra de Simpson (4 partições)
Figura 52: Regra de Simpson (8 partições)
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).
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
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.
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
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.
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
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
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.
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
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
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).
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.
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]
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]
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 = �̅�
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).
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
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.
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
)(
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
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
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
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.
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.
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.
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
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
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
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.
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.
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:
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
𝛼𝑖
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
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.
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)]
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
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.
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
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.
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
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, … , 𝑛
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.
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.
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
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.