Programa de Pós-Graduação em Engenharia Elétrica - PPGEL
Associação ampla UFSJ / CEFET-MG
Universidade Federal de São João del-Rei - UFSJ
Redução de ruído na simulação de sistemas dinâmicos usandomodos de arredondamento da norma IEEE 754-2008
Melanie Rodrigues e Silva
Orientador : Erivelton Geraldo Nepomuceno
Coorientador : Samir Angelo Milani Martins
São João del-Rei, 04 de agosto de 2017.
Programa de Pós-Graduação em Engenharia Elétrica - PPGEL
Associação ampla UFSJ / CEFET-MG
Universidade Federal de São João del-Rei - UFSJ
Redução de ruído na simulação de sistemas dinâmicos usandomodos de arredondamento da norma IEEE 754-2008
Melanie Rodrigues e Silva
Dissertação apresentada à banca examinadora designada
pelo Colegiado do Programa de Pós-Graduação em Engen-
haria Elétrica, associação ampla entre a Universidade Fed-
eral de São João del-Rei e o Centro Federal de Educação
Tecnológica de Minas Gerais, como parte dos requisitos
necessários à obtenção do grau de Mestre em Engenharia
Elétrica.
Orientador : Erivelton Geraldo Nepomuceno
Coorientador : Samir Angelo Milani Martins
São João del-Rei, 04 de agosto de 2017.
Ficha catalográfica elaborada pela Divisão de Biblioteca (DIBIB) e Núcleo de Tecnologia da Informação (NTINF) da UFSJ,
com os dados fornecidos pelo(a) autor(a)
S586rSilva, Melanie Rodrigues e Silva. Redução de ruído na simulação de sistemas dinâmicosusando modos de arredondamento da norma IEEE 7542008 / Melanie Rodrigues e Silva Silva ; orientadorErivelton Geraldo Nepomuceno Nepomuceno;coorientador Samir Angelo Milani Martins Martins. --São João del-Rei, 2017. 122 p.
Dissertação (Mestrado - Mestrado em EngenhariaElétrica) -- Universidade Federal de São João delRei, 2017.
1. Redução de ruído. 2. Simulação numérica. 3.Funções recursivas. 4. Sistemas dinâmicos. 5. Supressão de caos. I. Nepomuceno, Erivelton GeraldoNepomuceno, orient. II. Martins, Samir Angelo MilaniMartins, co-orient. III. Título.
Dedico este trabalho a Deus e aos que amo.
Agradecimentos
Agradeço a Deus por ser meu sustento, proteção e refúgio no momento de tribulação. Por
cuidar de tudo, inclusive dos mínimos e sutis detalhes de minha história. E mais, sou grata pelos
nãos recebidos, pelos planos que eu tinha e o Senhor os lançou ao chão e os reconstruiu e modo
inimaginavelmente melhor, o Senhor é fiel!
Aos meus pais meu agradecimento e amor, pois sei o quanto rezaram, intercederam, preocuparam-
se, sacrificaram-se e dedicaram-se a mim.
Aos meus avós obrigada por todo apoio.
Ao Ivan por toda paciência e incentivo.
Agradeço ao professor Erivelton por todos os ensinamentos, orientações, paciência, oportu-
nidades, conselhos e amizade.
Aos membros do GCOM.
Agradeço à Capes, pelo apoio financeiro durante o Mestrado. Agradeço também à UFSJ
que me acolheu por sete maravilhosos anos.
Muito obrigada a todos!
vii
"Tenha Jesus Cristo em seu coração e todas as cruzes do mundo parecerão rosas."
São Padre Pio de Pietrelcina
Resumo
A implementação matemática em software estimula a pesquisa científica. Assim, a com-
putação numérica vem sendo aplicada às soluções de sistemas dinâmicos não-lineares. Entre-
tanto, algoritmos são implementados em softwares de precisão finita que são sujeitos a erros.
Neste trabalho, os erros são analisados como a adição de ruídos ao processo de simulação com-
putacional. Mostra-se que, a média do arredondamento na direção do infinito negativo e, do
arredondamento na direção do infinito positivo age como um filtro diminuindo a amplitude do
ruído. Considerando o mapa logístico como sistema teste, além de aprimorar a precisão em
cerca de um dígito, apresenta-se um caso em que este método converge para a resposta cor-
reta. Além disso, o método também é aplicado aos sistemas de Chua e Lorenz, e observa-se a
supressão do caos nestes sistemas quando encontram-se em regiões de transição, mediante aos
métodos de discretização de Runge-Kutta de terceira, quarta e quinta ordem.
Palavras-chave: Redução de ruído, simulação numérica, funções recursivas, sistemas dinâmi-
cos, supressão de caos.
xi
Abstract
The mathematical implementation in software stimulates scientific research. Numerical
computation has been applied to the solutions of non-linear dynamic systems. However, al-
gorithms are implemented in finite precision software that is subject to errors. In this work, the
errors are analyzed as additive noise to the computational simulation process. It is shown that
the average of rounding towards negative infinity and rounding towards positive infinity can be
seen as a noise filter. Considering the logistic map as a test system, moreover it has been notice
a general improvement of one digit in the precision of simulation and the method as able to a
correct convergence in a case which the traditional simulation shows a divergent behaviour. In
addition, the method has been applied to the Chua and Lorenz systems, and chaos suppression
is observed in these systems when they are in transition regions, through the third, fourth and
fifth order Runge-Kutta discretization methods.
Keywords: Noise reduction, numerical simulation, recursive functions, dynamic systems, sup-
pression of chaos.
xiii
Lista de Figuras
1.1 Extensões intervalares da tensão no diodo de Chua. . . . . . . . . . . . . . . . 3
2.1 Atrator caótico do circuito de Chua no espaço de fases. . . . . . . . . . . . . . 10
2.2 Circuito de Chua. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3 Curva do diodo de Chua. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4 Tamanho, ponto médio e limites de um intervalo 𝑋 . . . . . . . . . . . . . . . . 25
2.5 Exemplo sobre princípios de exatidão e precisão. . . . . . . . . . . . . . . . . 28
2.6 Variável estocástica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.1 Diagrama de blocos da ação de controle na planta. . . . . . . . . . . . . . . . . 40
3.2 Diagrama de blocos do filtro. . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.1 Propagação do erro do mapa logístico para um caso de típica convergência
numérica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.2 Propagação do erro do mapa logístico. . . . . . . . . . . . . . . . . . . . . . . 46
4.3 Tensão no diodo de Chua. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.4 Atratores caraterísticos do circuito de Chua. . . . . . . . . . . . . . . . . . . . 49
4.5 Intensidade do movimento de convecção. . . . . . . . . . . . . . . . . . . . . 53
4.6 Atratores caraterísticos do sistema de Lorenz. . . . . . . . . . . . . . . . . . . 54
xv
Lista de Tabelas
2.1 Quantidade de bits dos formatos single e double. . . . . . . . . . . . . . . . . 21
4.1 Iterações do mapa logístico para 𝑥0 = 1/3,9 e 𝑟 = 3,9. . . . . . . . . . . . . . 44
4.2 Resultados de 𝜉𝑖,𝑛 e 𝛿𝑗,𝑛 do mapa logístico, considerando diferentes condições. . 45
4.3 Componentes e constantes utilizados nas simulações do circuito de Chua. . . . 47
4.4 Condições iniciais e constantes de tempo do circuito de Chua. . . . . . . . . . 47
4.5 Expoentes de Lyapunov do circuito de Chua. . . . . . . . . . . . . . . . . . . 50
4.6 Valores utilizados nas simulações do sistema de Lorenz. . . . . . . . . . . . . . 50
4.7 Expoentes de Lyapunov do sistema de Lorenz. . . . . . . . . . . . . . . . . . . 51
xvii
Lista de Sımbolos
𝐶1 Capacitor 1 do circuito de Chua;
𝐶2 Capacitor 2 do circuito de Chua;
𝐹 Farad, unidade característica da capacitância;
𝐿 Indutor;
𝐻 Henry, unidade característica da indutância;
𝑅 Resistência elétrica;
Ω Ohm, unidade característica da resistência;
𝑖𝑑 Corrente no diodo de Chua;
𝐴 Ampere, unidade característica da corrente;
𝑣𝑑 Tensão no diodo de Chua;
𝐺𝑎 Inclinação da curva do diodo de Chua;
𝐺𝑏 Inclinação da curva do diodo de Chua;
𝑆 Siemens, unidade de condutância;
𝐵𝑝 Ponto de mudança da inclinação da curva do diodo de Chua;
𝑣𝐶1 Tensão no capacitor 1 do circuito de Chua;
𝑣𝐶2 Tensão no capacitor 2 do circuito de Chua;
𝑉 Volt, unidade característica da tensão;
𝑖𝐿 Corrente no indutor;
𝜇 Unidade representativa de micro, isto é, 10−6;
𝑚 Unidade representativa de mili, isto é, 10−3;
𝑠 Unidade representativa de segundos;
𝐺 Condutância;
xix
(−−) Representação da curva pontilhada;
(−) Representação da curva contínua;
𝜓 Raio de uma esfera;
𝜄 Raio de uma esfera, em que 𝜄 > 𝜓;
𝑎 Função de contradomínio igual ao conjunto imagem;
𝐿 Conjunto fechado de pontos;
𝜈 Volume;
𝐼 Espaço métrico;
𝑈 Subconjunto aberto de 𝐼;
𝐵 Subconjunto aberto de 𝐼;
𝑊 Vizinhança;
𝑑 Distância;
𝑚 Número de equações diferenciais de um sistema;
𝑑𝜍 Raio de uma esfera;
𝜍 Dimensão;
Λ Expoente de Lyapunov;
�� Intensidade do movimento de convecção;
�� Valor proporcional à variação de temperatura entre correntes ascendentes e descendentes;
�� Valor proporcional à distorção do perfil de temperatura vertical;
𝜎 Número de Prandtl;
𝜌 Número de Rayleigh;
𝑥𝑛+1 Função recursiva;
𝑟 Parâmetro do mapa logístico;
𝑛 Iteração do cálculo;
𝑥𝑛 Saída obtida na iteração 𝑛 para um mapa e, ou órbita;
𝑥*𝑛 Ponto fixo obtido na iteração 𝑛 para um mapa;
𝑦′ Problema de valor inicial;
𝜑 Solução do problema de valor inicial;
𝛼 Limite inferior do conjunto solução de um problema de valor inicial;
𝜁 Limite superior do conjunto solução de um problema de valor inicial;
𝑖 Iteração do cálculo;
ℎ Passo de integração;
𝑎 Constante de um problema de valor inicial;
𝑝 Constante de um problema de valor inicial;
𝑞 Constante de um problema de valor inicial;
𝑘 Resultado recorrente de um problema de valor inicial;
∈ É um elemento de;
∀ Para todo;
± Mais ou menos;
𝑆 Significante ou mantissa;
× Indica multiplicação;
𝐵 Base adotada;
𝐸 Expoente;
𝑏0 Bit Escondido;
𝑏𝑛 Bits do significante;
𝑃 Precisão do sistema;
𝜖 Épsilon da máquina;
𝑟𝑜𝑢𝑛𝑑(𝑥) Arredondamento de um número 𝑥;
𝑋 Representação de um intervalo;
𝑋 Limite inferior do intervalo 𝑋;
𝑋 Limite superior do intervalo 𝑋;
≈ Aproximadamente;
𝑚(𝑋) Ponto médio do intervalo 𝑋;
𝜔(𝑋) Tamanho do intervalo 𝑋;
∩ Interseção;
∪ União;
min{} Valor mínimo dentro do conjunto;
max{} Valor máximo dentro do conjunto;
𝑌 Limite superior do intervalo 𝑌 ;
𝑍 Representação de um intervalo;
𝑓(𝑥) Função de uma variável;
𝑓(𝑋) Função intervalar;
∞ Infinito;
< Menor que;
> Maior que;
𝜉 Erro;
^ Valor computacional aproximado;
�� Valor computacional de 𝑥 aproximado;
ℓ Erro relativo;
ℓ𝑠 Valor percentual de tolerância;
𝑢 Iteração do cálculo;
𝐶 Subconjunto de um espaço amostral pertencente ao conjunto dos números reais;
Θ Valor em um espaço amostral;
𝐺 Espaço amostral;
𝑐𝑛 Elemento de um subconjunto de um espaço amostral;
𝑡 Tempo;
𝑣 Variável entre zero e um;
𝑀 Média de variáveis estocásticas;
𝐻 Variável estocástica qualquer;
ϒ Variância de uma variáveis estocásticas;
𝐷 Desvio padrão;
𝐴 Média de experimentos independentes;
��𝑖,𝑛 Pseudo-órbita clássica;
𝜉𝑖,𝑛 Erro entre a órbita real e pseudo-órbita;
��−𝑖,𝑛 Pseudo-órbita clássica arredonda para o infinito negativo;
��+𝑖,𝑛 Pseudo-órbita clássica arredonda para o infinito positivo;
��𝑗,𝑛 Pseudo-órbita alternativa proposta;
𝛿−𝑖,𝑛 Erro característico da pseudo-órbita ��−
𝑖,𝑛;
𝛿+𝑖,𝑛 Erro característico da pseudo-órbita ��+
𝑖,𝑛;
𝛿𝑖,𝑛 Erro característico da pseudo-órbita alternativa;
(-x-) Representação da curva com marcador em formato de x;
(-o-) Representação da curva com marcador em formato de o.
Lista de Abreviacoes
UFSJ Universidade Federal de São João del-Rei;
CEFET - MG Centro Federal de Educação Tecnológica de Minas Gerais;
GCOM Grupo de Controle e Modelagem;
CAPES Coordenação de Aperfeiçoamento de Pessoal de Nível Superior;
CNPq Conselho Nacional de Desenvolvimento Científico e Tecnológico;
IEEE Institute of Electrical and Electronics Engineers;
IEEE 754-2008 Norma IEEE 754-2008 de Ponto Flutuante;
SPICE Simulated Program with Integrated Circuits Emphasis;
ED Equação diferencial;
PVI Problema de valor inicial;
RK Runge-Kutta;
RK3 Runge-Kutta de terceira ordem;
RK4 Runge-Kutta de quarta ordem;
RK5 Runge-Kutta de quinta ordem;
NaN Not a number.
xxiii
Sumario
Lista de Símbolos xix
Lista de Abreviações xxiii
1 Introdução 1
1.1 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Contribuições da dissertação . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 Organização do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 Referencial Teórico 9
2.1 Conceitos preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.1 Sistemas dinâmicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.2 Sistemas não-lineares de tempo contínuo e discreto . . . . . . . . . . . 11
2.1.3 Caracterização da dinâmica caótica . . . . . . . . . . . . . . . . . . . 12
2.2 Sistema de Lorenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3 Circuito de Chua . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4 Mapa logístico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.5 Métodos numéricos de discretização . . . . . . . . . . . . . . . . . . . . . . . 17
2.5.1 Método de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.6 VPA toolbox do Matlab2016a . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.7 A aritmética de ponto flutuante e aritmética intervalar . . . . . . . . . . . . . . 21
2.7.1 Norma IEEE 754-2008 . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.7.2 Aritmética intervalar . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
xxv
2.8 Análise de erro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.8.1 Exatidão e precisão . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.8.2 Erro absoluto e erro relativo . . . . . . . . . . . . . . . . . . . . . . . 27
2.8.3 Computação aritmética . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.9 Processos estocásticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.9.1 Variável estocástica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.9.2 Média de uma variável estocástica . . . . . . . . . . . . . . . . . . . . 31
2.9.3 Variância . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3 Metodologia 35
3.1 Método para a redução do erro . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.1.1 Preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.1.2 Diretrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.1.3 Método para a redução do ruído em sistemas contínuos . . . . . . . . . 39
3.2 Hardware e software utilizados . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4 Resultados 43
4.1 Redução do erro do mapa logístico . . . . . . . . . . . . . . . . . . . . . . . . 43
4.1.1 Caso 1 - A convergência para o ponto fixo . . . . . . . . . . . . . . . . 43
4.1.2 Caso 2 - Visualização da redução do erro . . . . . . . . . . . . . . . . 44
4.1.3 Caso 3 - Generalizações . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.2 Redução do erro aplicada a sistemas contínuos . . . . . . . . . . . . . . . . . . 46
4.2.1 Caso 1 - Circuito de Chua . . . . . . . . . . . . . . . . . . . . . . . . 46
4.2.2 Caso 2 - Sistema de Lorenz . . . . . . . . . . . . . . . . . . . . . . . 50
4.3 Conclusões do capítulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5 Conclusões 55
5.1 Considerações finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.2 Trabalhos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Referências Bibliográficas 59
A Rotinas Computacionais 65
A.1 mainchua_extensao.m - Arquivo principal . . . . . . . . . . . . . . . . . . . . 65
A.1.1 chuakennedy1992_extensao1.m - Arquivo secundário característico da
extensão 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
A.1.2 chuakennedy1992_extensao2.m - Arquivo secundário característico da
extensão 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
A.2 mlre_caso1.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
A.3 mlre_caso2.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
A.4 mlre_caso3.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
A.5 Algoritmo dos métodos tradicional e de supressão de caos - Circuito de Chua . 77
A.5.1 mainchua.m - Arquivo principal . . . . . . . . . . . . . . . . . . . . . 77
A.5.2 mainchua1.m - Arquivo secundário característico do método tradicional 80
A.5.3 chuakennedy1992_1.m - Arquivo base característico do método tradi-
cional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
A.5.4 mainchua2.m - Arquivo secundário característico do método de supressão
de caos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
A.5.5 chuakennedy1992_2.m - Arquivo base característico do método de su-
pressão de caos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
A.6 Algoritmo dos métodos tradicional e de supressão de caos - Sistema de Lorenz 87
A.6.1 mainlorenz.m - Arquivo principal . . . . . . . . . . . . . . . . . . . . 87
A.6.2 mainlorenz1.m - Arquivo secundário característico do método tradi-
cional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
A.6.3 lorenz_1.m - Arquivo base característico do método tradicional . . . . 91
A.6.4 mainlorenz2.m - Arquivo secundário característico do método de su-
pressão de caos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
A.6.5 lorenz_2.m - Arquivo base característico do método de supressão de caos 93
CAPÍTULO 1
Introducao
Desde os tempos mais antigos, o homem teve interesse em analisar, estudar e observar:
a natureza, a sociedade e o mundo ao seu redor. Logo, podem ser citados vários exemplos
de sistemas: atrator de Lorenz (Lorenz, 1963), atrator de Rössler (Rössler, 1976), mapa de
Hénon (Hénon, 1976), mapa logístico (May, 1976), pêndulo duplo caótico (Skeldon, 1994),
circuito de Chua (Chua, 1992), dentre outros. Assim, Monteiro (2006) define sistemas como
conjuntos de objetos que são agrupados por alguma iteração ou interdependência, uma vez que,
existam relações de causa e efeito nos fenômenos que ocorrem com os elementos do conjunto.
No entanto, o conceito de sistemas é bastante amplo, podendo em boa parte dos casos ser
detalhado, isto é, definido conforme: funcionamento, comportamento e outros quesitos. De
acordo com Lathi (2007), sistemas ainda podem ser classificados quanto a constituição, em
físicos ou algoritmos que são implementados em hardware e software, respectivamente.
Segundo Monteiro (2006), virtuais ou econômicos, os sistemas puramente lineares são pou-
cos. Assim, os sistemas não-lineares existem em maior quantidade, e são recentes as ferramen-
tas de estudo e análise, uma vez que, por muito tempo perduraram grandes limitações dos meios
de processamento e dificuldades nas soluções analíticas das equações diferenciais. Deste modo,
foi preciso desenvolver novas metodologias para contornar ou, ao menos, criar alternativas à
análise das equações não-lineares. Jules Henri Poincaré foi o precursor no desenvolvimento de
técnicas de análises dessas equações, tendo a eficácia de seus trabalhos verificada na constata-
ção numérica da sensibilidade a condições iniciais (Lorenz, 1963). Desde então, o estudo de
sistemas não-lineares tornou-se mais viável e desperta o interesse de muitos pesquisadores, em
diversos ramos da ciência.
Após a publicação de Lorenz (1963), a computação numérica ganhou grande destaque com
1
Capítulo 1. Introdução 2
intuito de exibir e viabilizar soluções de sistemas dinâmicos não-lineares (May, 1976), o que
implica em alguns efeitos e restrições, pois existem ruídos nos processos computacionais arti-
ficiais (Ladeira et al., 2015). De acordo com Hasan et al. (2013), o uso de aritmética computa-
cional para a computação científica e engenharia é indispensável, e inclusive muitos algoritmos
numéricos iterativos podem ser considerados sistemas dinâmicos (Hasan et al., 2013).
De modo geral, os algoritmos são implementados em hardwares digitais de precisão finita, o
que incorpora erros aos cálculos. Sabe-se que os procedimentos numéricos usuais são baseados
no padrão IEEE-754 (2008) de ponto-flutuante, que é uma abordagem sistemática aos números
reais, o que agrega pequenos erros ao longo dos processos computacionais. Assim, não são as-
seguradas, para o ponto-flutuante, algumas propriedades aritméticas de números reais (Overton,
2001), como a propriedade distributiva. Portanto, para evidenciar limitações da aritmética com-
putacional apresenta-se um exemplo fundamentado em extensões intervalares que são propostas
por Moore et al. (2009). Para isto usa-se o circuito de Chua como teste.
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
𝐶1𝑑𝑣𝐶1
𝑑𝑡=
𝑣𝐶2 − 𝑣𝐶1
𝑅− 𝑖𝑑(𝑣𝐶1)
𝐶2𝑑𝑣𝐶2
𝑑𝑡=
𝑣𝐶1 − 𝑣𝐶2
𝑅− 𝑖𝐿
𝐿𝑑𝑖𝐿
𝑑𝑡= −𝑣𝐶2
(1.1)
Desenvolvido por Leon O. Chua em 1984, o circuito de Chua é reconhecido por exibir compor-
tamento caótico similar ao do sistema proposto por Lorenz (Chua, 1994). Constitui uma rede
eletrônica simples, caracterizada por atratores estranhos e bifurcações e será tratado de modo
mais aprofundado na seção 2.3. O circuito é representado pela Equação (1.1), e consiste em dois
capacitores, um indutor, um resistor linear e um resistor não-linear, denominado diodo de Chua
(Kennedy, 1992), que é percorrido por uma corrente, 𝑖𝑑(𝑣𝐶1), dependente da tensão de um dos
capacitores. As equações que regem o circuito são comumente solucionadas por métodos de
discretização. Assim, assumindo o método de discretização de Runge-Kutta de quarta ordem, e
o software Matlab 2016a, tem-se duas soluções da tensão no diodo de Chua exibidas na Figura
1.1.
Silva, M. R.
3
Figura 1.1: Tensão do diodo de Chua considerando extensões intervalares 𝐴 e 𝐵. Condições e valoresdo sistema apresentados nas Tabelas 4.3 e 4.4, porém 𝑅 = 1978,5Ω. Rotina
mainchua_extensao.m.
A resolução do circuito de Chua está apresentada na Figura 1.1, e de acordo com Moore
et al. (2009) considera extensões intervalares de 𝑑𝑣𝐶1𝑑𝑡
conforme mostra a Equação (1.2).
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
𝐴 =𝑑𝑣𝐶1
𝑑𝑡=
1𝐶1
⎛⎜⎜⎝ 1𝑅
(𝑣𝐶2 − 𝑣𝐶1)− 𝑖𝑑(𝑣𝐶1)
⎞⎟⎟⎠
𝐵 =𝑑𝑣𝐶1
𝑑𝑡=
1𝐶1
⎛⎜⎜⎝𝑣𝐶2
𝑅−𝑣𝐶1
𝑅− 𝑖𝑑(𝑣𝐶1)
⎞⎟⎟⎠(1.2)
Nota-se que a diferença entre as duas extensões encontra-se no modo em que 𝑑𝑣𝐶1𝑑𝑡
foi escrita,
ou seja, no uso da propriedade distributiva. Matematicamente, esperam-se resultados idênticos,
entretanto devido às limitações computacionais, se aplicadas duas extensões intervalares à 𝑑𝑣𝐶1𝑑𝑡
,
observa-se na Figura 1.1, que as curvas passam a não mais coincidir a partir de um certo tempo.
Esta discrepância é notada, graficamente, pouco após a 20 ms, porém começa a ocorrer bem
antes. Assim, esta distinção entre as curvas ocorre em razão das restrições computacionais e do
fato que algumas propriedades aritméticas como a distributividade não podem ser garantidas.
Silva, M. R.
Capítulo 1. Introdução 4
Šalamon e Dogša (2004) abordam o caso de simulações idênticas feitas no software SPICE,
porém são utilizados dois processadores diferentes, e assim verificam-se resultados totalmente
distintos após 20 ms. Portanto, em Šalamon e Dogša (2004) contata-se que as incertezas nos
resultados são provocadas pela distinção de hardwares, o que torna os resultados apresentados
na Figura 1.1 significativos, uma vez que estes foram gerados no mesmo hardware e são mate-
maticamente idênticos. Portanto é possível visualizar e constatar as limitações computacionais
apontadas pela norma IEEE-754 (2008).
Deste modo, os resultados exibidos na Figura 1.1 são agentes motivadores e despertam in-
teresse em investigar as limitações computacionais, uma vez que tem-se conhecimento que a
computação aritmética aplicada a cálculos científicos e de engenharia é um campo interdiscipli-
nar que se baseia na matemática, ciências da computação e engenharia elétrica, e consequente-
mente, avanços nesta área abrangem desde conhecimentos considerados teóricos aos práticos,
como a aplicação em microprocessadores. A disponibilidade de diferentes processadores faz
com que o desempenho de algoritmos numéricos seja viabilizado, o que levanta um questiona-
mento sobre a reprodutibilidade dos resultados numéricos ao executar algoritmos em diferentes
plataformas (Kornerup et al., 2009), extensões e métodos.
Kornerup et al. (2009) afirma que as vantagens de algoritmos executáveis em ponto-flutuante
constituem um paralelo com a definição e implementação de algoritmos tradicionais. E ainda,
considerando que, erros de arredondamento numérico estão diretamente relacionados à maneira
como os números são armazenados em um computador, então os erros podem ser vistos como
acréscimos de ruídos na resolução do problema. Deste modo, uma metodologia que busca a
limitação do ruído computacional baseada na representação da média dos modos arredondados
para o infinito negativo e positivo é proposta neste trabalho. O método proposto fundamenta-se
na implementação de um algoritmo aplicável em computadores que trabalham segundo as dire-
trizes da norma IEEE-754 (2008) do ponto-flutuante, e que visa a redução do erro. O algoritmo
comporta-se de modo análogo a um filtro, uma vez que trabalha como um agente limitante
do crescimento do erro computacional, mostra-se isto para uma referência simbólica de mapas
discretos e um resultado analítico conhecido. Analisado paralelamente a técnica proposta e
os algoritmos tradicionais aplicados a sistemas dinâmicos não-lineares, constata-se que o filtro
proposto proporciona a redução da propagação do ruído e, em alguns casos, foi observada a
supressão do caos quando aplicado a sistemas dinâmicos contínuos de comportamento caótico.
Silva, M. R.
5 1.1. Objetivos
1.1 Objetivos
Considerando a disseminação dos erros de arredondamento, busca-se, neste trabalho, apre-
sentar as diretrizes de um algoritmo, análogo a um filtro, destinado ao aumento da precisão
em simulações computacionais de sistemas discretos e contínuos. Portanto, para comprovar a
eficiência da técnica proposta objetiva-se nesta dissertação:
• Mostrar o quanto a metodologia sugerida limita o crescimento do erro, e consequente-
mente melhora a precisão de sistemas discretos, tomando o caso do mapa logístico;
• Evidenciar situações tradicionais de divergência em que a ação do filtro conduz a um
ponto fixo;
• Apresenta-se um estudo de casos que exibe situações em que filtro para redução de ruído
ocasionou a supressão de caos, para os sistemas de Lorenz e Chua que são exemplos de
sistemas contínuos;
• Realizar comparações entre resultados consolidados e os frutos da metodologia desenvol-
vida.
1.2 Contribuições da dissertação
A seguir, são apresentados trabalhos publicados que são frutos de estudos ao longo da ela-
boração desta dissertação:
• Silva, M. R., Nepomuceno, E. G., Amaral, G. F. V., Silva, V. V. R. (2016). Simulation
of Chua’s circuit by means of interval analysis. International Conference on Nonlinear
Science and Complexity - 6th NSC (Silva et al., 2016).
• Silva, M. R., Nepomuceno, E. G., Amaral, G. F. V, Martins, S. A. M, Nardo, L. G. (2017).
Exploiting the rounding mode of floating-point in the simulation of Chua’s circuit. Dis-
continuity, Nonlinearity, and Complexity. ISSN 2164-6376 (Silva et al., 2017). Aceito
para publicação.
Silva et al. (2016) é o primeiro trabalho produzido relacionado à dissertação, neste é apre-
sentado um filtro que vislumbra conter os efeitos dos erros computacionais, baseado na média
Silva, M. R.
Capítulo 1. Introdução 6
dos modos arredondados para infinito positivo e negativo, de modo que os valores arredondados
constituam um intervalo. Assim, esta metodologia é aplicada de modo iterativo à solução do cir-
cuito de Chua em condições caóticas, sendo possível observar que o sistema passa a apresentar
um comportamento periódico diferente do esperado.
Silva et al. (2017) apresenta uma versão estendida de Silva et al. (2016), porém a metodolo-
gia desenvolvida é agora aplicada a três métodos de discretizadação distintos, Runge-Kutta de
terceira, quarta e quinta ordem, para o circuito de Chua, e novamente pode-se notar o compor-
tamento periódico mediante o uso da metodologia sugerida. De modo a verificar o comporta-
mento dinâmico periódico encontrado, calcula-se os expoentes de Lyapunov e comprova-se que
o método é capaz de levar o sistema, circuito de Chua em condições caóticas, a uma região de
comportamento periódico, o que sugere um caso de supressão de caos.
1.3 Organização do trabalho
Para melhor compreensão e entendimento, o presente trabalho é disposto em quatro capítu-
los:
• Capítulo 2 - Referencial Teórico: aborda conceitos de sistemas dinâmicos com foco em
sistemas não-lineares, assim como princípios relacionados à teoria do caos. Tratando-se
de sistemas dinâmicos não-lineares de comportamento caótico pode-se destacar os siste-
mas contínuos de Lorenz e Chua, e o caso discreto do mapa logístico;
Como os sistemas contínuos são matematicamente representados por equações diferen-
ciais, logo há uma subseção que diz respeito a métodos numéricos para discretização,
onde o método de Runge-Kutta é o cerne;
Princípios ligados a execução e armazenamento de cálculos computacionais sob a pers-
pectiva da norma IEEE-754 (2008) e outras referências consolidadas são apresentados. Do
mesmo modo, conteúdos relacionados à aritmética intervalar, um assunto de certo modo
recente que pode ser visto como uma forma ímpar e inovadora de lidar com números em
processos numéricos computacionais;
Há uma subseção destinada ao tratamento do erro e de conceitos relacionados, como:
precisão, exatidão, erros absoluto e relativo. E também são apresentadas nesta subdivisão
algumas ponderações sobre computação numérica;
Silva, M. R.
7 1.3. Organização do trabalho
E por fim, alguns conceitos ligados à estocasticidade são tratados.
• Capítulo 3 - Metodologia: são trazidos neste capítulo um conjunto de tópicos e efeitos
de trabalhos produzidos (aceito e publicado) durante o desenvolvimento da dissertação.
O intuito é expor um método aritmético rigoroso baseado na média dos modos arredon-
dados para infinito positivo e negativo, que opere de modo análogo a um filtro e limite o
crescimento do erro computacional, e tratando-se de regiões de transição possa suprimir
o caos.
• Capítulo 4 - Resultados: apresentam-se resultados do emprego da metodologia para o caso
do mapa logístico, circuito de Chua e sistema de Lorenz. De modo que, para cada caso
foram executadas análises e comparações com métodos tradicionais (sob as diretrizes da
norma IEEE-754 (2008) vigente), sendo possível constatar a eficácia do método proposto.
• Capítulo 5 - Conclusões: um fechamento do trabalho com ponderações e considerações
finais são expostas, assim como perspectivas de trabalhos futuros.
Silva, M. R.
CAPÍTULO 2
Referencial Teorico
2.1 Conceitos preliminares
Esta seção enfoca sistemas dinâmicos não-lineares, que serão apresentados juntamente com
conceitos e definições relevantes para os capítulos seguintes.
2.1.1 Sistemas dinâmicos
Apresenta-se previamente alguns conceitos com intuito de facilitar a compreensão das de-
mais seções.
1. Espaço de fases
Espaço de fases ou estados é um espaço qualquer, abstrato, no qual se realiza o estudo
qualitativo de um sistema dinâmico (Monteiro, 2006). A Figura 2.1 mostra um atrator que
representa um dos vários possíveis comportamentos dinâmicos exibidos pelo sistema do
circuito de Chua em um espaço de estados, isto é, nos eixos 𝑥, 𝑦 e 𝑧.
Portanto, um espaço 𝑛-dimensional cujos eixos coordenados são 𝑥1, 𝑥2, ..., 𝑥𝑛, em que
𝑛 ∈ Z*. Representa-se cada estado por um ponto cujas coordenadas são 𝑥1(𝑡), 𝑥2(𝑡), ...,
𝑥𝑛(𝑡), onde 𝑡 é a variável tempo. As equações diferenciais de primeira ordem que regem
o sistema analisado descrevem o movimento do ponto de acordo com a evolução temporal
dada por: Equação (2.1).
9
Capítulo 2. Referencial Teórico 10
Figura 2.1: Atrator caótico do circuito de Chua no espaço de fases.
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
𝑑𝑥1
𝑑𝑡= 𝑓1(𝑥1, 𝑥2, ..., 𝑥𝑛)
𝑑𝑥2
𝑑𝑡= 𝑓2(𝑥1, 𝑥2, ..., 𝑥𝑛)
......
𝑑𝑥𝑛
𝑑𝑡= 𝑓𝑛(𝑥1, 𝑥2, ..., 𝑥𝑛)
(2.1)
Na prática, a solução da Equação (2.1) é o caminho percorrido no espaço de fases com
velocidade𝑑−→𝑥 (𝑡)
𝑑−→𝑡
. A dimensão do espaço de fases corresponde ao número de equações de
primeira ordem necessárias para representar o sistema, sendo igual ao número de variáveis
de estado. O resultado da evolução temporal de um sistema partindo das condições iniciais
previamente definidas é denominado retrato de fases.
2. Noções de estabilidade
Seja um sistema representado por equações diferenciais com condições inicias previa-
mente estipuladas. Para obter o comportamento dinâmico deste é preciso solucionar tais
equações. De modo geral, são obtidas soluções numéricas, que possuem aplicações de-
masiadamente limitadas, uma vez que somente são válidas para as condições fixadas.
Quando as condições iniciais pertencem à vizinhança das demais soluções, seu comporta-
mento determina a estabilidade. Caracteriza-se a estabilidade de uma equação diferencial
ou diferença.
Silva, M. R.
11 2.1. Conceitos preliminares
3. Estabilidade Orbital
Considerando a estabilidade no sentido de Lyapunov define-se a estabilidade de um ponto
de equilíbrio, baseando-se no comportamento das trajetórias que partem da condição ini-
cial localizada neste ponto (Monteiro, 2006). Quando um determinado sistema encontra-
se no ponto de equilíbrio, as variáveis dependentes são constantes. Logo, a trajetória
original será assintoticamente estável, se a diferença entre as variáveis do movimento ori-
ginal e as que partem de determinada condição inicial próxima a esse ponto de equilíbrio
reduza com o passar do tempo. Se a diferença permanecer constante, tem-se uma trajetó-
ria neutralmente estável. E caso a diferença aumente, a trajetória será instável, ou seja, no
decorrer do tempo tais variáveis aumentam indefinidamente, afastando-se do ponto.
4. Ciclo Limite
Relaciona-se a uma trajetória fechada no espaço de fases a alterações contínuas e periódi-
cas nas variáveis dependentes do sistema. Portanto, para uma trajetória isolada e fechada,
que pode aparecer no espaço de fase de sistemas não-lineares, segundo Poincaré, é um
ciclo limite. Caso todas as trajetórias aproximem-se, o ciclo limite será considerado as-
sintoticamente estável, caso se afastem o ciclo será instável.
2.1.2 Sistemas não-lineares de tempo contínuo e discreto
A grande maioria dos sistemas existentes na natureza e na sociedade são não-lineares. De
acordo com Taylor (2005), diferente dos problemas que envolvem sistemas lineares, os não-
lineares são difíceis de serem resolvidos analiticamente. Por isso, realiza-se o processo de
linearização nas proximidades do ponto de equilíbrio com objetivo de predizer as soluções do
sistema não-linear em questão na vizinhança do ponto de equilíbrio.
Equivalência topológica
Considera-se sobrejetora a função que possui o contradomínio igual ao conjunto imagem. E
injetora, a função onde cada um dos elementos do domínio está associado a um único elemento
da imagem. Assim, considera-se a função:
−→𝑎 (−→𝑥 ) = −→𝑦 , (2.2)
Silva, M. R.
Capítulo 2. Referencial Teórico 12
em que 𝑎 é uma função de domínio 𝑥 e imagem 𝑦.
Se a função, Equação (2.2), é injetora, sobrejetora e contínua, afirma-se que é invertível.
Portanto, a inversa 𝑎−1 é considerada um homeomorfismo. Tais considerações matemáticas
são de extrema valia quando tratam-se de retratos de fases de sistemas dinâmicos. Uma vez
que dois sistemas sejam homeomórficos (topologicamente isomórficos), e que o sentido de
orientação e movimento sejam mantidos no espaço de fases e considerados topologicamente e
orbitalmente equivalentes, então as trajetórias serão deformadas até tornarem-se semelhantes
às de outro sistema. Deste modo, o processo de deformação contínua das trajetórias faz com
que os sistemas tenham órbitas qualitativamente distintas, mas de estruturas e comportamentos
dinâmicos similares.
2.1.3 Caracterização da dinâmica caótica
Seja um sistema dinâmico dissipativo, as trajetórias das soluções convergem para regiões
limitadas no espaço de fases denominadas atratores (Monteiro, 2006).
1. Definição de caos
De acordo com Spezamiglio e Pereira (2003), considera-se 𝐼 um espaço métrico e N =
{0, 1, ...}, e que 𝐼 não seja um conjunto finito, mas sim uma aplicação contínua 𝑓 : 𝐼 → 𝐼 ,
logo:
𝑥(𝑛) = 𝑓(𝑥(𝑛− 1)) (2.3)
sendo que, 𝑛 ∈ N. Para 𝑥(0) = 𝑥0 ∈ 𝐼 , a solução da Equação (2.3), que possui condição
inicial 𝑥0, é uma sequência denominada órbita e expressa pela Equação (2.4)
(𝑓𝑛(𝑥0)) (2.4)
em que 𝑓𝑛 é a 𝑛-ésima iteração de 𝑓 . Um ponto fixo de 𝑓 é um ponto 𝑥0 tal que
𝑓(𝑥0) = 𝑥0 = 𝑥*0. (2.5)
Caso exista 𝑛 ≥ 1 para o ponto fixo 𝑥*0 da iteração 𝑓𝑛, afirma-se que 𝑥*
0 é um ponto fixo
periódico de 𝑓 . Ao menor 𝑛 nestas condições denomina-se período da órbita.
Silva, M. R.
13 2.1. Conceitos preliminares
Sejam dois subconjuntos abertos𝑈 e𝐵 de 𝐼 , e 𝑢 ∈ N, tal que 𝑓𝑢(𝑈)∩𝐵 = 0 então afirma-
se que 𝑓 é transitiva. Porém, se 𝐼 não possui pontos isolados, logo uma órbita densa em 𝐼
implicará em transitividade, e caso 𝐼 seja compacto e sem pontos isolados a existência de
uma órbita densa equivale à transitividade (Spezamiglio e Pereira, 2003). Adicionalmente,
𝑓 será sensível em relação às condições iniciais se houver 𝜓 > 0, para qualquer 𝑥 ∈ 𝐼
em qualquer vizinhança 𝑊 de 𝑥, que exista 𝑦 ∈ 𝑊 e 𝑘 ∈ N tais que 𝑑(𝑓𝑢(𝑥),𝑓𝑢(𝑦)) >
𝜓, sendo que 𝑑 é a distância em 𝐼 . Portanto, arbitrárias e infinitesimais perturbações
podem gerar consideráveis erros após algumas iterações (Spezamiglio e Pereira, 2003).
Consequentemente, para Blanchard et al. (1998) uma aplicação contínua de 𝑓 : 𝐼 → 𝐼 é
caótica se:
(a) 𝑓 é sensível às condições iniciais;
(b) 𝑓 é transitiva;
(c) Pontos periódicos de 𝑓 são densos em 𝐼;
e estas condições são conhecidas como definição de caos segundo Devaney (Blanchard
et al., 1998).
2. Expoente de Lyapunov
De acordo com Monteiro, considera-se um sistema de 𝑚 equações diferenciais e uma
hiper-esfera com centro em −→𝑥 (𝑡0), que é a condição inicial do sistema. Se raio inicial da
esfera é 𝑑𝜍(𝑡0), onde 𝜍 é a dimensão, então:
𝑑𝜍(𝑡) = 𝑑𝜍(𝑡0)𝑒Λ𝜍(𝑡−𝑡0) (2.6)
sendo que, 𝜍 = 1, 2,...,𝑚. Ou ainda,
Λ𝜍 =ln[ 𝑑𝜍(𝑡)
𝑑𝜍(𝑡0) ]𝑡− 𝑡0
, (2.7)
Com o passar do tempo o volume da esfera sofrerá alterações, uma vez que o raio é
relacionado às trajetórias do sistema. Λ𝜍 são denominados expoentes de Lyapunov. O
volume no instante inicial, 𝑡0, é 𝜈(𝑡0). O sistema será conservativo se 𝜈(𝑡) = 𝜈(𝑡0) para
todo 𝑡 ≥ 𝑡0 ou∑𝑚
𝜍−1 Λ𝜍 = 0, e dissipativo se 𝜈(𝑡) < 𝜈(𝑡0), para todo 𝑡 ≥ 𝑡0 ou∑𝑚
𝜍−1 Λ𝜍 <
0.
Silva, M. R.
Capítulo 2. Referencial Teórico 14
Classifica-se um atrator no espaço de fases como caótico, se ao menos um expoente de
Lyapunov for positivo, neste caso há divergência das trajetórias. Para uma trajetória fe-
chada, se dois pontos mantiverem-se na mesma distância ao longo do tempo tem-se expo-
ente nulo. Entretanto, se em direções perpendiculares ao atrator periódico houver contra-
ção do volume, o expoente será negativo (Monteiro, 2006). Considerando um sistema de
três dimensões, com expoentes: Λ1, Λ2 e Λ3 existem os seguintes atratores:
• Ponto de equilíbrio: Λ1, Λ2 e Λ3 devem ser menores que zero. Uma vez que o volume
deve contrair para que as trajetórias venham a convergir ao ponto.
• Ciclo limite: Λ1 e Λ2 menores que zero, e Λ3 = 0, ou Λ1 menor que zero, Λ2 e
Λ3 = 0, ou Λ1= Λ2 = Λ3 = 0, ou Λ1, Λ2 e Λ3 são negativos (Guan, 2014).
• Toro bidimensional: Λ1 menor que zero, Λ2 e Λ3 nulos.
• Atrator estranho: Λ1 > 0, Λ2 = 0 e Λ3 < 0. O expoente positivo assegura a
dependência às condições iniciais, o expoente negativo deve ter maior módulo que o
positivo, de modo a garantir que o sistema é dissipativo.
Para sistemas de tempo discreto, considere 𝑛 número de iterações e 𝑥𝜍+1 = 𝐹 (𝑥𝜍). Deste
modo, tem-se o expoente de Lyapunov dado por:
Λ = lim𝑛→∞
1𝑁
𝑛−1∑𝜍=0
ln𝑑𝐹 (𝑥𝜍)𝑑𝑥𝜍
. (2.8)
2.2 Sistema de Lorenz
Edward Lorenz, em 1963, dando continuidade às pesquisas relacionadas a sistemas dinâ-
micos, mais precisamente ao estudo do sistema meteorológico, resolveu numericamente o mo-
delo metorológico simplificado proposto por Saltzman (1962) e obteve uma solução aperiódica
(Monteiro, 2006), o que implicou na fundamentação da teoria do caos (Lorenz, 1963).
O modelo apresentado em Lorenz (1963) é descrito por um conjunto de três equações dife-
renciais, Equação (2.9), que são sensíveis às condições iniciais. Entretanto, as trajetórias per-
corridas por estas condições apresentam um comportamento que pode ser remetido ao formato
de uma borboleta (Monteiro, 2006). Sendo assim, as condições iniciais do modelo atmosférico
percorrem trajetórias que compõem uma região denominada atrator de Lorenz.
Silva, M. R.
15 2.3. Circuito de Chua
⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩�� = −𝜎𝑥+ 𝜎𝑦
�� = 𝜌𝑥− 𝑦 − 𝑥𝑧
�� = 𝑥𝑦 − 𝛽𝑧
(2.9)
As constantes 𝜎 e 𝜌 são denominadas números de Prandtl e Rayleigh, respectivamente. O
estado 𝑥 representa a intensidade do movimento de convecção, 𝑦 é proporcional à variação de
temperatura entre correntes ascendentes e descendentes, e 𝑧 é proporcional à distorção do perfil
de temperatura vertical.
2.3 Circuito de Chua
No início da década de 80, Leon Chua notou a necessidade de desenvolver um circuito,
que evidenciasse experimentalmente o comportamento caótico proposto por Lorenz (1963),
(Kiliç, 2010). Chua iniciou suas pesquisas observando os sistemas de Lorenz e Rössler que
possuem dois pontos de equilíbrio instáveis, mas somente em 1984, desenvolveu um circuito, de
caráter eletrônico, e comportamento similar ao desejado (Chua, 1994). Em Matsumoto (1984),
constatou-se o comportamento caótico do circuito por meio de simulações computacionais.
Deste modo, desenvolveu-se um circuito autônomo, realizável fisicamente, caracterizado
por três pontos instáveis de equilíbrio, que constitui uma rede eletrônica simples que exibe uma
variedade de fenômenos, como atratores estranhos e bifurcações. Conforme mostra a Figura 2.2,
o circuito é constituído de dois capacitores, um indutor, um resistor linear e um resistor não-
linear Leon Ong Chua não obedeceu a qualquer tipo de sistemática para o projeto do circuito
(Chua, 1992), que é caracterizado pela Equação (1.1), em que 𝑣𝐶1 e 𝑣𝐶2 representam as tensões
nos capacitores 𝐶1 e 𝐶2, respectivamente; 𝑖𝐿 a corrente no indutor 𝐿; e 𝑖𝑑(𝑣𝐶1) a corrente
dependente da tensão que percorre o diodo de Chua, dada pela Equação (2.10), e caracterizada
por uma curva conforme exibe a Figura 2.3.
𝑖𝑑(𝑣𝐶1) =
⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩𝐺𝑏𝑣𝐶1 +𝐵𝑝(𝐺𝑏 −𝐺𝑎) para 𝑣𝐶1 < −𝐵𝑝
𝐺𝑎𝑣𝐶1 para |𝑣𝐶1| ≤ 𝐵𝑝
𝐺𝑏𝑣𝐶1 +𝐵𝑝(𝐺𝑎 −𝐺𝑏) para 𝑣𝐶1 > 𝐵𝑝
(2.10)
O elemento não-linear, de resistência negativa, fornece energia ao sistema o que permite
Silva, M. R.
Capítulo 2. Referencial Teórico 16
Figura 2.2: Circuito de Chua.
Figura 2.3: Curva do diodo de Chua segundo Kiliç (2010).
que este oscile autonomamente. Tal elemento pode ser implementado por amplificadores ope-
racionais (Tôrres e Aguirre, 2005). Assim, utiliza-se a técnica proposta por Zhong e Ayrom
(1985), que sugere a inserção de amplificadores operacionais, e verifica-se o comportamento
caótico do circuito (Chua, 1994). O método experimental, mais robusto e econômico, é mos-
trado em Kennedy (1991, 1992). O circuito de Chua, segundo Kennedy (1992), é realizado
por dois amplificadores operacionais e seis resistores não-lineares. Assim, 𝐺𝑎 e 𝐺𝑏 represen-
tam as inclinações da curva do diodo e são dadas em razão das resistências que integram tal
componente.
Existem diversos arranjos e estratégias de montagem que permitem a criação do circuito de
Silva, M. R.
17 2.4. Mapa logístico
Chua, dentre estas destaca-se a substituição do indutor por amplificadores, resistores e capacitor
proposta em Antoniou (1969), e aperfeiçoada por Tôrres e Aguirre (2000).
2.4 Mapa logístico
Mapas não-lineares são conhecidos pela complexa dinâmica que os expressa. Em 1976, R.
M. May introduziu um sistema dinâmico não-linear, de tempo discreto, que caracteriza a flutua-
ção populacional de moscas considerando um ambiente com quantidade constante de alimento
(Lozi, 2013), caracterizado pela seguinte equação,
𝑥𝑛 = 𝑟𝑥𝑛−1(1− 𝑥𝑛−1). (2.11)
Considera-se 𝑥𝑛−1, como razão entre população existente e a maior população possível
considerando a iteração 𝑛. E consequentemente, 𝑥𝑛 é um número pertencente ao intervalo
0 ≤ 𝑥𝑛 ≤ 1. Em que, 𝑟 é um parâmetro de controle constante compreendido por valores no
intervalo 0 ≤ 𝑟 ≤ 4, e traduz a taxa de crescimento populacional (Lozi, 2013). De acordo
com May (1976), a variação dos valores 𝑥0 e 𝑟 implica ao sistema diferentes comportamentos,
como: equilíbrio, periodicidade e caos.
Um conceito extremamente relevante para compreensão deste mapa é o de ponto fixo,
𝑥*𝑛 = 𝑓(𝑥*
𝑛), (2.12)
caso a órbita do mapa atinja o ponto fixo em uma determinada iteração, a órbita permanecerá
neste ponto nas próximas iterações. Segundo a Equação (2.11) os pontos fixos do mapa logístico
são 𝑥*𝑛 = 0 e 𝑥*
𝑛 = 1 − 1𝑟, o ponto fixo é estável se após uma infinitesimal pertubação, as
iterações do mapa permanecem próximas a 𝑥*𝑛, denomina-se tal comportamento estabilidade de
Lyapunov (May, 1976).
2.5 Métodos numéricos de discretização
Os métodos Runge–Kutta, Adams–Bashforth–Moulton e outros atuam na solução de equa-
ções diferenciais (ED) de sistemas contínuos, e são conhecidos por permitirem a solução das
equações mediante a processos de discretização (Cartwright e Piro, 1992). De modo geral,
Silva, M. R.
Capítulo 2. Referencial Teórico 18
as questões que envolvem ED são denominadas problemas de valor inicial (PVI). Assim, as
especificações de solução das equações são determinadas no início da trajetória, e denominam-
se condições iniciais. Diferentes mapas podem ser fornecidos para uma mesma ED variando
somente as condições iniciais (Cartwright e Piro, 1992).
Um problema de valor inicial é dado por:
𝑦′ = 𝑓(𝑥, 𝑦) (2.13)
deste modo, seja um ponto (𝑥0, 𝑦0). Deseja-se encontrar a solução 𝜑 da EDO em questão, que é
definida em um intervalo [𝛼,𝜁]. Assim necessita-se satisfazer 𝜑(𝑥0) = 𝑦0 e conter 𝑥0. Nomeia-
se solução particular a solução de um PVI para as condições iniciais previamente estipuladas
(Valle, 2012).
O método proposto por Euler pode ser empregado na solução de um PVI de modo trivial,
entretanto possui lento processo de convergência. Assim, os métodos de Runge-Kutta e Taylor
são conhecidos por apresentarem convergência mais rápida para problemas desta espécie (Nagle
et al., 1989).
2.5.1 Método de Runge-Kutta
É um método que exibe resultados das equações diferenciais com grau considerável de preci-
são sem envolver cálculo de derivadas. Como sugerido por Chapra e Canale (1998), considera-
se
𝑦𝑖+1 = 𝑦𝑖 + 𝜑(𝑥𝑖,𝑦𝑖,ℎ)ℎ, (2.14)
em que, 𝜑(𝑥𝑖,𝑦𝑖,ℎ) é o incremento da função e pode ser representado de modo generalizado por:
𝜑 = 𝑎1𝑘1 + 𝑎2𝑘2 + ...+ 𝑎𝑛𝑘𝑛 (2.15)
Silva, M. R.
19 2.5. Métodos numéricos de discretização
sendo 𝑎′𝑠, 𝑝′𝑠 e 𝑞′𝑠 constantes. 𝑘′𝑠 são recorrentes caracterizados pela Equação (2.16), sendo
os mesmos para as Equações (2.17) - (2.19).
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
𝑘1 = 𝑓(𝑥𝑖, 𝑦𝑖)
𝑘2 = 𝑓(𝑥𝑖 + 𝑝1ℎ, 𝑦𝑖 + 𝑞11𝑘1ℎ)
𝑘3 = 𝑓(𝑥𝑖 + 𝑝2ℎ, 𝑦𝑖 + 𝑞21𝑘1ℎ+ 𝑞22𝑘2ℎ)...
𝑘𝑛 = 𝑓(𝑥𝑖 + 𝑝𝑛−1ℎ, 𝑦𝑖 + 𝑞𝑛−1,1𝑘1ℎ+ 𝑞𝑛−1,2𝑘2ℎ+ ...+ 𝑞𝑛−1,𝑛−1𝑘𝑛−1ℎ)
(2.16)
De acordo com Chapra e Canale (1998), o fato de 𝑘′𝑠 serem funções destaca o método de
Runge-Kutta em termos de eficiência.
Runge-Kutta de terceira ordem
Para n= 3, tem-se
𝑦𝑖+1 = 𝑦𝑖 + (𝑘1 + 4𝑘2 + 𝑘3)ℎ6 (2.17)
Runge-Kutta de quarta ordem
Para n= 4, tem-se
𝑦𝑖+1 = 𝑦𝑖 + (𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4)ℎ6 (2.18)
Runge-Kutta de quinta ordem
Conforme sugerido por Butcher (1964) para n= 5, tem-se
𝑦𝑖+1 = 𝑦𝑖 + (7𝑘1 + 32𝑘3 + 12𝑘4 + 32𝑘5 + 7𝑘6)ℎ90 (2.19)
em que,
𝑘1 = 𝑓(𝑥𝑖,𝑦𝑖)
𝑘2 = 𝑓(𝑥𝑖 + ℎ4 ,𝑦𝑖 + 𝑘1ℎ
4 )
𝑘3 = 𝑓(𝑥𝑖 + ℎ4 ,𝑦𝑖 + 𝑘1ℎ
8 + 𝑘2ℎ8 )
𝑘4 = 𝑓(𝑥𝑖 + ℎ2 ,𝑦𝑖 − 𝑘2ℎ
2 + 𝑘3ℎ)
𝑘5 = 𝑓(𝑥𝑖 + 3ℎ4 ,𝑦𝑖 + 3𝑘1ℎ
16 + 9𝑘4ℎ16 )
𝑘6 = 𝑓(𝑥𝑖 + ℎ,𝑦𝑖 − 3𝑘1ℎ7 + 2𝑘2ℎ
7 + 12𝑘3ℎ7 − 12𝑘4ℎ
7 + 8𝑘5ℎ7 )
Silva, M. R.
Capítulo 2. Referencial Teórico 20
Segundo Nagle et al. (1989), o método de RK é um dos mais conhecidos e utilizados devido
a rápida convergência. Sabe-se que métodos numéricos geralmente apresentam soluções próxi-
mas às reais, então as soluções são, de modo geral, aproximações precisas quando o número de
passos de integração são consideravelmente pequenos.
2.6 VPA toolbox do Matlab2016a
De acordo com Matlab2016a a rotina da VPA toolbox do utiliza expressões simbólicas,
sendo 𝑣𝑝𝑎(𝑥) a notação. Aplica-se a aritmética de ponto flutuante com precisão variável de
modo que, cada item simbólico 𝑥 que caracterize um numeral, vetor ou matriz tenha 𝑑 dígi-
tos significativos, assim 𝑣𝑝𝑎(𝑥,𝑑). Assim, a rotina apresentada nesta seção exemplifica o uso
da toolbox, mostrando que o aumento de precisão proporciona resultados mais confiáveis ao
usuário.
clc
clear all
%Exemplo vpa toolbox Matlab2016a
format long
a=pi
A=cos(a-(pi/4))
%Considerando 50 digitos de precisao
digits(50)
b=vpa(pi)
B=vpa(cos(b-vpa(pi/4)))
a =
3.141592653589793
A =
-0.707106781186547
b =
3.1415926535897932384626433832795028841971693993751
Silva, M. R.
21 2.7. A aritmética de ponto flutuante e aritmética intervalar
B =
-0.70710678118654752440084436210484903928483593768847
As diferenças existentes entre a aritmética ponto flutuante IEEE-754 (2008), e de precisão
variável são: os cálculos internos como a divisão por zero lança um erro; não são implementados
os números não normalizados; não existem exceções quanto ao número de pontos flutuantes
disponíveis; o underflow ocorre em aproximadamente 10−323228496.
2.7 A aritmética de ponto flutuante e aritmética intervalar
2.7.1 Norma IEEE 754-2008
A maioria dos computadores atuais operam segundo os padrões da aritmética de ponto-
flutuante, que foram discernidos com o apoio da IEEE (Institute of Electrical and Electronics
Engineers) e de diversos voluntários (IEEE-754, 2008). Estes se uniram em prol da organização
e definição das regras de representação e processos computacionais. Assim, foi desenvolvida
a norma IEEE 754 para aritmética de ponto-flutuante, que fornece diretrizes para a execução
da computação em hardware, software ou em ambos (IEEE-754, 2008). De modo particular,
a IEEE-754 (2008) especifica padrões, formatos e métodos para aritmética de ponto-flutuante
em sistemas de computador nos moldes single, double, extended e exceções são definidas para
receberem o tratamento padrão específico.
Conforme propõe a norma IEEE-754 (2008) para os formatos básicos de representação, o
modelo single de 32 bits, possui 1 bit de sinal, 8 bits destinados ao expoente e 23 ao significante;
e o formato double de 64 bits é composto por 1 bit para armazenamento de sinal, 11 bits para
expoente e 52 bits para o significante. O bit de sinal é representado por 1 se o número em
questão for negativo, e 0 caso seja positivo (Overton, 2001). Por fim, a Tabela 2.1 expõe de
modo visual e explicativo a delimitação da quantidade de bits e da faixa de representação para
tais formatos numéricos.
Tabela 2.1: Delimitação da quantidade de bits para os formatos single e double segundo os padrões danorma IEEE 754-2008.
Formato Faixa de representação Número total Sinal Expoente, E Mantissa, Ssingle ≈ 1,2 x 10−38 a ≈ 3,4 x1038 32 bits 1 bit 8 bits 23 bitsdouble ≈ 2,2 x 10−308 a ≈ 1,8 x 10308 64 bits 1 bit 11 bits 52 bits
Silva, M. R.
Capítulo 2. Referencial Teórico 22
Alguns casos excepcionais são abordados na norma em questão, como: caso o número a
ser armazenado seja inferior ao menor valor possível de representação tem-se underflow; do
mesmo modo, mas tratando-se de um número a ser armazenado que seja superior à capacidade
de armazenamento, tem-se o overflow, e considera-se tal número como infinito.
Segundo a IEEE-754 (2008), aritmética de ponto-flutuante é uma aproximação sistemática
da aritmética real, que representa somente um subconjunto finito e contínuo de números reais.
Deste modo, determinadas propriedades da aritmética real como: associatividade, distributivi-
dade, não podem ser asseguradas na aritmética de ponto-flutuante. De acordo com Overton
(2001), o padrão matemático computacional é denominado sistema dos números reais estendi-
dos, e compreende o conjunto R e os símbolos −∞ e +∞ e definido por:
−∞ < 𝑥 < +∞ (2.20)
para todo 𝑥 ∈ R. Portanto, −∞ e +∞, são respectivamente, os limites inferior e superior do
conjunto dos reais estendidos (Overton, 2001). Então, tratando-se de arredondamentos numé-
ricos, considera-se um determinado formato, e assim o processo de arredondamento conduz
ao número real estendido em questão, um ponto-flutuante adequado que pode ser zero, ou um
número finito diferente de zero,∞ ou NaN (not a number).
Portanto, tratando de modo mais específico da representação numérica, sabe-se que os com-
putadores são limitados a dois estados que são: 0 ou 1, uma vez que as unidades lógicas pri-
márias dos computadores digitais são compostas por componentes eletrônicos on/off. Assim
o sistema de representação numérico computacional é o binário. Para Kornerup et al. (2009)
denomina-se palavra a unidade fundamental pela qual a informação é representada e esta con-
siste em uma sequência de dígitos binários, ou bits.
Abordando os computadores atuais, que obedecem às diretrizes da IEEE-754 (2008) em
vigor, que fundamenta-se no sistema de representação binária (Weber, 2000), um número 𝑥 é
representado como ponto-flutuante de acordo com a Equação (2.21) onde 𝑆 é a mantissa ou
significante, 𝐸 o expoente e 𝐵 a base, que em geral é binária,
𝑥 = ± 𝑆 x 𝐵𝐸. (2.21)
A expansão do significante de um número 𝑥 qualquer diferente de zero é dada pela Equação
Silva, M. R.
23 2.7. A aritmética de ponto flutuante e aritmética intervalar
(2.22),
𝑆 = (𝑏0, 𝑏1𝑏2...)2, (2.22)
em que o bit 𝑏0 = 1. Conforme afirma Viana (1999), o zero tem uma representação diferenciada
dos demais números, já que não é submetido ao processo de normalização, sendo representado
pelo menor expoente possível de mantissa nula. Denomina-se bit escondido, o primeiro bit
não-nulo do significante de possíveis números representados como ponto-flutuante; essa no-
menclatura se dá em razão de não haver gastos de memória com para o armazenamento.
A nomenclatura ponto-flutuante vem do inglês onde a representação numérica é separada
por pontos, mas tratando-se do Brasil a melhor tradução seria vírgula-flutuante, isto é, a vírgula
move-se para a posição após ao primeiro dígito não-nulo (Campos e Lima, 2005). Assim,
intitulam-se os bits após ao ponto binário, ou de acordo com a Equação (2.22) vírgula binária, de
parte fracionária do significante, e as Equações (2.21) e (2.22) são representações normalizadas
de um número real (Overton, 2001).
Precisão
Conforme foi apresentado, os computadores possuem limitações quanto a representação
numérica. Portanto a precisão de um sistema no padrão ponto-flutuante é dependente do número
expresso pelo formato, e caracterizada pelo número de bits do significante, sendo que o bit
escondido deve estar incluso (Overton, 2001). Deste modo, um ponto-flutuante de precisão 𝑃 é
dado por:
𝑥 = ±(1, 𝑏1𝑏2...𝑏𝑃 −2 𝑏𝑃 −1)2 x 2𝐸 (2.23)
Denomina-se épsilon da máquina, a distância entre o menor número representável, dado pela
Equação (2.24), e o número 1.
𝑥 = (1,000...1)2 = 1 + 2−(𝑝−1) (2.24)
𝜖 = (0,000...01)2 = 2−(𝑝−1) (2.25)
Silva, M. R.
Capítulo 2. Referencial Teórico 24
Arredondamento
Conforme sugere as diretrizes da norma IEEE-754 (2008) o processo de arredondamento de
um número qualquer 𝑥 ∈ R pode ocorrer para:
• mais próximo: aproxima-se para o ponto-flutuante mais próximo;
• infinito negativo: aproxima-se para o ponto-flutuante de módulo inferior mais próximo;
• infinito positivo: aproxima-se para o ponto-flutuante mais próximo de módulo superior;
• na direção de zero: análogo ao arredondamento para o infinito negativo se 𝑥 > 0, e ao
arredondamento infinito positivo se 𝑥 < 0.
O arredondamento padrão em processos computacionais é para o mais próximo. Se os dois
pontos-flutuantes mais próximos a um determinado número estiverem igualmente distanciados
será escolhido aquele que apresentar o último bit significativo nulo (IEEE-754, 2008).
2.7.2 Aritmética intervalar
A aritmética intervalar padronizada pela IEEE (2015) define como intervalo um conjunto
fechado limitado de números reais, ou um par ordenado de pontos limites, porém nesta seção
são considerados intervalos representados por pares de pontos limites, que são representados
por letras maiúsculas (Moore et al., 2009). Os limites inferior e superior de um intervalo 𝑋
qualquer são 𝑋 e 𝑋 , respectivamente. Deste modo, define-se o intervalo 𝑋 por:
𝑋 = [𝑋,𝑋]. (2.26)
Se 𝑋 = 𝑋 diz-se que o intervalo é degenerado e pode ser expresso por 𝑋 = [𝑋,𝑋] (Alefeld
e Herzberger, 2012). Caso uma resposta 𝑥 qualquer esteja contida dentro de uma faixa cor-
respondente aos valores do intervalo [𝑋,𝑋], o ponto médio do intervalo dado pela Equação
(2.27)
𝑚 = 𝑋 +𝑋
2 , (2.27)
em que, 𝑥 é uma aproximação com
|𝑥−𝑚| ≤ 𝜔
2 , (2.28)
Silva, M. R.
25 2.7. A aritmética de ponto flutuante e aritmética intervalar
para 𝜔 = 𝑋 −𝑋 como tamanho do intervalo. Deste modo, se tem uma solução aproximada, e
consequentemente, um erro ligado à essa aproximação (Moore et al., 2009), assim a Figura 2.4
ilustra as definições apresentadas.
Figura 2.4: Tamanho, ponto médio e limites de um intervalo 𝑋 (adaptado de Moore et al. (2009)).
Operações e propriedades intervalares
Quando trabalha-se com operações intervalares podem ser feitas analogias com operações
entre conjuntos, o que implicará em intervalos resultantes das operações executadas (Rodri-
gues Jr, 2016). Como propõem Moore et al. (2009); Alefeld e Herzberger (2012); Rothwell e
Cloud (2012) a respeito de intervalos numéricos, têm-se as seguintes considerações para inter-
valos 𝑋 , 𝑌 e 𝑍 quaisquer:
1. Operações
• Igualdade: intervalos 𝑋 e 𝑌 serão iguais caso sejam conjuntos idênticos, assim 𝑋 =
𝑌 se 𝑋 = 𝑌 e 𝑋 = 𝑌 , consequentemente a interseção entre estes intervalos é dada
por Equação (2.29):
𝑋 ∩ 𝑌 = [max{𝑋,𝑌 },min{𝑋,𝑌 }], (2.29)
e a união
𝑋 ∪ 𝑌 = [min{𝑋,𝑌 },max{𝑋,𝑌 }]. (2.30)
• Adição:
𝑋 + 𝑌 = [𝑋 + 𝑌 ,𝑋 + 𝑌 ]; (2.31)
• Subtração:
𝑋 − 𝑌 = [𝑋 − 𝑌 ,𝑋 − 𝑌 ]; (2.32)
Silva, M. R.
Capítulo 2. Referencial Teórico 26
• Multiplicação: considerando 𝑆 = {𝑋.𝑌 ,𝑋.𝑌 ,𝑋.𝑌 ,𝑋.𝑌 } então:
𝑋.𝑌 = [min{𝑆},max{𝑆}]; (2.33)
• Divisão: para 1/𝑌 = [1/𝑌 ,1/𝑌 ] é necessário que o zero não pertença ao intervalo
𝑌 em questão, assim:𝑋
𝑌= 𝑋.
1𝑌. (2.34)
Deste modo, a divisão envolve o processo de multiplicação.
2. Propriedades
• Comutativa e associativa:
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩
𝑋 + 𝑌 = 𝑌 +𝑋,
𝑋 + (𝑌 + 𝑍) = (𝑋 + 𝑌 ) + 𝑍,
𝑋 . 𝑌 = 𝑌 . 𝑋
𝑋 . (𝑌 . 𝑍) = (𝑋 . 𝑌 ) . 𝑍.
(2.35)
• Elementos neutros da adição e multiplicação: sabendo que 0 e 1 são intervalos dege-
nerados e respectivamente, os elementos neutros da adição e multiplicação, então:
⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩0 +𝑋 = 𝑋 + 0 = 𝑋,
1 . 𝑋 = 𝑋 . 1 = 𝑋,
0 . 𝑋 = 𝑋 . 0 = 0.
(2.36)
• Cancelamento:
𝑋 + 𝑍 = 𝑌 + 𝑍 ⇒ 𝑋 = 𝑌 (2.37)
Funções intervalares
Se 𝑓(𝑥) é uma função 𝑓 de uma variável 𝑥, então 𝑓(𝑋) é denominada função intervalar,
com imagem caracterizada pelo o intervalo 𝑋 mapeado por 𝑓 como mostra a Equação (2.38)
(Rodrigues Jr, 2016),
𝑓(𝑋) = {𝑓(𝑥) : 𝑥 ∈ 𝑋}. (2.38)
Silva, M. R.
27 2.8. Análise de erro
2.8 Análise de erro
Para Lambers e Sumner (2016), a análise numérica é empregada no desenvolvimento de al-
goritmos com intuito de solucionar problemas de áreas como: engenharia, matemática, cálculo,
álgebra linear, equações diferenciais, dentre outras. Sabendo que, métodos analíticos propor-
cionam soluções exatas, mas não podem ser aplicados a qualquer tipo de problema, então os
métodos numéricos são uma alternativa, pois podem ser aplicados a uma quantidade superior
de problemas, entretanto produzem soluções aproximadas.
Para casos onde resultados aproximados não são suficientes, e que os algoritmos numéricos
precisem ser além de eficientes, precisos e robustos, um esforço computacional extra é deman-
dado (Lambers e Sumner, 2016). Assim, tendo conhecimento de que as soluções produzidas
por algoritmos numéricos são inexatas, alguns conceitos fundamentais a respeito da análise de
erros serão apresentados.
2.8.1 Exatidão e precisão
São conceitos diretamente ligados às atividades práticas como cálculos e medições, relaci-
onados aos processos computacionais. De acordo com Chapra e Canale (1998), exatidão é o
quão próximo um valor calculado ou medido coincide com o valor real. E precisão caracteriza
o quanto valores individuais calculados ou medidos concordam entre si.
Para tornar tais conceitos visuais, a Figura 2.5 exibe um exemplo que retrata vários dar-
dos lançados em um alvo. Logo, os resultados mostrados na Figura 2.5a e Figura 2.5c são
igualmente tendenciosos, uma vez que os dardos estão concentrados na parte superior do alvo,
ou seja, na região de inexatidão que traduz o distanciamento sistemático da verdade. Agora,
tratando-se da Figura 2.5b e Figura 2.5d ambas são exatas, possuem um dardo centrado na ori-
gem do alvo, entretanto na Figura 2.5d os dardos estão concentrados, o que torna preciso e exato
o resultado.
2.8.2 Erro absoluto e erro relativo
Chapra e Canale (1998) afirmam que erros numéricos surgem em razão do uso de aproxima-
ções para representar operações e quantidades matemáticas exatas. Tais erros englobam: os de
truncamento, originários de aproximações necessárias para representar procedimentos matemá-
Silva, M. R.
Capítulo 2. Referencial Teórico 28
Figura 2.5: Exemplo adaptado de Kornerup et al. (2009) que trata dos princípios de exatidão e precisão.(a) inexato e impreciso; (b) exato e impreciso; (c) inexato e preciso; (d) exato e preciso.
ticos exatos; erros de arredondamento, que ocorrem quando números exatos são utilizados para
representar números de valores significativos limitados. Assim, define-se erro absoluto como:
valor real = valor aproximado + erro. (2.39)
Analogamente considerando um valor analítico 𝑥 qualquer, tem-se:
𝜉𝑡 = 𝑥− ��, (2.40)
em que �� representa o valor computacional aproximado de 𝑥. A variável 𝜉𝑡 (vem da expres-
são true error) é o valor exato do erro numérico igual à discrepância entre os valores real e
aproximado.
Tal definição de erro é suficiente para inúmeras situações, porém não revela a ordem de
grandeza do valor em análise, por exemplo: tratando-se de um sistema elétrico residencial, um
erro de 1 Ampere é bem mais significativo do que em sistema de alta potência. Deste modo, o
Silva, M. R.
29 2.8. Análise de erro
erro relativo é um modo de quantificar o erro e considerar a ordem de grandeza em questão,
erro relativo real = erro realvalor real
. (2.41)
Em termos de porcentagem o erro relativo é dado pela Equação (2.42),
ℓ𝑢 = erro realvalor real
100%, (2.42)
em que ℓ𝑢 representa o erro relativo percentual real.
Segundo Chapra e Canale (1998), tratando-se das Equações (2.39) a (2.42), caso o valor
aproximado seja maior que o valor verdadeiro, o erro é negativo; e se o valor aproximado for
menor que o valor verdadeiro, o erro é positivo. Entretanto, quando se trabalha com erros, o
módulo do erro percentual é de maior interesse, e muitas vezes é preciso que este seja inferior
a um determinado valor percentual de tolerância estipulado ℓ𝑠, assim:
|ℓ𝑢| < ℓ𝑠. (2.43)
Se a Equação (2.43) é verdadeira, o resultado está dentro da faixa pré-especificada e aceitável
de ℓ𝑠. Para processos recursivos |ℓ𝑢| pode ser dado pela diferença entre o valor da iteração atual
e da anterior em razão do valor da iteração atual.
2.8.3 Computação aritmética
Kornerup et al. (2009) e Parhami (2012) afirmam que computação aritmética é um campo
que engloba definição e padronização do sistema aritmético para computadores. Entretanto, tal
campo trata também de questões relacionadas a implementações em hardware e software (Kor-
nerup et al., 2009). Os conceitos de aritmética computacional não são algo restrito ao campo das
engenharias e ciências da computação, mas sim algo muito mais amplo e interdisciplinar, uma
vez que cálculos científicos são realizados em diversas áreas como: matemática a financeira, hu-
manas, biológicas e médica. Assim, descobertas e melhorias na área aritmética computacional
asseguram avanços nas demais áreas.
Porém, os relevantes e interdisciplinares processos aritméticos computacionais apresentam
um conjunto de questões a serem reveladas, dentre elas as incertezas e ineficiências dos pro-
Silva, M. R.
Capítulo 2. Referencial Teórico 30
cessos de arredondamento e armazenamento, que acarretam em demasiada quantidade de erros
incorporados aos cálculos e simulações.
Erros de arredondamento e truncamento
Como os computadores tem capacidade de reter apenas um número fixo de valores signi-
ficativos durante um cálculo, números como os pertencentes ao conjunto dos irracionais não
são expressos por todas as suas casas decimais. Deste modo, tais processos de aproximação
denominam-se erros de arredondamento e estão diretamente relacionados à maneira como os
números são armazenados em um computador (Kornerup et al., 2009). Outro fator que im-
plica na deficiência dos processos aritméticos em computadores é que estes usam representação
na base binária, que é ineficiente para representar com precisão certos números na base deci-
mal. Portanto, os erros computacionais podem ser divididos segundo Heath (2002) em erros de
truncamento e arredondamento.
Truncar de acordo com Overton (2001) significa descarte de alguns bits, e assim erros oca-
sionados por este processo ocorrem em razão do truncamento de séries infinitas, ou pela substi-
tuição de equações diferenciais por equações de diferenças, ou na representação de uma função
arbitrária por um polinômio, ou pela parada de uma sequência iterativa antes da convergência
(Heath, 2002). Tratando-se dos erros de arredondamento, estes representam diferença entre
resultados produzidos por cálculos embasados na aritmética dos números reais e resultados
produzidos pela aritmética de ponto-flutuante (Heath, 2002).
2.9 Processos estocásticos
Um processo estocástico ou aleatório é um conjunto de experimentos probabilísticos que
podem evoluir para prováveis trajetórias, e podem ser aplicados ao estudo de sistemas (Ynoguti,
2011).
2.9.1 Variável estocástica
Esta seção está de acordo com as considerações de Ynoguti (2011) que define uma variável
estocástica 𝐶. Caso essa seja uma função 𝐶(Θ) que associa um número real 𝑐 a cada valor de
Θ no espaço amostral de um experimento aleatório.
Silva, M. R.
31 2.9. Processos estocásticos
Figura 2.6: Uma variável estocástica associa um número 𝑐 = 𝐶(Θ) a cada valor de Θ no espaçoamostral 𝐺 de um experimento aleatório.
Conforme exibe a Figura 2.6, o espaço amostral 𝐺 é o domínio de uma variável estocástica
e 𝐺𝐶 constitui o subconjunto dos reais, sendo que todos os valores da variável estocástica 𝐶
constituem um intervalo. A função distribuição cumulativa fdc de uma variável aleatória 𝐶 é a
probabilidade de um experimento {𝐶 ≤ 𝑐} ocorra:
𝐹𝐶(𝑐) , 𝑃 [𝐶 ≤ 𝑐], (2.44)
em que −∞ < 𝑥 < ∞ e 𝑃 a probabilidade. Ou seja, fdc relata a probabilidade da variável
aleatória 𝐶 assumir um valor no intervalo (−∞,𝑥]. Portanto, variáveis aleatórias podem ser
classificadas em:
• Discretas: são comumente encontradas em casos de contagem. Seja um conjunto finito
𝐺𝐶 = {𝑐0,𝑐1,..., 𝑐𝑛}.
• Contínuas: caso as variáveis aleatórias possuam 𝑓𝑑𝑐′𝑠 contínuas em todos os pontos e
possam ser descritas pela integral da Equação (2.45), que deve ser positiva.
𝐹𝐶(𝑐) =∫ 𝑐
−∞𝑓(𝑡)𝑑𝑡 (2.45)
2.9.2 Média de uma variável estocástica
Como propõe Ynoguti (2011), a média ou valor esperado de uma variável estocástica dis-
creta é:
𝑀 [𝐶] =𝑛∑
𝑢=1𝐶𝑢𝑣𝐶(𝑐𝑢). (2.46)
Silva, M. R.
Capítulo 2. Referencial Teórico 32
se variável estocástica 𝐻 é contínua, o valor médio pode ser expresso por:
𝑀 [𝐶] =∫ +∞
−∞𝑐 𝑓𝐶(𝑐)𝑑𝑐 (2.47)
2.9.3 Variância
O conceito de variância pode ser melhor entendido tomando como base o seguinte exemplo:
considera-se uma experiência qualquer, se o resultado esperado não está propenso à grandes
variações e desvios em relação ao resultado real, denomina-se variância a grandeza que mensura
tal desvio (Grinstead e Snell, 2012). De acordo com Grinstead e Snell (2012), se𝐶 uma variável
aleatória, a média 𝑀(𝐶) = 𝜇 assim, a variância de 𝐶 é denotada por ϒ(𝐶), então
ϒ(𝐶) = 𝑀((𝐶 − 𝜇)2). (2.48)
O desvio padrão de 𝐶, 𝐷(𝐶) é:
𝐷(𝐶) =√
ϒ(𝐶). (2.49)
Como proposto por Grinstead e Snell (2012), se 𝐶1, 𝐶2, ..., 𝐶𝑛 é um processo experimental
independente, onde a média 𝑀(𝐶𝑢) = 𝜇 e 𝐷(𝐶𝑢) = 𝑠, tal que 𝑢 ∈ N*, a Equação (2.50)
represente a soma dos experimentos,
𝑆𝑛 = 𝐶1 + 𝐶2 + ...+ 𝐶𝑛 (2.50)
consequentemente a média dos experimentos independentes é:
𝐴𝑛 = 𝑆𝑛
𝑛, (2.51)
tal que 𝑛 ∈ N*, deste modo, tem-se que:
𝑠(𝐴𝑛) = 𝑠√𝑛. (2.52)
Assim, a Equação (2.52) sugere que se cada processo individual, 𝐶𝑛, possui variância finita o
desvio padrão da média, 𝑠(𝐴𝑛), tenderá a zero à medida que 𝑛 aproxima-se de infinito (𝑛 →
∞). Sabe-se que, o desvio padrão é uma grandeza que relata a proliferação da distribuição ao
Silva, M. R.
33 2.9. Processos estocásticos
redor da média (Grinstead e Snell, 2012). Como afirma Grinstead e Snell (2012), para valores
elevados de 𝑛, a média 𝐴𝑛 de um valor 𝐶𝑛 qualquer é mais próxima do valor 𝐴𝑛 de todos os
𝐶 ′𝑛𝑠 do que da média 𝜇. Portanto, a Equação (2.52) demonstra que a média é capaz de provocar
a redução tanto da variância quanto o desvio padrão.
Silva, M. R.
CAPÍTULO 3
Metodologia
A implementação matemática de sistemas e funções em computadores possibilita a inves-
tigação científica e motiva a pesquisa de muitas áreas. Segundo Ladeira et al. (2015), inter-
ferências e ruídos de sistemas reais não estão inclusos nas simulações, mesmo sabendo que
hardwares são um conjunto de sistemas físicos reais suscetíveis a ruídos. Porém, as limita-
ções de software e hardware são obstáculos à confiabilidade dos resultados (Galias, 2013; Lozi,
2013; Nepomuceno, 2014; Nepomuceno e Martins, 2016; Mendes e Nepomuceno, 2016, 2017).
Deste modo, em Sugihara e Iri (1989); Wang e Tang (2014); Mcdonough et al. (1995); Shi et al.
(2016); Maharana e Meher (1997) foram sugeridas alternativas que contornam as limitações de
hardware e aprimoram os resultados. Denomina-se computação rigorosa as alternativas que res-
tringem os efeitos das limitações de hardware, que fundamentam-se na elaboração de métodos
refinados para a implementação de algoritmos (Galias, 2013; Parhami, 2012).
Sistemas dinâmicos não-lineares de comportamento caótico como mapas discretos e pro-
blemas que envolvem funções recursivas têm um grau diferenciado de complexidade, uma vez
que a iteração atual depende das anteriores (Ott, 2002), e muitas das conclusões científicas a
respeito destes sistemas baseiam-se em simulações computacionais. De modo geral, o compor-
tamento caótico tem sido associado a aplicações reais, desde circuitos eletrônicos a sistema de
corte por ultrassom, cujo comportamento dinâmico é analisado usando um modelo de oscilador
Duffing com dois graus de liberdade (Yu et al., 2016).
De modo abrangente é possível afirmar que o processo de simulação de funções recursi-
vas envolve erros que comprometem a confiabilidade dos resultados, assim Galias (2013); Lozi
(2013) questionam tal fato. Todavia, sabe-se em se tratando de ponto-flutuante, uma simula-
ção computacional de um sistema caótico pode ser limitada a um número curto de iterações
35
Capítulo 3. Metodologia 36
(Mendes e Nepomuceno, 2017). Para lidar com esse questionamento várias alternativas foram
investigadas e destacam-se duas categorias. A primeira delas é enfatiza o desempenho do hard-
ware via computação em paralelo e em cluster (Liao e Wang, 2014), já a segunda dedica-se
a melhora do algoritmo, por meio da análise intervalar ou computação com ruídos (Parhami,
2012).
Deste modo, nesta metodologia enfatiza-se ruídos, incertezas e imprecisões computacio-
nais. Entretanto, ao invés de adicionar dígitos pseudo-aleatórios, como sugere Parhami (2012),
a natureza aleatória do erro de arredondamento (Furuya et al., 1992; Gadzhiev, 2015) é explo-
rada, assim os erros de arredondamento são considerados uniformemente distribuídos. Logo,
nesta seção apresentam-se as diretrizes e o algoritmo de um método que melhora a precisão
da simulação computacional de funções recursivas. Adicionalmente, estende-se essa proposta
a sistemas contínuos, e observa-se em alguns casos, comportamento aperiódico a possibilidade
de supressão do caos (Silva et al., 2016, 2017).
3.1 Método para a redução do erro
3.1.1 Preliminares
Seja 𝐼 ⊆ R e 𝑓 : 𝐼 → R, então função recursiva pode ser definida como (Nepomuceno,
2014):
𝑥𝑛 = 𝑓(𝑥𝑛−1), (3.1)
ou por funções compostas:
𝑥𝑛 = 𝑓1(𝑥𝑛−1) = 𝑓2(𝑥𝑛−2) = . . . = 𝑓𝑛(𝑥0), (3.2)
em que 𝑓 : 𝐼 → 𝐼 é uma função recursiva ou mapa de um espaço de estado, e 𝑥𝑛 indica o
estado em um instante de tempo discreto 𝑛. A sequência 𝑥𝑛 é obtida iterativamente por meio da
Equação (3.1) a partir de uma condição inicial 𝑥0, e esta sequência é denominada órbita de 𝑥0
(Gilmore e Lefranc, 2012).
Silva, M. R.
37 3.1. Método para a redução do erro
Nepomuceno e Martins (2016) apresentam órbita como uma sequência de valores de um
mapa ou sistema representado pela Equação (3.3),
{𝑥𝑛} = [𝑥0,𝑥1,...,𝑥𝑛]. (3.3)
Conforme sugerido por Nepomuceno e Martins (2016), uma pseudo-órbita é definida por uma
determinada condição inicial e pela combinação de software e hardware. Portanto, uma pseudo-
órbita é a aproximação de uma órbita e pode ser representada como:
{��𝑖,𝑛} = [��𝑖,0,��𝑖,1, . . . ,��𝑖,𝑛]. (3.4)
Mendes e Nepomuceno (2017) destacam a diferença entre pseudo-órbitas reais e compu-
tacionais ressaltando que embora estas possuam mesmas condições iniciais, a combinação de
diferentes softwares e hardwares implica na inexistência de uma única pseudo-órbita, pois são
muitos os padrões de precisão numérica e métodos de discretização, o que pode produzir resul-
tados diferentes e, consequentemente, erros, 𝜉𝑖,𝑛, distintos. Em outras palavras, pode-se dizer
que pseudo-órbitas são aproximações de órbitas verdadeiras, então tais aproximações incorpo-
ram incertezas associadas a simulações de sistemas dinâmicos não-lineares. Portanto, sabe-se
que erros, 𝜉𝑖,𝑛, relacionados aos processos de arredondamento e às limitações de hardware são
recorrentes em simulações, deste modo, com o intuito de reduzi-los Silva et al. (2016) propõe
um tipo de filtro baseado na média dos modos arredondados para o infinito negativo e positivo.
3.1.2 Diretrizes
É razoável supor que os erros de arredondamento são uniformemente distribuídos (Furuya
et al., 1992; Gadzhiev, 2015; Li e Nadarajah, 2016; Landau et al., 2007). De acordo com IEEE-
754 (2008), as operações aritméticas também são arredondadas. Assim, assume-se que um
conjunto finito de funções aritméticas apresenta um erro distribuído uniformemente.
Sabe-se que o arredondamento para ponto-flutuante mais próximo é o mais usual tratando-
se de aritmética computacional. Porém, existem softwares que permitem ao usuário definir
o modo de arredondamento em infinito negativo ou infinito positivo. Levando em conta tais
considerações é estabelecido o lema a seguir.
Lema 3.1.1: Se 𝑖 ∈ N e 𝜉𝑖,𝑛 ∈ R é o limitante do erro e 𝜉𝑖,𝑛 ≥ 0, isto indica a presença da
Silva, M. R.
Capítulo 3. Metodologia 38
diferença entre pseudo-órbitas reais e computacionais (Nepomuceno e Martins, 2016), então
| 𝑥𝑛 − ��𝑖,𝑛 |≤ 𝜉𝑖,𝑛. (3.5)
Deste modo, seja ��−𝑖,𝑛 e ��+
𝑖,𝑛 duas pseudo-órbitas obtidas pelo cálculo dos arredondamentos da
pseudo-órbita ��𝑖,𝑛, nas direções de infinito negativo e infinito positivo, respectivamente. Logo,
a média aritmética é dada por
��𝑗,𝑛 =��+
𝑖,𝑛 + ��−𝑖,𝑛
2 , (3.6)
tal que |��𝑗,𝑛 − 𝑓(��𝑗,𝑛−1)| ≤ 𝛿𝑗,𝑛 apresenta erro de arredondamento inferior ao erro do arre-
dondamento para o mais próximo, com 𝑛 → ∞, logo 𝛿𝑗,𝑛 < 𝛿−𝑖,𝑛∼= 𝛿+
𝑖,𝑛. Ou seja, a média dos
modos arredondados proporciona um erro 𝛿𝑗,𝑛, que é inferior aos erros gerados em razão dos
arredondamentos de uma pseudo-órbita na direção do infinito negativo e positivo.
Prova: Assumindo a Equação (3.6), e considerando as Equações (3.7) e (3.8)
��−
𝑖,𝑛 − 𝑓(��𝑗,𝑛−1)≤ 𝛿−
𝑖,𝑛 (3.7)
��+
𝑖,𝑛 − 𝑓(��𝑗,𝑛−1)≤ 𝛿+
𝑖,𝑛 (3.8)
tem-se:
− 𝛿−𝑖,𝑛 + 𝑓(��𝑗,𝑛−1) ≤ ��−
𝑖,𝑛 ≤ 𝛿−𝑖,𝑛 + 𝑓(��𝑗,𝑛−1) (3.9)
− 𝛿+𝑖,𝑛 + 𝑓(��𝑗,𝑛−1) ≤ ��+
𝑖,𝑛 ≤ 𝛿+𝑖,𝑛 + 𝑓(��𝑗,𝑛−1) (3.10)
somando as Equações (3.9) e (3.10):
− 𝛿−𝑖,𝑛 − 𝛿+
𝑖,𝑛 + 2𝑓(��𝑗,𝑛−1) ≤ ��−𝑖,𝑛 + ��+
𝑖,𝑛 ≤ 𝛿−𝑖,𝑛 + 𝛿+
𝑖,𝑛 + 2𝑓(��𝑗,𝑛−1), (3.11)
e dividindo por 2 a Equação (3.11):
− 𝛿−𝑖,𝑛 − 𝛿+
𝑖,𝑛
2 + 𝑓(��𝑗,𝑛−1) ≤��−
𝑖,𝑛 + ��+𝑖,𝑛
2 ≤𝛿−
𝑖,𝑛 + 𝛿+𝑖,𝑛
2 + 𝑓(��𝑗,𝑛−1). (3.12)
Portanto,
− (𝛿−𝑖,𝑛 + 𝛿+
𝑖,𝑛)2 + 𝑓(��𝑗,𝑛−1) ≤ ��𝑗,𝑛 ≤
𝛿−𝑖,𝑛 + 𝛿+
𝑖,𝑛
2 + 𝑓(��𝑗,𝑛−1), (3.13)
Silva, M. R.
39 3.1. Método para a redução do erro
isto é,
|��𝑗,𝑛 − 𝑓(��𝑗,𝑛−1)| ≤𝛿−
𝑖,𝑛 + 𝛿+𝑖,𝑛
2 . (3.14)
Porém, 𝛿−𝑖,𝑛 e 𝛿+
𝑖,𝑛 foram considerados uniformemente distribuídos e conforme apresentado na
seção 2.9.3, sabe-se que a média de uma variável aleatória conduz a redução da potência do
ruído em 𝑛, que é, neste caso, 2. E isso completa a prova �
Algoritmo 1: Simulação de função recursiva baseada no Lema
1 ��𝑖,0; %Condição inicial2 𝑁 ; %Número de iterações3 ��−
𝑖,0 ← 𝑟𝑜𝑢𝑛𝑑−(��𝑖,0);4 ��+
𝑖,0 ← 𝑟𝑜𝑢𝑛𝑑+(��𝑖,0);5 ��𝑗,0 ← (��−
𝑖,0 + ��+𝑖,0)/2; %Média dos modos arredondados
6 ��−𝑖,0 ← ��𝑗,0;
7 ��+𝑖,0 ← ��𝑗,0;
8 For 𝑛← 1 to 𝑁 %Loop principal9 ��−
𝑖,𝑛 ← 𝑟𝑜𝑢𝑛𝑑−(𝑓(��−𝑗,𝑛−1));
10 ��+𝑖,𝑛 ← 𝑟𝑜𝑢𝑛𝑑+(𝑓(��+
𝑗,𝑛−1));11 ��𝑗,𝑛 ← (��−
𝑖,𝑛 + ��+𝑖,𝑛)/2;
12 ��−𝑖,𝑛 ← ��𝑗,𝑛;
13 ��+𝑖,𝑛 ← ��𝑗,𝑛;
14 EndFor
O Algoritmo 1 é um pseudo-código baseado no lema apresentado. De acordo com as diretrizes
da IEEE-754 (2008), o arredondamento para ponto-flutuante mais próximo é o padrão, portanto
onde não há indicação de qual arredondamento utilizado, considera-se a aproximação para o
mais próximo. Os operadores 𝑟𝑜𝑢𝑛𝑑− e 𝑟𝑜𝑢𝑛𝑑+ indicam arredondamentos para os pontos-
flutuantes mais próximos nas direções de infinito negativo e positivo, respectivamente. Neste
trabalho, os algoritmos foram implementados no software Matlab R2016a e a comparação dos
resultados do sistema discreto, caracterizado por uma função recursiva, feita com os valores
tradicionais de simulação de acordo com a IEEE-754 (2008) ou com valores de alta precisão
fornecidos pelo VPA toolbox do Matlab R2016a.
3.1.3 Método para a redução do ruído em sistemas contínuos
Tratando-se da computação aritmética, o desenvolvimento de algoritmos que sejam exe-
cutáveis em sistemas baseados na aritmética de ponto-flutuante garante vantagens (Kornerup
Silva, M. R.
Capítulo 3. Metodologia 40
et al., 2009). Portanto, nesta seção é apresentada, uma nova estratégia para a redução de ruído
de simulação, com base na média dos arredondamentos para o infinito nas direções negativa
e positiva. A metodologia pode ser comparada a um filtro digital. O método sugerido res-
tringe o ruído gerado pelos erros devido aos processos de arredondamento computacional e à
precisão finita do hardware. Os conceitos, processos e estratégias apresentados na seção 3.1.1
para funções recursivas são estendidos a sistemas dinâmicos contínuos que exibem dinâmica
aperiódica.
Definição 3.2.1: Filtragem iterativa - um sistema dinâmico pode ser usado para representar
um algoritmo sob precisão finita pela Equação (3.15), (Kornerup et al., 2009)
𝑥𝑛+1 = 𝑓(𝑥𝑛,𝑤𝑛). (3.15)
Na Figura 3.1(a), conforme propõe Hasan et al. (2013), 𝑃 representa um sistema dinâmico
Figura 3.1: Diagrama de blocos de um sistema dinâmico em que 𝑥 representa um estado, 𝑤 o estadosujeito ao distúrbio e a 𝑛 iteração. (a) Diagrama adaptado de Hasan et al. (2013). (b) Diagrama
proposto.
qualquer de comportamento caótico, 𝐸 os erros devido a precisão finita e1𝑧
o atraso. Porém,
para a Figura 3.1(b) sugere-se que à cada iteração, o resultado do algoritmo é filtrado e os erros
de precisão finita não mais são iguais ao vetor de estado e às entradas de perturbação do sistema
dinâmico, respectivamente. Portanto, considerando a definição de pseudo-órbita sugerida por
Nepomuceno e Martins (2016), que foi apresentada na seção 3.1.1, e considerando, adicional-
mente, o Lema proposto em 3.1.2 tem-se uma técnica de supressão do caos fundamentada na
limitação do erro e ruídos. Deste modo, a Figura 3.2 ilustra como o procedimento pode ser
aplicado a sistemas caóticos contínuos.
Baseando-se na Figura 3.2, considera-se ��𝑖,𝑛 um pseudo-órbita qualquer, que pode a prin-
Silva, M. R.
41 3.1. Método para a redução do erro
Figura 3.2: Diagrama de blocos do filtro baseado na média dos modos arredondados destinado àfiltragem de ruído.
cípio representar uma constante ou um vetor de condições iniciais, ou a entrada. Em seguida,
realiza-se dois processos computacionais de arredondamento, um na direção do infinito nega-
tivo, ��−𝑖,𝑛, e outro na direção do infinito positivo, ��+
𝑖,𝑛. Assim, a média aritmética de ��−𝑖,𝑛 e ��+
𝑖,𝑛
é obtida. Porém, o resultado desta média, ��𝑗,𝑛, representa uma pseudo-órbita alternativa que
tem seu valor arredondado para o ponto-flutuante mais próximo. Entretanto, conforme definido
na seção 2.9.3, a média de uma variável aleatória ocasiona a diminuição da potência do ruído
em 𝑛, neste caso 2, deste modo, o erro existente na pseudo-órbita alternativa ��𝑗,𝑛 é inferior
ao da pseudo-órbita ��𝑖,𝑛. Sendo assim, busca-se mostrar que o uso deste filtro em simulações
de sistemas caóticos, submetidos aos processos de discretização de Runge-Kutta de terceira,
quarta e quinta ordem (apresentados na seção 2.5), é capaz de limitar os erros e incertezas de
Silva, M. R.
Capítulo 3. Metodologia 42
simulação em razão da redução do ruído, portanto se os resultados da metologia apresentada são
comparados aos resultados originários da norma IEEE-754 (2008), e em alguns casos o caos é
suprimido.
3.2 Hardware e software utilizados
Os cálculos e processos executados para este trabalho foram realizados no software Matlab
R2016a em um computador com processador Intel(R) Core(TM) i7-5500U, CPU @ 2.40GHz,
sistema operacional Windows 10 de 64 bits e processador com base em x64. As rotinas de imple-
mentação das metodologias desenvolvidas estão disponíveis na seção A, referente ao Apêndice.
Silva, M. R.
CAPÍTULO 4
Resultados
Apresentam-se a seguir, resultados e considerações da aplicação da metodologia proposta
neste trabalho. Assim, a seção em questão aborda, primeiramente, o uso do método para sis-
temas discretos, sendo que o sistema escolhido é o mapa logístico. Em seguida, aplica-se a
estratégia de supressão a dois sistemas contínuos, o circuito de Chua e o sistema de Lorenz.
4.1 Redução do erro do mapa logístico
Considerando o sistema não-linear, discreto apresentado na seção 2.4 são apresentados três
casos que constatam a eficiência do método proposto para este sistema.
4.1.1 Caso 1 - A convergência para o ponto fixo
Admitindo 𝑥0 = 1/3,9 e 𝑟 = 3,9 na Equação (2.11), e utilizando-se o tradicional arre-
dondamento para o ponto-flutuante mais próximo, tem-se um comportamento caótico. Mas,
recorrendo ao método proposto na seção 3.1.1 constata-se que a função recursiva, característica
do mapa logístico, converge para um ponto fixo como mostrado na Tabela 4.1.
Observando ��𝑖,𝑛, nota-se que o valor da terceira iteração é igual ao da segunda para o for-
mato decimal, assim seria possível acreditar que houve convergência para um ponto fixo, mas
inspecionando os resultados em formato hexadecimal conclui-se que não houve convergência.
Assim, para o método de redução do erro expresso por ��𝑗,𝑛, o valor da terceira iteração é igual ao
da segunda, e assim sucessivamente, tanto em formato decimal quanto em hexadecimal. Assim,
��𝑗,𝑛 atinge um ponto fixo, que é a resposta exata esperada para os valores de 𝑥0 e 𝑟 estipulados,
43
Capítulo 4. Resultados 44
Tabela 4.1: Iterações do mapa logístico para 𝑥0 = 1/3,9 e 𝑟 = 3,9. ��𝑖,𝑛 caracteriza o arredondamentopara o mais próximo e ��𝑗,𝑛 o método sugerido em 3.1.2. Os valores são mostrados em notação decimal
e hexadecimal. Rotina mlre_caso1.m.
𝑛 ��𝑖,𝑛 (hex) ��𝑖,𝑛 (dec) ��𝑗,𝑛 (hex) ��𝑗,𝑛 (dec)1 3fd0690690690691 0,256410256410256 3fd0690690690691 0,2564102564102562 3fe7cb7cb7cb7cb8 0,743589743589744 3fe7cb7cb7cb7cb8 0,7435897435897443 3fe7cb7cb7cb7cb7 0,743589743589744 3fe7cb7cb7cb7cb8 0,7435897435897444 3fe7cb7cb7cb7cb9 0,743589743589744 3fe7cb7cb7cb7cb8 0,7435897435897445 3fe7cb7cb7cb7cb5 0,743589743589743 3fe7cb7cb7cb7cb8 0,7435897435897446 3fe7cb7cb7cb7cbd 0,743589743589744 3fe7cb7cb7cb7cb8 0,7435897435897447 3fe7cb7cb7cb7cae 0,743589743589743 3fe7cb7cb7cb7cb8 0,7435897435897448 3fe7cb7cb7cb7ccb 0,743589743589746 3fe7cb7cb7cb7cb8 0,7435897435897449 3fe7cb7cb7cb7c93 0,743589743589740 3fe7cb7cb7cb7cb8 0,743589743589744
10 3fe7cb7cb7cb7cfd 0,743589743589751 3fe7cb7cb7cb7cb8 0,743589743589744
como exibido nas Equações (4.1) e (4.2) a seguir:
𝑥1 = 3,9(1/3,9)(1− (1/3,9)) = (1− 10/39) = 29/39 (4.1)
𝑥2 = 3,9(29/39)(1− 29/39) = 29/39 (4.2)
e 29/39 ≈ 0,743589743589744 é um ponto fixo, que é o valor de convergência de ��𝑗,𝑛. Já
a pseudo-órbita ��𝑖,𝑛 diverge e apresenta um comportamento caótico conforme ilustra a Figura
4.1.
4.1.2 Caso 2 - Visualização da redução do erro
Para 𝑥0 = 0,01 e 𝑟 = 3,9, a Figura 4.2 mostra o gráfico logaritmo, em base 10, das pri-
meiras vinte iterações do erro para o caso do mapa logístico. Sendo que o erro apresentado foi
calculado por meio da toolbox VPA do Matlab com precisão de 1000 dígitos. Deste modo, duas
abordagens são mostradas, uma baseada na metodologia tradicional de simulação, segundo as
diretrizes da IEEE-754 (2008) para o arredondamento do ponto-flutuante mais próximo e outra
fundamentada na estratégia apresentada na seção 3.1. Observa-se que, a princípio, o método
sugerido apresenta erro superior ao tradicional, porém após algumas iterações o erro torna-se
menor.
4.1.3 Caso 3 - Generalizações
Seja o sistema característico do mapa logístico, admitindo três conjuntos de condições ini-
ciais e parâmetros de bifurcação, dados por (𝑥0, 𝑟) = [(0,1, 4,2); (0,2, 4); (0,41, 3,85)].
Silva, M. R.
45 4.1. Redução do erro do mapa logístico
Figura 4.1: Propagação do erro do mapa logístico com 𝑥0 = 1/3,9 e 𝑟 = 3,9. Onde (-o-) e (-x-)representam, respectivamente, o erro característico da metodologia tradicional e sugerida. Rotina
mlre_caso1.m.
Tabela 4.2: Resultados de 𝜉𝑖,𝑛 e 𝛿𝑗,𝑛 do mapa logístico, considerando diferentes condições iniciais 𝑥0, ediferentes valores de 𝑟. Rotina mlre_caso3.m.
𝑥0 = 0,1 e 𝑟 = 4,2 𝑥0 = 0,2 e 𝑟 = 4 𝑥0 = 0,41 e 𝑟 = 3,85𝑛 𝜉𝑖,𝑛 𝛿𝑗,𝑛 𝜉𝑖,𝑛 𝛿𝑗,𝑛 𝜉𝑖,𝑛 𝛿𝑗,𝑛
1 9,33254 e-18 9,33254 e-18 4,57088 e-16 1,20226 e-16 3,63078 e-16 2,69153 e-172 3,98107 e-17 3,31131 e-17 7,58577 e-16 9,12010 e-17 7,76247 e-16 6,76082 e-183 1,38038 e-16 8,31763 e-17 1,99526 e-15 2,08929 e-16 1,25893 e-15 4,67735 e-174 3,38844 e-16 1,17489 e-17 1,41253 e-15 6,76082 e-17 2,81838 e-15 1,28824 e-165 1,86208 e-15 7,58577 e-16 5,24807 e-15 2,69153 e-16 3,23593 e-15 2,51188 e-166 1,90546 e-15 6,91830 e-16 1,62181 e-14 8,51138 e-16 9,33254 e-15 7,07945 e-167 7,76247 e-15 2,81838 e-15 1,28824 e-14 6,76082 e-16 6,02559 e-15 4,67735 e-168 2,88403 e-14 1,04712 e-14 4,78630 e-14 2,51188 e-15 1,99526 e-14 1,54881 e-159 6,30957 e-14 2,29086 e-14 1,34896 e-13 7,07945 e-15 4,16869 e-14 3,23593 e-15
10 1,41253 e-13 5,12861 e-14 4,16869 e-15 1,94984 e-16 5,88843 e-14 4,46683 e-15
Na Tabela 4.2 são mostrados os erros 𝜉𝑖,𝑛 e 𝛿𝑗,𝑛, característicos dos métodos clássico e de
limitação do erro, proposto em 3.1.1. Apresentam-se as primeiras dez iterações do mapa logís-
tico, sendo que foram considerados três conjuntos distintos de condições iniciais e parâmetros
de bifurcação. Nota-se que, há uma diminuição geral no erro ao longo do processo de ite-
ração. Vale ressaltar que os parâmetros utilizados foram arbitrariamente definidos, entretanto
Silva, M. R.
Capítulo 4. Resultados 46
Figura 4.2: Propagação do erro do mapa logístico com 𝑟 = 3,9 e 𝑥0 = 0,01. Onde (-o-) e (-x-)representam, respectivamente, o erro característico da metodologia tradicional e sugerida. Rotina
mlre_caso2.m.
realizaram-se muitos outros testes com diferentes valores realizamos e comportamentos seme-
lhantes a esses foram constatados.
4.2 Redução do erro aplicada a sistemas contínuos
A filtragem foi aplicada ao circuito de Chua e ao sistema de Lorenz, em condições nas quais
o comportamento esperado é aperiódico porém a ação do filtro fornece redução de ruído e,
portanto, o comportamento dinâmico do sistema é modificado tornando-se periódico.
4.2.1 Caso 1 - Circuito de Chua
Considerado um dos sistemas mais explorados para o estudo da dinâmica não-linear e do
caos, o circuito de Chua é conhecido por sua dinâmica caótica (Chua, 1994). Conforme apresen-
tado na seção 2.3 é composto de elementos lineares: dois capacitores, um indutor, um resistor
(Kennedy, 1992) e um resistor não-linear, o diodo de Chua. Assim, as Tabelas 4.3 e 4.4 trazem
Silva, M. R.
47 4.2. Redução do erro aplicada a sistemas contínuos
os parâmetros utilizados na simulação do circuito. Estes valores foram obtidos heuristicamente
com intuito de exprimir um comportamento aperiódico, que é suficientemente próximo ao re-
gime periódico.
Tabela 4.3: Valores de componentes e constantes encontrados heuristicamente, e utilizados nassimulações do circuito de Chua.
Componentes Valores
𝐶1 10 nF𝐶2 100 nF𝐿 19,2 mH𝑅 1975 Ω
𝑚0 -0,37 mS𝑚1 -0,68 mS𝐵𝑝 1,1 V
Tabela 4.4: Valores de condições iniciais e constantes de tempo do circuito de Chua.
Componentes Valores
𝑉𝐶1 0,7𝑉
𝑉𝐶2 0𝑉
𝑖𝐿 0𝐴
Passo de integração 1𝜇𝑠
Tempo de simulação 75𝑚𝑠
Os resultados exibidos na Figura 4.3 são consequências de diferentes estratégias de inte-
gração Runge-Kutta de terceira, quarta e quinta ordem. Para cada procedimento de integração
realizaram-se duas simulações: uma tradicional, sem a presença do filtro e outra com o filtro. As
simulações tradicionais, como esperado, apresentam um comportamento aperiódico, enquanto
a tensão 𝑣𝐶1(−) comporta-se periodicamente quando o filtro é incorporado em série ao sistema.
Sabe-se que, o cálculo do expoente de Lyapunov é usado para indicar se um sistema é caótico.
Deste modo, para legitimar os resultados obtidos por ambos os métodos, esse expoente é cal-
culado usando o programa Lyapmax (Kodba et al., 2005) que opera segundo o método de Wolf
et al. (1985) e tem valores apresentados na Tabela 4.5.
É possível observar que, a inclusão do filtro à planta foi suficiente para conduzir um sis-
tema de comportamento tipicamente aperiódico a outra região, de comportamento periódico.
Conforme mostra a Tabela 4.5, constata-se que os resultados não filtrados, método tradicional,
possuem expoente de Lyapunov positivo. Porém, os resultados oriundos da filtragem apresen-
tam expoentes negativos. Deste modo, nota-se que a inserção do filtro ao sistema é suficiente
Silva, M. R.
Capítulo 4. Resultados 48
Figura 4.3: Tensão no diodo de Chua para a simulação sem a presença do filtro, 𝑣𝐶1(−−), e submetidaao método de supressão de caos 𝑣𝐶1(−). Mediante aos seguintes métodos de discretização: (a)
Runge-Kutta de terceira ordem; (b) Runge-Kutta de quarta ordem; (c) Runge-Kutta de quinta ordem;Rotina mainchua.m.
Silva, M. R.
49 4.2. Redução do erro aplicada a sistemas contínuos
Figura 4.4: Atratores caraterísticos do circuito de Chua simulações sem a presença do filtro (a), (c) e(e), e atratores do sistema submetido ao método de supressão de caos (b), (d) e (f). Mediante aos
métodos de discretização: Runge-Kutta de terceira ordem, (a) e (b); Runge-Kutta de quarta ordem, (c) e(d); Runge-Kutta de quinta ordem, (e) e (f); Rotina mainchua.m.
Silva, M. R.
Capítulo 4. Resultados 50
para gerar um atrator periódico para um sistema, tradicionalmente, representado por um atrator
estranho, Figura 4.4. Portanto, por meio de diferentes técnicas de integração numérica, observa-
se que o filtro, fundamentado no propósito da redução do ruído, como explicado na seção 3, é
capaz de suprimir o caos do circuito de Chua, de acordo com as condições estipuladas.
Tabela 4.5: Valores dos maiores expoentes de Lyapunov do circuito de Chua submetido aos processosde discretização de Runge-Kutta de terceira, quarta e quinta ordem, para a metodologia tradicional e de
filtragem.
Método de Runge-Kutta Método tradicional FiltragemRK3 11,164 -4,890
RK4 7,532 -4,871
RK5 12,308 -5,151
4.2.2 Caso 2 - Sistema de Lorenz
O sistema de Lorenz, tratado na seção 2.9, é um dos exemplos mais conhecidos e estuda-
dos na literatura, uma vez que descreve um modelo meteorológico que se comporta de maneira
caótica. A Tabela 4.6 traz os parâmetros do sistema que foram heuristicamente encontrados
com intuito de exibir um comportamento aperiódico de transição. Deste modo, espera-se que
a intensidade do movimento de convecção, simulada tradicionalmente sob as regras da norma
IEEE-754 (2008), seja aperiódica. Tal comportamento é verificado na Figura 4.5, em 𝑥(−−).
Porém, recorrendo ao método proposto, observa-se na Figura 4.5, em 𝑥(−), uma notória dife-
rença, pois o sistema comporta-se periodicamente e tem dinâmica caracterizada por um ciclo
limite, Figura 4.6.
Tabela 4.6: Valores de condições iniciais, parâmetros característicos e constantes de tempo do sistemade Lorenz obtidos heuristicamente.
Parâmetros Valores
𝑥0 0,06735𝑦0 1,8841𝑧0 15,7734𝜎 7,6𝜌 65𝛽 5,3
Passo de intergração 10 𝑚𝑠
Tempo de simulação 1 𝑠
Observa-se que a intensidade do movimento de convecção, se classicamente implementada,
comporta-se de maneira distinta para cada método de discretização (RK3, RK4 e RK5). En-
Silva, M. R.
51 4.3. Conclusões do capítulo
tretanto, quando submetida à ação do filtro comporta-se periodicamente para os três tipos de
discretização, o que é bastante sugestivo. Assim, calcula-se o maior exponente de Lyapunov
para cada caso, usando o programa Lyapmax (Kodba et al., 2005) que opera segundo o método
de Wolf et al. (1985), e constata-se o comportamento periódico, e consequente supressão do
caos, para o sistema sujeito a influência do filtro, Tabela 4.7.
Tabela 4.7: Valores dos maiores expoentes de Lyapunov do sistema de Lorenz submetido aos processosde discretização de Runge-Kutta de terceira, quarta e quinta ordem, para a metodologia tradicional e de
filtragem.
Método de Runge-Kutta Método tradicional FiltragemRK3 0,344215 -0,011370
RK4 0,087915 -0,001371
RK5 0,165580 -0,001362
4.3 Conclusões do capítulo
Esta seção apresentou considerações a respeito de um método que limita os erros e ruídos
computacionais. Conforme apresentado para o caso do mapa logístico, a metodologia proposta
forneceu como resultado a convergência para o ponto fixo, o que é matematicamente esperado
para os parâmetros 𝑥0 = 1/3,9 e 𝑟 = 3,9, mas que computacionalmente, utilizando o arre-
dondamento para o ponto-flutuante mais próximo, não ocorre. Do mesmo modo, mostrou-se
também, graficamente, a limitação da propagação do erro. E ainda, para diferentes valores de
𝑥0 e 𝑟 comparou-se os resultados fornecidos pelo arredondamento tradicional e pela técnica
proposta aos da VPA toolbox do Matlab R2016a, que gera resultados de alta precisão, e assim
constatou-se que os erros gerados pelo método sugerido neste trabalho são inferiores aos erros
proporcionados pela processo tradicional de simulação. Logo, pode-se afirmar que o método
de limitação do ruído computacional aplicado ao sistema discreto proporciona resultados onde
a propagação do erro é menor, o que foi claramente exibido por uma referência simbólica e um
resultado analítico. .
Aplicando a filtragem apresentada na seção 3.1.3 aos sistemas de Chua e Lorenz, constata-
se que esta tem capacidade fornecer comportamentos periódicos, e em alguns casos suprimir o
caos em regiões de transição. Isto é, regiões que mediante a processos de simulação com arre-
dondamento para o ponto-flutuante mais próximo apresentam comportamento aperiódico, mas
estão na iminência do comportamento periódico. Logo, o filtro incorporado às plantas desses
Silva, M. R.
Capítulo 4. Resultados 52
sistemas em regiões de transição, encontradas heuristicamente, proporciona a supressão do caos
que é constatada por meio do cálculo do expoente de Lyapunov. É importante ressaltar que três
diferentes métodos de discretização foram utilizados nas simulações do circuito de Chua, e que
estes fornecem, tradicionalmente, três comportamentos caóticos distintos para o sistema, porém
o resultado periódico é praticamente idêntico nos três processos de discretização. E o mesmo
ocorre para o sistema de Lorenz. Portanto, nota-se que o método limita os erros de tradicionais
de arredondamento e contorna as diferenças entre os métodos de discretização proporcionando
um resultado periódico para cada um dos sistemas trabalhados, e consequentemente, suprime o
caos.
Silva, M. R.
53 4.3. Conclusões do capítulo
Figura 4.5: Intensidade do movimento de convecção sem a presença do filtro, 𝑥(−−), e submetida aométodo de supressão de caos 𝑥(−). Mediante aos seguintes métodos de discretização: (a) Runge-Kutta
de terceira ordem; (b) Runge-Kutta de quarta ordem; (c) Runge-Kutta de quinta ordem; Rotinamainlorenz.m.
Silva, M. R.
Capítulo 4. Resultados 54
Figura 4.6: Atratores caraterísticos do sistema de Lorenz simulações sem a presença do filtro (a), (c) e(e), e atratores do sistema submetido ao método de supressão de caos (b), (d) e (f). Mediante aos
métodos de discretização: Runge-Kutta de terceira ordem, (a) e (b); Runge-Kutta de quarta ordem, (c) e(d); Runge-Kutta de quinta ordem, (e) e (f); Rotina mainlorenz.m.
Silva, M. R.
CAPÍTULO 5
Conclusoes
5.1 Considerações finais
No presente trabalho, apresentou-se um método fundamentado na média dos arredondamen-
tos para infinito positivo e negativo, que proporciona a simulação de funções recursivas com
redução de erro. A metodologia explora a natureza estocástica do arredondamento, e consiste
na média de dois valores arredondados.
Tratando-se de sistemas discretos, utilizou-se como teste o mapa logístico, e três casos foram
apresentados. Assim, nota-se que o método é capaz de manter o ponto fixo correto, enquanto o
arredondamento para o mais próximo diverge para o comportamento não periódico, ou seja, evi-
tou a divergência de um regime estacionário; proporcionou melhoria de um dígito na precisão;
e ainda constatou-se graficamente a limitação do erro. É importante ressaltar que a metodologia
de limitação do erro não ocasiona aumento significativo do tempo computacional, consequen-
temente poderia provavelmente ser facilmente estendida para outras aplicações como solução
numérica de equações diferenciais, assim como em Yu et al. (2016).
Por conseguinte, expande-se a técnica proposta e aplica-se a sistemas dinâmicos contínuos
de comportamento caótico. Os sistemas escolhidos foram de Lorenz e o circuito de Chua.
Contudo, os parâmetros utilizados destes sistemas foram escolhidos em uma região limítrofe,
em que o método tradicional apresenta comportamento não periódico. Nas simulações utilizou-
se três diferentes processos de discretização, Runge-Kutta de terceira, quarta e quinta ordem.
Porém, a cada passo de discretização ocorre acumulação do erro, o que distancia o resultado
da solução real. Assim, de acordo com Cartwright e Piro (1992) existem dois tipos de erros: o
de arredondamento: provocado pelas limitações da precisão finita da aritmética computacional,
55
Capítulo 5. Conclusões 56
o qual é incrementado a cada etapa e depende do número e das operações realizadas passo a
passo e geralmente, não é considerado na análise numérica de algoritmos, porque depende do
hardware no qual o algoritmo é implementado; e o erro de truncamento, que ocorre inclusive
na aritmética de precisão infinita, pois é provocado pelo truncamento da série infinita de Taylor
que constitui o algoritmo. Este erro é relacionado ao tamanho do passo de integração, da ordem
do método de Runge-Kutta e do problema.
A respeito das limitações dos métodos de discretização, é possível notar que ambos sis-
temas, Lorenz e Chua, quando submetidos ao arredondamento para o mais próximo, isto é,
quando comportam-se de modo aperiódico, tem para uma mesma implementação de mesmas
condições iniciais, resultados distintos, assim, comprova-se a influência dos erros em processos
de discretização. Por outro lado, se a metodologia de redução do erro é aplicada às simulações
destes sistemas, isto é, se o filtro é incorporado à planta de cada um destes sistemas obtem-se
comportamento periódico, que independe do processo de discretização aplicado, e é constatado
por meio do cálculo do expoente de Lyapunov. Portanto, a filtragem baseada na média dos ar-
redondamentos, que visa reduzir o ruído na simulação de sistemas caóticos, levou à supressão
do caos.
Apresenta-se um caso, em que a redução da variância do erro ocasionada pela média dos
valores arredondados para infinito positivo e negativo foi suficiente para suprimir o comporta-
mento não periódico, evidenciando, a ligação entre caos e ruído, em ambiente computacional.
Isto mostra que, embora uma simulação possa ser vista como uma experiência teórica, de fato
esta apresenta características do mundo real, como sinais estocásticos, e portanto, ferramentas
usuais apresentadas na engenharia podem ser aplicadas.
Sabendo que, este trabalho teve como alvo a limitação de erros, incertezas e ruídos computa-
cionais. Constatou-se que a técnica desenvolvida, fundamentada em processos computacionais
rigorosos, análogos a ação de um filtro, é capaz de proporcionar a supressão do caos de siste-
mas que em mesmas condições comportam-se de modo aperiódico. Deste modo, serão os erros
agentes causadores do comportamento caótico? Sobre isto ainda não é possível ter certeza. Li
e Liao (2016) sugerem que ruídos numéricos, como o truncamento e os erros de arredonda-
mento, exercem forte influência em sistemas que transitam entre os comportamentos caótico e
de equilíbrio. Para Zhang et al. (2015); Kloeden (1994); McKenna e Temam (1988), os erros de
arredondamento introduzem o caos espúrio, e de acordo com Corless (1994), pequenos efeitos
Silva, M. R.
57 5.2. Trabalhos futuros
físicos negligenciados em modelos matemáticos, ou mesmo erros de arredondamento simples,
podem ser amplificados ao longo do tempo para que o resultado previsto seja diferente do re-
sultado real. Portanto, o filtro proposto evita a amplificação de ruídos simulacionais, que não
deixam de ser processos práticos reais, e mais, age como um agente de supressão do caos.
5.2 Trabalhos futuros
Dando continuidade ao método apresentado neste trabalho, busca-se:
• Pretende-se realizar o diagrama de bifurcação de modo a verificar a faixa em que ocorre
a da supressão do caos, uma vez que os parâmetros dos sistemas de Chua e Lorenz foram
escolhidos na região limítrofe do caos;
• Aplicar a mais sistemas dinâmicos discretos e contínuos utilizando diferentes métodos
para o cálculo do expoente de Lyapunov;
• Aumentar o número de métodos de arredondamento, com intuito de verificar a redução da
variância;
• Sabendo que a média provoca redução da variância do erro, pretende-se investigar as ra-
zões de um resultado com ruído de menor variância apresentar comportamento periódico;
• Pretende-se aprimorar a metodologia exposta de modo que o erro seja empiricamente
reduzido;
• Conforme discutido em Mendes e Nepomuceno (2017); Nepomuceno e Martins (2016),
espera-se investigar se o uso de extensões intervalares e outros modos de arredondamento
proporcionam a redução do ruído ou comportamento periódico.
Silva, M. R.
Referencias Bibliograficas
Šalamon, M. e Dogša, T. (2004). Problem of non-repeatability of the circuits simulation. Infor-
macije MidemJournal of Microlectronics Electronic Components and Materials, 34(1):11–
17.
Alefeld, G. e Herzberger, J. (2012). Introduction to Interval Computation. Academic Press.
Antoniou, A. (1969). Realisation of Gyrators Using Operational Amplifiers, and Their Use
in RC-Active-Network Synthesis. In Proceedings of the Institution of Electrical Engineers,
volume 116, pp. 1838–1850. IET.
Blanchard, P., Devaney, R. L., e R., H. G. (1998). Differential Equations. Brooks - Cole.,
Boston.
Butcher, J. C. (1964). Implicit Runge-Kutta Processes. Mathematics of Computation,
18(85):50–64.
Campos, M. A. e Lima, P. F. (2005). Introdução ao tratamento da informação nos Ensinos
Fundamental e Médio. Sociedade Brasileira de Matemática Aplicada e Computacional -
SBMAC.
Cartwright, J. H. e Piro, O. (1992). The dynamics of Runge–Kutta methods. International
Journal of Bifurcation and Chaos, 2(03):427–449.
Chapra, S. C. e Canale, R. P. (1998). Numerical methods for engineers, volume 2. McGraw-Hill
New York.
Chua, L. O. (1992). The genesis of Chua’s circuit, volume 46. Electronics Research Laboratory,
College of Engineering, University of California.
59
Referências Bibliográficas 60
Chua, L. O. (1994). Chua’s circuit 10 years later. International Journal of Circuit Theory and
Applications, 22(4):279–305.
Corless, R. M. (1994). What good are numerical simulations of chaotic dynamical systems?
Computers & Mathematics with Applications, 28(10):107–121.
Furuya, K., Date, H., e Fukudome, K. (1992). Effects of finite register length in the fast har-
tley transform. Electronics and Communications in Japan (Part III: Fundamental Electronic
Science), 75(1):76–86.
Gadzhiev, Y. A. (2015). On the variance of a centered random value roundoff error. Signal
Processing, 106:30–40.
Galias, Z. (2013). The Dangers of Rounding Errors for Simulations and Analysis of Nonlinear
Circuits and Systems - and How to Avoid Them. IEEE Circuits and Systems Magazine,
13(3):35–52.
Gilmore, R. e Lefranc, M. (2012). The topology of chaos: Alice in stretch and squeezeland.
John Wiley & Sons.
Grinstead, C. M. e Snell, J. L. (2012). Introduction to probability. American Mathematical Soc.
Guan, K. (2014). Important notes on Lyapunov exponents. arXiv preprint arXiv:1401.3315.
Hasan, A., Kerrigan, E. C., e Constantinides, G. A. (2013). Technical notes and correspondence.
IEEE - Transactions on Automatic Control, 58(6):1524 – 1529.
Heath, M. T. (2002). Scientific computing: an introductory survey, volume 2. McGraw-Hill
New York.
Hénon, M. (1976). A two-dimensional mapping with a strange attractor. Communications in
Mathematical Physics, 50(1):69–77.
IEEE (2015). IEEE standard for interval arithmetic. 2015.
IEEE-754 (2008). IEEE standard for floating-point arithmetic. IEEE Computer Society Std,
2008.
Kennedy, M. P. (1991). Experimental chaos via Chua’s circuit. Electronics Research Labora-
tory, College of Engineering, University of California.
Silva, M. R.
61 Referências Bibliográficas
Kennedy, M. P. (1992). Robust amp-op realization of Chua’s circuit. Frequenz., 46(3):66–80.
Kiliç, R. (2010). A practical guide for studying Chua’s circuits, volume 71. World Scientific.
Kloeden, P. E. (1994). Chaotic Numerics: An International Workshop on the Approximation and
Computation of Complicated Dynamical Behavior, Deakin University, Geelong, Australia,
July 12-16, 1993, volume 172. American Mathematical Soc.
Kodba, S., Perc, M., e Marhl, M. (2005). Detecting chaos from a time series. European Journal
of Physics, 26(1):205–215.
Kornerup, P., Montuschi, P., Muller, J.-M., e Schwarz, E. (2009). Guest editors’ introduction:
Special section on computer arithmetic. IEEE Transactions on Computers, 58(2):145–147.
Ladeira, G. M. V., Lima, G. V., e Araújo, C. A. (2015). Analysis of nonlinear dynamics using
electronic circuits. 23rd ABCM International Congress of Mechanical Engineering - CO-
BEM.
Lambers, J. V. e Sumner, A. C. (December 20, 2016). Explorations in Numerical Analysis.
Landau, R., Paez, M. J., e Bordeianu, C. C. (2007). Computational physics : problem solving
with computers. Wiley-VCH John Wiley distributor, Weinheim Chichester.
Lathi, B. P. (2007). Sinais e Sistemas Lineares. Bookman, 2ª edição.
Li, R. e Nadarajah, S. (2016). Mean and variance of round off error. Signal Processing,
127:185–190.
Li, X. e Liao, S. (2016). The influence of numerical noises on statistics computation of chaotic
dynamic systems. arXiv preprint arXiv:1609.09354.
Liao, S. e Wang, P. (2014). On the mathematically reliable long-term simulation of chaotic
solutions of Lorenz equation in the interval [0,10000]. Science China: Physics, Mechanics
and Astronomy, 57(2):330–335.
Lorenz, E. N. (1963). Deterministic nonperiodic flow. Journal Of The Atmospheric Sciences,
2(20):130–141.
Lozi, R. (2013). Can we trust in numerical computations of chaotic solutions of dynamical
systems, volume 84. World Scientific Series in Nonlinear Science Series A.
Silva, M. R.
Referências Bibliográficas 62
Maharana, G. e Meher, P. (1997). Algorithm for efficient interpolation of real-valued signals
using discrete hartley transform. Computers & Electrical Engineering, 23(2):129–134.
Matsumoto, T. (1984). A chaotic attractor from Chua’s circuit. IEEE Transactions on Circuits
and Systems, 31(12):1055–1058.
May, R. M. (1976). Simple mathematical models with very complicated dynamics. The Journal
Nature, (261):459–467.
Mcdonough, P. V., Noonan, J. P., e Hall, G. (1995). A new chaos detector. Computers &
Electrical Engineering, 21(6):417–431.
McKenna, J. e Temam, R. (1988). ICIAM’87: proceedings of the first international conference
on industrial and applied mathematics . SIAM.
Mendes, E. e Nepomuceno, E. G. (2017). On the analysis of pseudo-orbits of continuous cha-
otic nonlinear systems simulated using discretization schemes in a digital computer. Chaos,
Solitons & Fractals, 95:21–32.
Mendes, E. M. A. M. e Nepomuceno, E. G. (2016). A Very Simple Method to Calculate the
(Positive) Largest Lyapunov Exponent Using Interval Extensions. International Journal of
Bifurcation and Chaos, 26(13):1650226.
Monteiro, L. H. A. (2006). Sistemas Dinâmicos, volume 2ª ediçáo.
Moore, R. E., Kearfott, R. B., e Cloud, M. J. (2009). Introduction to interval analysis. SIAM.
Nagle, R. K., Saff, E. B., Snider, A. D., e S13/00 (1989). Fundamentals of differential equations.
Benjamin/Cummings Publishing Company.
Nepomuceno, E. G. (2014). Convergence of recursive functions on computers. The Journal of
Engineering, pp. 1–3.
Nepomuceno, E. G. e Martins, S. A. M. (2016). A Lower Bound Error for Free-Run Simulation
of the Polynomial NARMAX. Systems Science & Control Engineering, 4(1):50–58.
Ott, E. (2002). Chaos in dynamical systems. Cambridge: Cambridge University Press.
Overton, M. L. (2001). Numerical computing with IEEE floating point arithmetic. SIAM.
Silva, M. R.
63 Referências Bibliográficas
Parhami, B. (2012). Computer arithmetic algorithms and hardware architectures. Oxford Univ.
Press, New York.
Rodrigues Jr, H. M. (2016). Método intervalar para análise de mapas discretos . Dissertação,
Programa de Pós-Graduação em Engenharia Elétrica UFSJ/CEFET-MG.
Rössler, O. E. (1976). An equation for continuous chaos. Physics Letters A, 57(5):397–398.
Rothwell, E. J. e Cloud, M. J. (2012). Automatic error analysis using intervals. IEEE Transac-
tions on Education, 55(1):9–15.
Saltzman, B. (1962). Finite amplitude free convection as an initial value problem—I. Journal
of the Atmospheric Sciences, 19(4):329–341.
Shi, W., Wu, J., Lam, S.-k., e Srikanthan, T. (2016). Algorithms for bi-objective multiple-choice
hardware/software partitioning. Computers & Electrical Engineering, 50:127–142.
Silva, M. R., Nepomuceno, E. G., Amaral, G. F. V., Martins, S. A. M., e G., N. L. (2017).
Exploiting the rounding mode of floating-point in the simulation of Chua’s circuit. Disconti-
nuity, Nonlinearity, and Complexity, (ISSN 2164-6376.).
Silva, M. R., Nepomuceno, E. G., Amaral, G. F. V., e Silva, V. V. R. (2016). Simulation of
Chua’s circuit by means of interval analysis. International Conference on Nonlinear Science
and Complexity - 6th NSC.
Skeldon, A. (1994). Dynamics of a parametrically excited double pendulum. Physica D: Non-
linear Phenomena, 75(4):541–558.
Spezamiglio, A. e Pereira, W. F. (2003). Ordem no caos de Devaney. Matemática Universitária,
35:31–40.
Sugihara, K. e Iri, M. (1989). Two design principles of geometric algorithms in finite-precision
arithmetic. Applied Mathematics Letters, 2(2):203–206.
Taylor, J. R. (2005). Classical Mechanics. University Science Books.
Tôrres, L. A. e Aguirre, L. A. (2005). Pcchua—a laboratory setup for real-time control and
synchronization of chaotic oscillations. International Journal of Bifurcation and Chaos,
15(08):2349–2360.
Silva, M. R.
Referências Bibliográficas 64
Tôrres, L. e Aguirre, L. (2000). Inductorless Chua’s circuit. Electronics Letters, 36(23):1915–
1916.
Valle, K. N. F. (2012). Métodos numéricos de Euler e Runge-Kutta. Dissertação, Universidade
Federal de Minas Gerais - UFMG.
Viana, G. V. R. (1999). Padrão IEEE 754 para aritmética binária de ponto-flutuante. Revista
CT, 1(1):29–33.
Wang, C. e Tang, T. (2014). Recursive least squares estimation algorithm applied to a class
of linear-in-parameters output error moving average systems. Applied Mathematics Letters,
29:36–41.
Weber, R. F. (2000). Fundamentos de arquitetura de computadores. Sagra Luzzatto.
Wolf, A., Swift, J. B., Swinney, H. L., e Vastano, J. A. (1985). Determining Lyapunov exponents
from a time series. Physica D: Nonlinear Phenomena, 16(3):285–317.
Ynoguti, C. A. (2011). Probabilidade, estatística e processos estocásticos.
Yu, K.-N., Wang, C.-C., Yau, H.-T., e Chen, J.-L. (2016). Numerical computation and nonlinear
dynamic analysis of ultrasonic cutting system. Computers & Electrical Engineering, 51:270–
283.
Zhang, Y., Ji, G., Dong, Z., Wang, S., e Phillips, P. (2015). Comment on “an investigation into
the performance of particle swarm optimization with various chaotic maps”. Mathematical
Problems in Engineering.
Zhong, G.-Q. e Ayrom, F. (1985). Experimental confirmation of chaos from Chua’s circuit.
International journal of circuit theory and applications, 13(1):93–98.
Silva, M. R.
APÊNDICE A
Rotinas Computacionais
A.1 mainchua_extensao.m - Arquivo principal
Somente o arquivo principal, mainchua_extensao.m, deverá ser acionado este fornecerá os
resultados de extensões de 𝑣𝐶1 mediante ao processo de discretização Runge-Kutta de quarta
ordem.
%UNIVERSIDADE FEDERAL DE SAO JOAO DEL-REI
%PROGRAMA DE POS-GRADUACAO EM ENGENHARIA ELETRICA UFSJ/CEFET
clc
close all
clear all
y0=[-0.7 0 0]
tf=0.075;
h=1e-6;
tspan = 0:h:tf;
y = ode4(@chuakennedy1992_extensao1,tspan,y0);
y1 = ode4(@chuakennedy1992_extensao2,tspan,y0);
figure(1)
plot(1:30000,y((1:30000),1),'k',1:30000, y1((1:30000),1),'k--','Linewidth',1.2)
axis([0 30000 -4.5 4.5])
box off
xlabel('t(ms)')
ylabel('(1/C1)((1/R)(vC2-vC1)- id)')
legend('Extensao Intervalar 1','Extensao Intervalar 2')
set(gcf, 'PaperPosition', [0 0 20 10]);
set(gcf, 'PaperSize', [50 10]);
65
Apêndice A. Rotinas Computacionais 66
set(gca,'FontSize',35,'Fontname','Times New Roman')
saveas(gcf, 'tensao', 'pdf')
saveas(gcf, 'tensao', 'jpg')
A.1.1 chuakennedy1992_extensao1.m - Arquivo secundário característico da extensão 1
%Simulation of Chua's Circuit
%Based on:
% @article{Kennedy1992,
% title={Robust op amp realization of Chua's circuit},
% author={Kennedy, Michael Peter},
% journal={Frequenz},
% volume={46},
% number={3-4},
% pages={66--80},
% year={1992}
% }
%and p.588 on
% %@book{Aguirre2004,
% title={Introducao a identificao de sistemas--Tecnicas lineares
%e nao-lineares aplicadas a sistemas reais},
% author={Aguirre, Luis Antonio},
% year={2004},
% publisher={Editora UFMG}
% }
function out = chuakennedy1992_extensao1(t,in)
x = in(1); %v_1 %v_c1
y = in(2); %v_2 %v_c2
z = in(3); %i_L %i_L
%Kennedy 1992
%Robust Amp Op Realization of Chua's Circuit
L = 19.2*10^(-3); %Aguirre p.588 - Kennedy e 18mF
C1 = 10*10^(-9); %10nF
C2 = 100*10^(-9); %100nF
R =1978.5;
Silva, M. R.
67 A.1. mainchua_extensao.m - Arquivo principal
G = 1/R;
%Valores: p. 588 Aguirre
m0=-0.37*10^(-3);
m1=-0.68*10^(-3);
Bp=1.1;
if x >Bp
g=m0*x+Bp*(m1-m0);
elseif (x >= -Bp)&(x <= Bp)
g=m1*x;
else
g=m0*x+Bp*(m0-m1);
end
% Equacoes do circuito de Chua
xdot = (1/C1)*(G*(y-x)-g);
ydot = (1/C2)*(G*(x-y)+z);
zdot = -(1/L)*y;
out = [xdot ydot zdot]';
A.1.2 chuakennedy1992_extensao2.m - Arquivo secundário característico da extensão 2
%Simulation of Chua's Circuit
%Based on:
% @article{Kennedy1992,
% title={Robust op amp realization of Chua's circuit},
% author={Kennedy, Michael Peter},
% journal={Frequenz},
% volume={46},
% number={3-4},
% pages={66--80},
% year={1992}
% }
%and p.588 on
% %@book{Aguirre2004,
% title={Introducao a identificao de sistemas--Tecnicas lineares
Silva, M. R.
Apêndice A. Rotinas Computacionais 68
%e nao-lineares aplicadas a sistemas reais},
% author={Aguirre, Luis Antonio},
% year={2004},
% publisher={Editora UFMG}
% }
function out = chuakennedy1992_extensao1(t,in)
x = in(1); %v_1 %v_c1
y = in(2); %v_2 %v_c2
z = in(3); %i_L %i_L
%Kennedy 1992
%Robust Amp Op Realization of Chua's Circuit
L = 19.2*10^(-3); %Aguirre p.588 - Kennedy e 18mF
C1 = 10*10^(-9); %10nF
C2 = 100*10^(-9); %100nF
R =1978.5;
G = 1/R;
%Valores: p. 588 Aguirre
m0=-0.37*10^(-3);
m1=-0.68*10^(-3);
Bp=1.1;
if x >Bp
g=m0*x+Bp*(m1-m0);
elseif (x >= -Bp)&(x <= Bp)
g=m1*x;
else
g=m0*x+Bp*(m0-m1);
end
% Equacoes do circuito de Chua
xdot = (G*y-G*x-g)/C1;
ydot = (1/C2)*(G*(x-y)+z);
zdot = -(1/L)*y;
out = [xdot ydot zdot]';
Silva, M. R.
69 A.2. mlre_caso1.m
A.2 mlre_caso1.m
mlre_caso1.m é o algoritmo relacionado aos métodos tradicional e de redução erro para o
caso do mapa logístico, em que 𝑟 = 3,9 e 𝑥0 = 1/3,9.
%UNIVERSIDADE FEDERAL DE SAO JOAO DEL-REI
%PROGRAMA DE POS-GRADUACAO EM ENGENHARIA ELETRICA UFSJ/CEFET
clc
close all
clear all
%% Sobre as variaveis
%x => codicao inicial;
%w => codicao inicial;
%y => codicao inicial;
%R => parametro de controle entre 0 e 4;
%p => codicao inicial empressa em forma fracionaria;
%r => parametro de controle entre 0 e 4 empresso em forma fracionaria;
%Nota: As variaveis apresentadas acima devem ser alteradas a cada caso,
%trata-se de uma alteracao manual, uma vez que, o intuito e nao
%usar funcoes do Matlab, pois o uso de funcoes pode acarretar em mais
%incertezas nas simualcoes.
%%
%ESTA ROTINA DEVE SER LANCADA NO WORKSPACE-ATENCAO
%% Determine as condicoes
x=1/3.9;
y=x;
w=x;
R=3.9;
digits(1000);
p=vpa('10/39');
r=vpa('39/10');
%% Simulacao tradicional para o caso do mapa logistico
for k=1:20
x(k+1)=R*x(k)*(1-x(k))
end
%% Simulacao via metodo de reducao de erro para o caso do mapa logistico
system_dependent('setround',-Inf)
Silva, M. R.
Apêndice A. Rotinas Computacionais 70
y=y;
system_dependent('setround',Inf)
w=w;
system_dependent('setround',0.5)
z=(y+w)/2;
y=z;
w=z;
for k=1:20
system_dependent('setround',-Inf)
y(k+1)=R*y(k)*(1-y(k))
system_dependent('setround',Inf)
w(k+1)=R*w(k)*(1-w(k))
system_dependent('setround',0.5)
z(k+1)=(y(k+1)+w(k+1))/2
y(k+1)=z(k+1);
w(k+1)=z(k+1);
end
%% Simulacao da rotina de alta prcisao VPA toolbox Matlab para o caso do
%mapa logistico
for k=1:20
p(k+1)=vpa(r.*p(k).*(1-p(k)));
end
%% Processo de comparacao dos resultados com uma rotina de alta precicao
%VPA toolbox Matlab
% VPA x simulacao tradicional
a=abs(vpa(p(3:21)-x(3:21)));
% VPA x simulacao metodo de reducao de erro
b=abs(vpa(p(3:21)-w(3:21)));
%% Exibindo resultados
figure()
plot(3:21,log10(abs(vpa(p(3:21)-x(3:21)))),'-o',3:21,log10(abs(vpa(p(3:21
)-w(3:21)))),'-x')
legend('Metodo tradicional','Metodo de reducao do erro')
xlabel('n')
ylabel('log10(|erro|)')
Silva, M. R.
71 A.3. mlre_caso2.m
A.3 mlre_caso2.m
mlre_caso2.m é o algoritmo relacionado aos métodos tradicional e de redução erro para o
caso do mapa logístico, em que 𝑟 = 3,9 e 𝑥0 = 0,01.
%UNIVERSIDADE FEDERAL DE SAO JOAO DEL-REI
%PROGRAMA DE POS-GRADUACAO EM ENGENHARIA ELETRICA UFSJ/CEFET
clc
close all
clear all
%% Sobre as variaveis
%x => codicao inicial;
%w => codicao inicial;
%y => codicao inicial;
%R => parametro de controle entre 0 e 4;
%p => codicao inicial empressa em forma fracionaria;
%r => parametro de controle entre 0 e 4 empresso em forma fracionaria;
%Nota: As variaveis apresentadas acima devem ser alteradas a cada caso,
%trata-se de uma alteracao manual, uma vez que, o intuito e nao
%usar funcoes do Matlab, pois o uso de funcoes pode acarretar em mais
%incertezas nas simualcoes.
%%
%ESTA ROTINA DEVE SER LANCADA NO WORKSPACE-ATENCAO
%% Determine as condicoes
x=0.01;
y=x;
w=x;
R=3.9;
digits(1000);
p=vpa('1/100');
r=vpa('39/10');
%% Simulacao tradicional para o caso do mapa logistico
for k=1:20
x(k+1)=R*x(k)*(1-x(k))
end
%% Simulacao via metodo de reducao de erro para o caso do mapa logistico
system_dependent('setround',-Inf)
Silva, M. R.
Apêndice A. Rotinas Computacionais 72
y=y;
system_dependent('setround',Inf)
w=w;
system_dependent('setround',0.5)
z=(y+w)/2;
y=z;
w=z;
for k=1:20
system_dependent('setround',-Inf)
y(k+1)=R*y(k)*(1-y(k))
system_dependent('setround',Inf)
w(k+1)=R*w(k)*(1-w(k))
system_dependent('setround',0.5)
z(k+1)=(y(k+1)+w(k+1))/2
y(k+1)=z(k+1);
w(k+1)=z(k+1);
end
%% Simulacao da rotina de alta prcisao VPA toolbox Matlab para o caso do
%mapa logistico
for k=1:20
p(k+1)=vpa(r.*p(k).*(1-p(k)));
end
%% Processo de comparacao dos resultados com uma rotina de alta precicao
%VPA toolbox Matlab
% VPA x simulacao tradicional
a=abs(vpa(p(3:21)-x(3:21)));
% VPA x simulacao metodo de reducao de erro
b=abs(vpa(p(3:21)-w(3:21)));
%% Exibindo resultados
figure()
plot(3:21,log10(abs(vpa(p(3:21)-x(3:21)))),'-o',3:21,log10(abs(vpa(p(3:21
)-w(3:21)))),'-x')
legend('Metodo tradicional','Metodo de reducao do erro')
xlabel('n')
ylabel('log10(|erro|)')
Silva, M. R.
73 A.4. mlre_caso3.m
A.4 mlre_caso3.m
mlre_caso3.m é o algoritmo relacionado aos métodos tradicional e de redução erro para o
caso do mapa logístico, em que admitiu-se três conjuntos de condições iniciais e parâmetros de
bifurcação, dados por (𝑥0, 𝑟) = [(0,1,4,2); (0,2,4); (0,41,3,85)].
%UNIVERSIDADE FEDERAL DE SAO JOAO DEL-REI
%PROGRAMA DE POS-GRADUACAO EM ENGENHARIA ELETRICA UFSJ/CEFET
clc
close all
clear all
%% Sobre as variaveis
%x => codicao inicial;
%w => codicao inicial;
%y => codicao inicial;
%R => parametro de controle entre 0 e 4;
%p => codicao inicial empressa em forma fracionaria;
%r => parametro de controle entre 0 e 4 empresso em forma fracionaria;
%Nota: As variaveis apresentadas acima devem ser alteradas a cada caso,
%trata-se de uma alteracao manual, uma vez que, o intuito e nao
%usar funcoes do Matlab, pois o uso destas pode acarretar em mais
%incertezas nas simualcoes.
%%
%ESTA ROTINA DEVE SER LANCADA NO WORKSPACE-ATENCAO
%% Primeiro conjunto (0.1 e 4.2)
%% Determine as condicoes
x=0.1;
y=x;
w=x;
R=4.2;
digits(1000);
p=vpa('1/10');
r=vpa('42/10');
%% Simulacao tradicional para o caso do mapa logistico
for k=1:20
x(k+1)=R*x(k)*(1-x(k))
end
Silva, M. R.
Apêndice A. Rotinas Computacionais 74
%% Simulacao via metodo de reducao de erro para o caso do mapa %logistico
system_dependent('setround',-Inf)
y=y;
system_dependent('setround',Inf)
w=w;
system_dependent('setround',0.5)
z=(y+w)/2;
y=z;
w=z;
for k=1:20
system_dependent('setround',-Inf)
y(k+1)=R*y(k)*(1-y(k))
system_dependent('setround',Inf)
w(k+1)=R*w(k)*(1-w(k))
system_dependent('setround',0.5)
z(k+1)=(y(k+1)+w(k+1))/2
y(k+1)=z(k+1);
w(k+1)=z(k+1);
end
%% Simulacao da rotina de alta prcisao VPA toolbox Matlab para o caso do mapa
%logistico
for k=1:20
p(k+1)=vpa(r.*p(k).*(1-p(k)));
end
%% Processo de comparacao dos resultados com uma rotina de alta precicao
%VPA toolbox Matlab
% VPA x simulacao tradicional
a=abs(vpa(p(3:21)-x(3:21)));
% VPA x simulacao metodo de reducao de erro
b=abs(vpa(p(3:21)-w(3:21)));
%% Erros sigma e delta
figure()
plot(1:19,a,'-o',1:19,b,'-x')%% Determine as condicoes
%% Segundo conjunto (0.2 e 4)
x=0.2;
y=x;
w=x;
R=4;
Silva, M. R.
75 A.4. mlre_caso3.m
digits(1000);
p=vpa('2/10');
r=vpa('40/10');
%% Simulacao tradicional para o caso do mapa logistico
for k=1:20
x(k+1)=R*x(k)*(1-x(k))
end
%% Simulacao via metodo de reducao de erro para o caso do mapa
%logistico
system_dependent('setround',-Inf)
y=y;
system_dependent('setround',Inf)
w=w;
system_dependent('setround',0.5)
z=(y+w)/2;
y=z;
w=z;
for k=1:20
system_dependent('setround',-Inf)
y(k+1)=R*y(k)*(1-y(k))
system_dependent('setround',Inf)
w(k+1)=R*w(k)*(1-w(k))
system_dependent('setround',0.5)
z(k+1)=(y(k+1)+w(k+1))/2
y(k+1)=z(k+1);
w(k+1)=z(k+1);
end
%% Simulacao da rotina de alta prcisao VPA toolbox Matlab para o caso do mapa
%logistico
for k=1:20
p(k+1)=vpa(r.*p(k).*(1-p(k)));
end
%% Processo de comparacao dos resultados com uma rotina de alta precicao
%VPA toolbox Matlab
% VPA x simulacao tradicional
a=abs(vpa(p(3:21)-x(3:21)));
% VPA x simulacao metodo de reducao de erro
b=abs(vpa(p(3:21)-w(3:21)));
Silva, M. R.
Apêndice A. Rotinas Computacionais 76
%% Erros sigma e delta
figure()
plot(1:19,a,'-o',1:19,b,'-x')
%% Terceiro conjunto (0.41 e 3.85)
x=0.41;
y=x;
w=x;
R=3.85;
digits(1000);
p=vpa('41/100');
r=vpa('385/100');
%% Simulacao tradicional para o caso do mapa logistico
for k=1:20
x(k+1)=R*x(k)*(1-x(k))
end
%% Simulacao via metodo de reducao de erro para o caso do mapa logistico
system_dependent('setround',-Inf)
y=y;
system_dependent('setround',Inf)
w=w;
system_dependent('setround',0.5)
z=(y+w)/2;
y=z;
w=z;
for k=1:20
system_dependent('setround',-Inf)
y(k+1)=R*y(k)*(1-y(k))
system_dependent('setround',Inf)
w(k+1)=R*w(k)*(1-w(k))
system_dependent('setround',0.5)
z(k+1)=(y(k+1)+w(k+1))/2
y(k+1)=z(k+1);
w(k+1)=z(k+1);
end
%% Simulacao da rotina de alta precisao VPA toolbox Matlab para o caso do mapa
%logistico
for k=1:20
p(k+1)=vpa(r.*p(k).*(1-p(k)));
end
Silva, M. R.
77 A.5. Algoritmo dos métodos tradicional e de supressão de caos - Circuito de Chua
%% Processo de comparacao dos resultados com uma rotina de alta precicao
%VPA toolbox Matlab
% VPA x simulacao tradicional
a=abs(vpa(p(3:21)-x(3:21)));
% VPA x simulacao metodo de reducao de erro
b=abs(vpa(p(3:21)-w(3:21)));
%% Erros sigma e delta
figure()
plot(1:19,a,'-o',1:19,b,'-x')
A.5 Algoritmo dos métodos tradicional e de supressão de caos - Circuito
de Chua
Somente o arquivo principal, mainchua.m, deverá ser acionado este fornecerá os resultados
dos métodos tradicional, arquivo mainchua1.m, e de supressão de caos, mainchua2.m, median-
tes aos processos de discretização de Runge-Kutta de terceira, quarta e quinta ordem.
A.5.1 mainchua.m - Arquivo principal
%UNIVERSIDADE FEDERAL DE SAO JOAO DEL-REI
%PROGRAMA DE POS-GRADUACAO EM ENGENHARIA ELETRICA UFSJ/CEFET
clear
clc
close all
%% Metodo tradicional
tic()
mainchua1
toc()
[y_3,y_4,y_5] = mainchua1( );
%% Metodo de supressao
tic()
mainchua2
toc()
[ym_3,ym_4,ym_5] = mainchua2( );
Silva, M. R.
Apêndice A. Rotinas Computacionais 78
%% Obtencao grafica
figure()
subplot(3,1,1)
plot(1:20000,y_3(1:20000),'k--',1:20000,ym_3(1:20000,1),'k','linewidth',1.75)
axis([0 20000 -4.5 4.5])
box off
xlabel('n')
ylabel('Amplitude')
set(gcf, 'PaperPosition', [0 0 20 10]);
set(gcf, 'PaperSize', [50 30]);
saveas(gcf, 'wave3', 'pdf')
set(gca,'FontSize',30,'Fontname','Times New Roman')
subplot(3,1,2)
plot(1:20000,y_4(1:20000),'k--',1:20000,ym_4(1:20000,1),'k','linewidth',1.75)
axis([0 20000 -4.5 4.5])
box off
xlabel('n')
ylabel('Amplitude')
set(gcf, 'PaperPosition', [0 0 20 10]);
set(gcf, 'PaperSize', [50 30]);
saveas(gcf, 'wave3', 'pdf')
set(gca,'FontSize',30,'Fontname','Times New Roman')
subplot(3,1,3)
plot(1:20000,y_5(1:20000),'k--',1:20000,ym_5(1:20000,1),'k','linewidth',1.75)
axis([0 20000 -4.5 4.5])
box off
xlabel('n')
ylabel('Amplitude')
set(gcf, 'PaperPosition', [0 0 20 10]);
set(gcf, 'PaperSize', [50 30]);
saveas(gcf, 'wave3', 'pdf')
set(gca,'FontSize',30,'Fontname','Times New Roman')
%%
figure()
subplot(3,2,1)
plot3(y_3(:,1),y_3(:,2),y_3(:,3),'k')
%better perspective
view(-16,24)
grid
Silva, M. R.
79 A.5. Algoritmo dos métodos tradicional e de supressão de caos - Circuito de Chua
xlabel('(a)')
set(gcf, 'PaperPosition', [0 0 20 10]);
set(gcf, 'PaperSize', [30 10]);
set(gca,'FontSize',30,'Fontname','Times New Roman')
subplot(3,2,2)
plot3(ym_3(:,1),ym_3(:,2),ym_3(:,3),'k')
%better perspective
view(-16,24)
%view(-16,24)
grid
xlabel('(b)')
set(gcf, 'PaperPosition', [0 0 20 10]);
set(gcf, 'PaperSize', [30 10]);
set(gca,'FontSize',30,'Fontname','Times New Roman')
subplot(3,2,3)
plot3(y_4(:,1),y_4(:,2),y_4(:,3),'k')
%better perspective
view(-16,24)
grid
xlabel('(c)')
set(gcf, 'PaperPosition', [0 0 20 10]);
set(gcf, 'PaperSize', [30 10]);
set(gca,'FontSize',30,'Fontname','Times New Roman')
subplot(3,2,4)
plot3(ym_4(:,1),ym_4(:,2),ym_4(:,3),'k')
%better perspective
view(-16,24)
%view(-16,24)
grid
xlabel('(d)')
set(gcf, 'PaperPosition', [0 0 20 10]);
set(gcf, 'PaperSize', [30 10]);
set(gca,'FontSize',30,'Fontname','Times New Roman')
subplot(3,2,5)
plot3(y_3(:,1),y_3(:,2),y_3(:,3),'k')
%better perspective
view(-16,24)
grid
xlabel('(e)')
Silva, M. R.
Apêndice A. Rotinas Computacionais 80
set(gcf, 'PaperPosition', [0 0 20 10]);
set(gcf, 'PaperSize', [30 10]);
set(gca,'FontSize',30,'Fontname','Times New Roman')
subplot(3,2,6)
plot3(ym_5(:,1),ym_5(:,2),ym_5(:,3),'k')
%better perspective
view(-16,24)
%view(-16,24)
grid
xlabel('(f)')
set(gcf, 'PaperPosition', [0 0 20 10]);
set(gcf, 'PaperSize', [30 10]);
set(gca,'FontSize',30,'Fontname','Times New Roman')
A.5.2 mainchua1.m - Arquivo secundário característico do método tradicional
%UNIVERSIDADE FEDERAL DE SAO JOAO DEL-REI
%PROGRAMA DE POS-GRADUACAO EM ENGENHARIA ELETRICA UFSJ/CEFET
function [y_3,y_4,y_5] = mainchua1( )
%clear all
%Condicoes iniciais
y0=[-0.7 0 0]
%%
%Parametros
tf=0.075;
h=1e-6;
tspan = 0:h:tf;
%% Runge-Kutta
%Runge-Kutta de ordem 3
y_3 = ode3(@chuakennedy1992_1,tspan,y0);
%Runge-Kutta de ordem 4
y_4 = ode4(@chuakennedy1992_1,tspan,y0);
%Runge-Kutta de ordem 5
y_5 = ode5(@chuakennedy1992_1,tspan,y0);
%%
% % Parametros para o calculo do expoente de Lyapunov
% %RK3
Silva, M. R.
81 A.5. Algoritmo dos métodos tradicional e de supressão de caos - Circuito de Chua
% x_3=y_3(3000:35768,1);
% r_3=y_3(3000:35768,2);
% z_3=y_3(3000:35768,3);
% cd C:\Users\Melanie\Desktop
% save main1_x_3.dat x_3 -ascii
% cd C:\Users\Melanie\Desktop
% save main1_y_3.dat r_3 -ascii
% cd C:\Users\Melanie\Desktop
% save main1_z_3.dat z_3 -ascii
% cd C:\Users\Melanie\Desktop
% save main1_3.dat y_3 -ascii
% % RK4
% x_4=y_4(3000:35768,1);
% r_4=y_4(3000:35768,2);
% z_4=y_4(3000:35768,3);
% cd C:\Users\Melanie\Desktop
% save main1_x_4.dat x_4 -ascii
% cd C:\Users\Melanie\Desktop
% save main1_y_4.dat r_4 -ascii
% cd C:\Users\Melanie\Desktop
% save main1_z_4.dat z_4 -ascii
% cd C:\Users\Melanie\Desktop
% save main1_4.dat y_4 -ascii
% %RK5
% x_5=y_5(3000:35768,1);
% r_5=y_5(3000:35768,2);
% z_5=y_5(3000:35768,3);
% cd C:\Users\Melanie\Desktop
% save main1_x_5.dat x_5 -ascii
% cd C:\Users\Melanie\Desktop
% save main1_y_5.dat r_5 -ascii
% cd C:\Users\Melanie\Desktop
% save main1_z_5.dat z_5 -ascii
% cd C:\Users\Melanie\Desktop
% save main1_5.dat y_5 -ascii
end
A.5.3 chuakennedy1992_1.m - Arquivo base característico do método tradicional
Silva, M. R.
Apêndice A. Rotinas Computacionais 82
%Simulation of Chua's Circuit
%Based on:
% @article{Kennedy1992,
% title={Robust op amp realization of Chua's circuit},
% author={Kennedy, Michael Peter},
% journal={Frequenz},
% volume={46},
% number={3-4},
% pages={66--80},
% year={1992}
% }
%and p.588 on
% %@book{Aguirre2004,
% title={Introducao a identificao de sistemas--Tecnicas lineares
%e nao-lineares aplicadas a sistemas reais},
% author={Aguirre, Luis Antonio},
% year={2004},
% publisher={Editora UFMG}
% }
function out = chuakennedy1992_1(t,in)
x = in(1); %v_1 %v_c1
y = in(2); %v_2 %v_c2
z = in(3); %i_L %i_L
%Kennedy 1992
%Robust Amp Op Realization of Chua's Circuit
L = 19.2*10^(-3); %Aguirre p.588 - Kennedy e 18mF
C1 = 10*10^(-9); %10nF
C2 = 100*10^(-9); %100nF
R =1975;
G = 1/R;
%Valores: p. 588 Aguirre
m0=-0.37*10^(-3);
m1=-0.68*10^(-3);
Bp=1.1;
if x >Bp
Silva, M. R.
83 A.5. Algoritmo dos métodos tradicional e de supressão de caos - Circuito de Chua
g=m0*x+Bp*(m1-m0);
elseif (x >= -Bp)&(x <= Bp)
g=m1*x;
else
g=m0*x+Bp*(m0-m1);
end
% Equacoes do circuito de Chua
xdot = (1/C1)*(G*(y-x)-g);
ydot = (1/C2)*(G*(x-y)+z);
zdot = -(1/L)*y;
out = [xdot ydot zdot]';
A.5.4 mainchua2.m - Arquivo secundário característico do método de supressão de caos
%UNIVERSIDADE FEDERAL DE SAO JOAO DEL-REI
%PROGRAMA DE POS-GRADUACAO EM ENGENHARIA ELETRICA UFSJ/CEFET
function [ym_3,ym_4,ym_5] = mainchua2()
%% Media dos modos arredondados - condicoes iniciais
system_dependent('setround',-Inf);
ym=[-0.7 0 0];
system_dependent('setround',Inf);
yp=[-0.7 0 0];
y1=(ym+yp)/2;
ym_3=y1;
yp_3=y1;
ym_4=y1;
yp_4=y1;
ym_5=y1;
yp_5=y1;
%% Parametros
tf=0.075;
h=1e-6;
tspan = 0:h:tf;
N=length(tspan);
%% Procedimento de filtragem/limitacao do erro/supressao
%Runge-Kutta de ordem 3
for k=1:N-1
Silva, M. R.
Apêndice A. Rotinas Computacionais 84
system_dependent('setround',-Inf);
aux_3 = ode3(@chuakennedy1992_2,tspan(k:k+1),ym_3(k,:),yp_3(k,:));
ym_3(k+1,:)=aux_3(2,:);
system_dependent('setround',Inf);
aux_3 = ode3(@chuakennedy1992_2,tspan(k:k+1),yp_3(k,:),ym_3(k,:));
yp_3(k+1,:)=aux_3(2,:);
end
%Runge-Kutta de ordem 4
for k=1:N-1
system_dependent('setround',-Inf);
aux_4 = ode4(@chuakennedy1992_2,tspan(k:k+1),ym_4(k,:),yp_4(k,:));
ym_4(k+1,:)=aux_4(2,:);
system_dependent('setround',Inf);
aux_4 = ode4(@chuakennedy1992_2,tspan(k:k+1),yp_4(k,:),ym_4(k,:));
yp_4(k+1,:)=aux_4(2,:);
end
%Runge-Kutta de ordem 5
for k=1:N-1
system_dependent('setround',-Inf);
aux_5 = ode5(@chuakennedy1992_2,tspan(k:k+1),ym_5(k,:),yp_5(k,:));
ym_5(k+1,:)=aux_5(2,:);
system_dependent('setround',Inf);
aux_5 = ode5(@chuakennedy1992_2,tspan(k:k+1),yp_5(k,:),ym_5(k,:));
yp_5(k+1,:)=aux_5(2,:);
end
%%
% Parametros para o calculo do expoente de Lyapunov
%%RK3
% x_3=y_3(3000:35768,1);
% r_3=y_3(3000:35768,2);
% z_3=y_3(3000:35768,3);
% cd C:\Users\Melanie\Desktop
% save main2_x_3.dat x_3 -ascii
% cd C:\Users\Melanie\Desktop
% save main2_y_3.dat r_3 -ascii
% cd C:\Users\Melanie\Desktop
% save main2_z_3.dat z_3 -ascii
% cd C:\Users\Melanie\Desktop
% save main2_3.dat y_3 -ascii
Silva, M. R.
85 A.5. Algoritmo dos métodos tradicional e de supressão de caos - Circuito de Chua
% % RK4
% x_4=y_4(3000:35768,1);
% r_4=y_4(3000:35768,2);
% z_4=y_4(3000:35768,3);
% cd C:\Users\Melanie\Desktop
% save main2_x_4.dat x_4 -ascii
% cd C:\Users\Melanie\Desktop
% save main2_y_4.dat r_4 -ascii
% cd C:\Users\Melanie\Desktop
% save main2_z_4.dat z_4 -ascii
% cd C:\Users\Melanie\Desktop
% save main2_4.dat y_4 -ascii
% %RK5
% x_5=y_5(3000:35768,1);
% r_5=y_5(3000:35768,2);
% z_5=y_5(3000:35768,3);
% cd C:\Users\Melanie\Desktop
% save main2_x_5.dat x_5 -ascii
% cd C:\Users\Melanie\Desktop
% save main2_y_5.dat r_5 -ascii
% cd C:\Users\Melanie\Desktop
% save main2_z_5.dat z_5 -ascii
% cd C:\Users\Melanie\Desktop
% save main2_5.dat y_5 -ascii
end
A.5.5 chuakennedy1992_2.m - Arquivo base característico do método de supressão de
caos
%Simulation of Chua's Circuit
%Based on:
% @article{Kennedy1992,
% title={Robust op amp realization of Chua's circuit},
% author={Kennedy, Michael Peter},
% journal={Frequenz},
% volume={46},
% number={3-4},
Silva, M. R.
Apêndice A. Rotinas Computacionais 86
% pages={66--80},
% year={1992}
% }
%and p.588 on
% %@book{Aguirre2004,
% title={Introducao a identificao de sistemas--Tecnicas lineares e
%nao-lineares aplicadas a sistemas reais},
% author={Aguirre, Luis Antonio},
% year={2004},
% publisher={Editora UFMG}
% }
function out = chuakennedy1992_2(t,in,in2)
x = in(1); %v_1 %v_c1
y = in(2); %v_1 %v_c1
z = in(3); %i_L %i_L
x2=in2(1); %v_1 %v_c1
y2=in2(2); %v_1 %v_c1
z2=in2(3); %i_L %i_L
%% Media das entradas arredondadas para o ponto-flutuante mais proximo
system_dependent('setround',0.5);
x=(x+x2)/2;
system_dependent('setround',0.5);
y=(y+y2)/2;
system_dependent('setround',0.5);
z=(z+z2)/2;
%Kennedy 1992
%Robust Amp Op Realization of Chua's Circuit
L = 19.2*10^(-3); %Aguirre p.588 - Kennedy e 18mF
C1 = 10*10^(-9); %10nF
C2 = 100*10^(-9); %100nF
R = 1975;
G = 1/R;
%Valores: p. 588 Aguirre
m0=-0.37*10^(-3);
m1=-0.68*10^(-3);
Bp=1.1;
Silva, M. R.
87 A.6. Algoritmo dos métodos tradicional e de supressão de caos - Sistema de Lorenz
%Dupla volta - periodico
if x >Bp
g=m0*x+Bp*(m1-m0);
elseif (x >= -Bp)&(x <= Bp)
g=m1*x;
else
g=m0*x+Bp*(m0-m1);
end
% Eqaucoes do circuito de Chua
xdot = (1/C1)*(G*(y-x)-g);
ydot = (1/C2)*(G*(x-y)+z);
zdot = -(1/L)*y;
out = [xdot ydot zdot]';
A.6 Algoritmo dos métodos tradicional e de supressão de caos - Sistema
de Lorenz
Somente arquivo principal, mainlorenz.m, deverá ser acionado este fornecerá os resulta-
dos dos métodos tradicional, arquivo mainlorenz1.m, e de supressão de caos, mainlorenz2.m,
mediantes aos processos de discretização de Runge-Kutta de terceira, quarta e quinta ordem.
A.6.1 mainlorenz.m - Arquivo principal
%UNIVERSIDADE FEDERAL DE SAO JOAO DEL-REI
%PROGRAMA DE POS-GRADUACAO EM ENGENHARIA ELETRICA UFSJ/CEFET
clear
clc
close all
%% Metodo tradicional
tic()
mainlorenz1
toc()
[y_3,y_4,y_5] = mainlorenz1( );
%% Metodo de supressao de caos
Silva, M. R.
Apêndice A. Rotinas Computacionais 88
tic()
mainlorenz2
toc()
[ym_3,ym_4,ym_5] = mainlorenz2( );
%% Obtencao grafica
figure()
subplot(3,1,1)
plot(1:1000,y_3(1:1000),'k--',1:1000,ym_3(1:1000,1),'k','linewidth',1.75)
axis([0 1000 -40 40])
box off
xlabel('n')
ylabel('Amplitude')
set(gcf, 'PaperPosition', [0 0 20 10]);
set(gcf, 'PaperSize', [50 30]);
saveas(gcf, 'wave3', 'pdf')
set(gca,'FontSize',30,'Fontname','Times New Roman')
subplot(3,1,2)
plot(1:1000,y_4(1:1000),'k--',1:1000,ym_4(1:1000,1),'k','linewidth',1.75)
axis([0 1000 -40 40])
box off
xlabel('n')
ylabel('Amplitude')
set(gcf, 'PaperPosition', [0 0 20 10]);
set(gcf, 'PaperSize', [50 30]);
saveas(gcf, 'wave3', 'pdf')
set(gca,'FontSize',30,'Fontname','Times New Roman')
subplot(3,1,3)
plot(1:1000,y_5(1:1000),'k--',1:1000,ym_5(1:1000,1),'k','linewidth',1.75)
axis([0 1000 -40 40])
box off
xlabel('n')
ylabel('Amplitude')
set(gcf, 'PaperPosition', [0 0 20 10]);
set(gcf, 'PaperSize', [50 30]);
saveas(gcf, 'wave3', 'pdf')
set(gca,'FontSize',30,'Fontname','Times New Roman')
%%
figure()
subplot(3,2,1)
Silva, M. R.
89 A.6. Algoritmo dos métodos tradicional e de supressão de caos - Sistema de Lorenz
plot3(y_3(:,1),y_3(:,2),y_3(:,3),'k')
%better perspective
view(-16,24)
grid
xlabel('(a)')
set(gcf, 'PaperPosition', [0 0 20 10]);
set(gcf, 'PaperSize', [30 10]);
set(gca,'FontSize',30,'Fontname','Times New Roman')
subplot(3,2,2)
plot3(ym_3(:,1),ym_3(:,2),ym_3(:,3),'k')
%better perspective
view(-16,24)
%view(-16,24)
grid
xlabel('(b)')
set(gcf, 'PaperPosition', [0 0 20 10]);
set(gcf, 'PaperSize', [30 10]);
set(gca,'FontSize',30,'Fontname','Times New Roman')
subplot(3,2,3)
plot3(y_4(:,1),y_4(:,2),y_4(:,3),'k')
%better perspective
view(-16,24)
grid
xlabel('(c)')
set(gcf, 'PaperPosition', [0 0 20 10]);
set(gcf, 'PaperSize', [30 10]);
set(gca,'FontSize',30,'Fontname','Times New Roman')
subplot(3,2,4)
plot3(ym_4(:,1),ym_4(:,2),ym_4(:,3),'k')
%better perspective
view(-16,24)
%view(-16,24)
grid
xlabel('(d)')
set(gcf, 'PaperPosition', [0 0 20 10]);
set(gcf, 'PaperSize', [30 10]);
set(gca,'FontSize',30,'Fontname','Times New Roman')
subplot(3,2,5)
plot3(y_3(:,1),y_3(:,2),y_3(:,3),'k')
Silva, M. R.
Apêndice A. Rotinas Computacionais 90
%better perspective
view(-16,24)
grid
xlabel('(e)')
set(gcf, 'PaperPosition', [0 0 20 10]);
set(gcf, 'PaperSize', [30 10]);
set(gca,'FontSize',30,'Fontname','Times New Roman')
subplot(3,2,6)
plot3(ym_5(:,1),ym_5(:,2),ym_5(:,3),'k')
%better perspective
view(-16,24)
%view(-16,24)
grid
xlabel('(f)')
set(gcf, 'PaperPosition', [0 0 20 10]);
set(gcf, 'PaperSize', [30 10]);
set(gca,'FontSize',30,'Fontname','Times New Roman')
A.6.2 mainlorenz1.m - Arquivo secundário característico do método tradicional
%UNIVERSIDADE FEDERAL DE SAO JOAO DEL-REI
%PROGRAMA DE POS-GRADUACAO EM ENGENHARIA ELETRICA UFSJ/CEFET
function [ y_3,y_4,y_5 ] = mainlorenz1()
%UNIVERSIDADE FEDERAL DE SAO JOAO DEL-REI
%PROGRAMA DE POS-GRADUACAO EM ENGENHARIA ELETRICA UFSJ/CEFET
y0=[0.06735 1.8841 15.7734]; %Valores de \cite{Cor1994}
tf=100;
h=1e-2;
tspan = 0:h:tf;
%%
%Runge-Kutta de ordem 3
y_3 = ode3(@lorenz_1,tspan,y0);
%Runge-Kutta de ordem 4
y_4 = ode4(@lorenz_1,tspan,y0);
%Runge-Kutta de ordem 5
y_5 = ode5(@lorenz_1,tspan,y0);
%% Parametros para o calculo do expoente de Lyapunov
Silva, M. R.
91 A.6. Algoritmo dos métodos tradicional e de supressão de caos - Sistema de Lorenz
% ydots_3=y_3(4000:8096);
% cd C:\Users\Melanie\Desktop
% save lorenz3_main1.dat ydots_3 -ascii
% ydots_4=y_4(4000:8096);
% cd C:\Users\Melanie\Desktop
% save lorenz4_main1.dat ydots_4 -ascii
% ydots_5=y_5(4000:8096);
% cd C:\Users\Melanie\Desktop
% save lorenz5_main1.dat ydots_5 -ascii;
end
A.6.3 lorenz_1.m - Arquivo base característico do método tradicional
%Simulacao do sistema de Lorenz
function out = lorenz_1(t,in)
%Entradas
x = in(1);
y = in(2);
z = in(3);
%% Parametros do sistema
sigma = 7.6;rho = 65; beta = 5.3;
%Equacoes do sistema de Lorenz
xdot = sigma*(y - x);
ydot = x*(rho - z) - y;
zdot = x*y - beta*z;
out = [xdot ydot zdot]';
A.6.4 mainlorenz2.m - Arquivo secundário característico do método de supressão de
caos
%UNIVERSIDADE FEDERAL DE SAO JOAO DEL-REI
%PROGRAMA DE POS-GRADUACAO EM ENGENHARIA ELETRICA UFSJ/CEFET
function [ ym_3,ym_4,ym_5 ] = mainlorenz2()
Silva, M. R.
Apêndice A. Rotinas Computacionais 92
%%
%Primeira rodada para a supressao - media da condicao inicial
% Media dos modos arredondados das entradas
system_dependent('setround',-Inf);
ym=[0.06735 1.8841 15.7734]; %condicoes de \cite{Cor1994}
system_dependent('setround',Inf);
yp=[0.06735 1.8841 15.7734]; %condicoes de \cite{Cor1994}
system_dependent('setround',0.5);
y1=(ym+yp)/2;
ym_3=y1;
yp_3=y1;
ym_4=y1;
yp_4=y1;
ym_5=y1;
yp_5=y1;
%%
%Parametros
tf=100;
h=1e-2;
tspan = 0:h:tf;
N=length(tspan);
%% Procedimento de filtragem/limitacao do erro/supressao
%Runge-Kutta de ordem 3
for k=1:N-1
system_dependent('setround',-Inf);
aux_3 = ode3(@lorenz_2,tspan(k:k+1),ym_3(k,:),yp_3(k,:));
ym_3(k+1,:)=aux_3(2,:);
system_dependent('setround',Inf);
aux_3 = ode3(@lorenz_2,tspan(k:k+1),yp_3(k,:),ym_3(k,:));
yp_3(k+1,:)=aux_3(2,:);
end
%Runge-Kutta de ordem 4
for k=1:N-1
system_dependent('setround',-Inf);
aux_4 = ode4(@lorenz_2,tspan(k:k+1),ym_4(k,:),yp_4(k,:));
ym_4(k+1,:)=aux_4(2,:);
system_dependent('setround',Inf);
aux_4 = ode4(@lorenz_2,tspan(k:k+1),yp_4(k,:),ym_4(k,:));
yp_4(k+1,:)=aux_4(2,:);
Silva, M. R.
93 A.6. Algoritmo dos métodos tradicional e de supressão de caos - Sistema de Lorenz
end
%Runge-Kutta de ordem 5
for k=1:N-1
system_dependent('setround',-Inf);
aux_5 = ode5(@lorenz_2,tspan(k:k+1),ym_5(k,:),yp_5(k,:));
ym_5(k+1,:)=aux_5(2,:);
system_dependent('setround',Inf);
aux_5 = ode5(@lorenz_2,tspan(k:k+1),yp_5(k,:),ym_5(k,:));
yp_5(k+1,:)=aux_5(2,:);
end
%% Parametros para o calculo do expoente de Lyapunov
% ydots_3=ym_3(4000:8096);
% cd C:\Users\Melanie\Desktop
% save lorenz3_main2.dat ydots_3 -ascii
% ydots_4=ym_4(4000:8096);
% cd C:\Users\Melanie\Desktop
% save lorenz4_main2.dat ydots_4 -ascii
% ydots_5=ym_5(4000:8096);
% cd C:\Users\Melanie\Desktop
% save lorenz5_main2.dat ydots_5 -ascii
A.6.5 lorenz_2.m - Arquivo base característico do método de supressão de caos
%Simulacao do sistema de Lorenz
function out = lorenz_2(t,in,in2)
%Entradas
x = in(1);
y = in(2);
z = in(3);
x2=in2(1);
y2=in2(2);
z2=in2(3);
%% Media das entradas arredondadas para o ponto-flutuante mais proximo
system_dependent('setround',0.5);
x=(x+x2)/2;
system_dependent('setround',0.5);
y=(y+y2)/2;
Silva, M. R.
Apêndice A. Rotinas Computacionais 94
system_dependent('setround',0.5);
z=(z+z2)/2;
%% Parametros do sistema
sigma = 7.6;rho = 65; beta = 5.3;
% Equacoes do sistema de Lorenz
xdot = sigma*(y - x);
ydot = x*(rho - z) - y;
zdot = x*y - beta*z;
out = [xdot ydot zdot]';
Silva, M. R.
Top Related