<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Projects | Rafael de Acypreste</title><link>https://rafaeldeacypreste.netlify.app/project/</link><atom:link href="https://rafaeldeacypreste.netlify.app/project/index.xml" rel="self" type="application/rss+xml"/><description>Projects</description><generator>Wowchemy (https://wowchemy.com)</generator><language>en-us</language><lastBuildDate>Tue, 20 Apr 2021 00:00:00 +0000</lastBuildDate><image><url>https://rafaeldeacypreste.netlify.app/media/icon_hu079f5f191f910f3be9bbdec4dba5765d_88394_512x512_fill_lanczos_center_2.png</url><title>Projects</title><link>https://rafaeldeacypreste.netlify.app/project/</link></image><item><title>EDOs</title><link>https://rafaeldeacypreste.netlify.app/project/edos/</link><pubDate>Tue, 20 Apr 2021 00:00:00 +0000</pubDate><guid>https://rafaeldeacypreste.netlify.app/project/edos/</guid><description>
&lt;script src="https://rafaeldeacypreste.netlify.app/project/edos/index.en_files/header-attrs/header-attrs.js">&lt;/script>
&lt;div id="TOC">
&lt;ul>
&lt;li>&lt;a href="#introdução">Introdução&lt;/a>&lt;/li>
&lt;li>&lt;a href="#solow">EDOs de 1&lt;sup>a&lt;/sup> ordem&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#estrutura-básica-para-simulação-com-r">Estrutura básica para simulação com R&lt;/a>&lt;/li>
&lt;li>&lt;a href="#interrupção-automática-da-simulação">Interrupção automática da simulação&lt;/a>&lt;/li>
&lt;/ul>&lt;/li>
&lt;li>&lt;a href="#edo2">EDOs de 2&lt;sup>a&lt;/sup> ordem&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#equação-com-coeficientes-constantes">Equação com coeficientes constantes&lt;/a>&lt;/li>
&lt;li>&lt;a href="#equação-de-laguerre">Equação de Laguerre&lt;/a>&lt;/li>
&lt;li>&lt;a href="#equação-de-euler">Equação de Euler&lt;/a>&lt;/li>
&lt;/ul>&lt;/li>
&lt;li>&lt;a href="#simultaneas">Equações diferenciais simultâneas&lt;/a>&lt;/li>
&lt;li>&lt;a href="#análise-de-estabilidade">Análise de estabilidade&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#estabilidade-de-edo-de-1a-ordem">Estabilidade de EDO de 1&lt;sup>a&lt;/sup> ordem&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#retrato-de-fase">Retrato de fase&lt;/a>&lt;/li>
&lt;/ul>&lt;/li>
&lt;li>&lt;a href="#estabilidade-de-sistema-de-duas-edos-de-1a-ordem---equilíbrio-dinâmico">Estabilidade de sistema de duas EDOs de 1&lt;sup>a&lt;/sup> ordem - equilíbrio dinâmico&lt;/a>&lt;/li>
&lt;li>&lt;a href="#estabilidade-de-sistema-de-duas-edos-de-1a-ordem---ponto-de-sela">Estabilidade de sistema de duas EDOs de 1&lt;sup>a&lt;/sup> ordem - ponto de sela&lt;/a>&lt;/li>
&lt;/ul>&lt;/li>
&lt;li>&lt;a href="#referências">Referências&lt;/a>&lt;/li>
&lt;/ul>
&lt;/div>
&lt;p>Rafael de Acypreste&lt;a href="#fn1" class="footnote-ref" id="fnref1">&lt;sup>1&lt;/sup>&lt;/a>, Theo Antunes&lt;a href="#fn2" class="footnote-ref" id="fnref2">&lt;sup>2&lt;/sup>&lt;/a>&lt;/p>
&lt;div id="introdução" class="section level1">
&lt;h1>Introdução&lt;/h1>
&lt;p>O objetivo geral desta nota é realizar simulações numéricas de equações diferenciais ordinárias com ênfase, especialmente, em aplicações econômicas. Todas as simulações são feitas utilizando-se o software &lt;strong>R&lt;/strong>.&lt;/p>
&lt;p>Para as simulações, serão utilizados os pacotes abaixo, adicionais à base do &lt;strong>R&lt;/strong>. É preciso que sejam instalados (uma única vez) e carregados antes do uso:&lt;/p>
&lt;pre class="r">&lt;code># install.packages(&amp;quot;deSolve&amp;quot;)
# install.packages(&amp;quot;PhaseR&amp;quot;)
# install.packages(&amp;quot;scatterplot3d&amp;quot;)
# install.packages(&amp;quot;latex2exp&amp;quot;)
library(deSolve) # Funções para resolver EDOs
library(phaseR) # Funções para elaboração dos retratos de fase
library(scatterplot3d) # Gráficos em 3 dimensões
library(latex2exp) # Expressões escritas padrão LaTeX
options(scipen = 99) # Utiliza 99 casas decimais como padrão em vez de notação científica&lt;/code>&lt;/pre>
&lt;p>Denota-se por equação diferencial ordinária (EDO) uma função desconhecida e a relação com suas derivadas. Como, em economia, costuma-se usar o tempo como variável independente, esta notação permanecerá ao longo do texto se não estiver disposto de outra maneira. Portanto, pode-se representar uma EDO de ordem &lt;span class="math inline">\(n\)&lt;/span> por&lt;/p>
&lt;p>&lt;span class="math display" id="eq:edo">\[\begin{equation}
f[y(t),y^{(1)}(t),y^{(2)}(t),...,y^{(n)}(t),t ] = 0
\tag{1}
\end{equation}\]&lt;/span>&lt;/p>
&lt;p>em que &lt;span class="math inline">\((n)\)&lt;/span> é o grau da EDO e representa a maior ordem das derivadas da função desconhecida &lt;span class="citation">&lt;a href="#ref-Seco2018" role="doc-biblioref">Seco and Patrão&lt;/a> (&lt;a href="#ref-Seco2018" role="doc-biblioref">2018&lt;/a>)&lt;/span>. Uma notação da forma geral pode ser descrita por:&lt;/p>
&lt;p>&lt;span class="math display" id="eq:geral">\[\begin{equation}
a_n(t)y^{(n)}(t)+\dots+a_2(t)y^{(2)}(t)+a_1(t)y^{(1)}(t)+a_0(t)y(t) = g(t)
\tag{2}
\end{equation}\]&lt;/span>&lt;/p>
&lt;p>Neste texto, não serão abordados detalhes teóricos sobre equações diferenciais e sobre os modelos apresentados. O(a) leitor(a) deve recorrer aos documentos citados em caso de interesse.&lt;/p>
&lt;/div>
&lt;div id="solow" class="section level1">
&lt;h1>EDOs de 1&lt;sup>a&lt;/sup> ordem&lt;/h1>
&lt;p>EDOs de 1&lt;sup>a&lt;/sup> ordem envolvem uma equação em termos da sua primeira derivada &lt;span class="math inline">\(y&amp;#39;(t)\)&lt;/span>. Conforme &lt;span class="citation">&lt;a href="#ref-Gandolfo2005" role="doc-biblioref">Gandolfo&lt;/a> (&lt;a href="#ref-Gandolfo2005" role="doc-biblioref">2005&lt;/a>)&lt;/span>, pode-se encontrar uma solução de uma equação homogênea no formato &lt;span class="math inline">\(y(t) = Ae^{-bt}\)&lt;/span>, cuja estabilidade depende do sinal de &lt;span class="math inline">\(-b\)&lt;/span>. Alguns exemplos de equações na Figura &lt;a href="#fig:exemplos">1&lt;/a>.&lt;/p>
&lt;p>Apesar de servir de motivação para a análise de EDOs, o objetivo desta nota não é resolver EDOs, encontrando uma função &lt;span class="math inline">\(y(t)\)&lt;/span> que a satisfaz, mas sim identificar o comportamento de tais equações a partir de resoluções numéricas e representações gráficas. Portanto, passa-se aos detalhes básicos para as simulações.&lt;/p>
&lt;div class="figure">&lt;span id="fig:exemplos">&lt;/span>
&lt;img src="https://rafaeldeacypreste.netlify.app/project/edos/index.en_files/figure-html/exemplos-1.png" alt="Elaboração própria." width="672" />
&lt;p class="caption">
Figure 1: Elaboração própria.
&lt;/p>
&lt;/div>
&lt;div id="estrutura-básica-para-simulação-com-r" class="section level2">
&lt;h2>Estrutura básica para simulação com R&lt;/h2>
&lt;p>Algumas equações diferenciais apresentam soluções analíticas, que podem ser resolvidas a partir de técnicas específicas. Para a economia, uma boa referência é o livro do &lt;span class="citation">&lt;a href="#ref-Gandolfo2005" role="doc-biblioref">Gandolfo&lt;/a> (&lt;a href="#ref-Gandolfo2005" role="doc-biblioref">2005&lt;/a>)&lt;/span>. Para aplicações mais detalhadas, consultar &lt;span class="citation">&lt;a href="#ref-Seco2018" role="doc-biblioref">Seco and Patrão&lt;/a> (&lt;a href="#ref-Seco2018" role="doc-biblioref">2018&lt;/a>)&lt;/span>. Nesses casos, simples técnicas de elaboração de gráficos podem ser adotadas no &lt;strong>R&lt;/strong> ou outro software.&lt;/p>
&lt;p>Porém, há situações que não se deseja ou não é simples encontrar uma solução analítica. Para esses casos, o &lt;strong>R&lt;/strong> possui pacotes que ajudam a encontrar e representar graficamente soluções numéricas e retratos de fase, que podem ajudar na interpretação dos modelos.&lt;/p>
&lt;p>O pacote utilizado para simulação e resolução de EDOs com o &lt;strong>R&lt;/strong> é o &lt;strong>deSolve&lt;/strong>. Um espectro maior de aplicações e parte das explicações aqui apresentadas podem ser encontradas em &lt;span class="citation">&lt;a href="#ref-Soetaert2010" role="doc-biblioref">Soetaert, Petzoldt, and Setzer&lt;/a> (&lt;a href="#ref-Soetaert2010" role="doc-biblioref">2010&lt;/a>)&lt;/span>}. Recursos adicionais e manuais podem ser acessados digitando &lt;strong>?deSolve&lt;/strong> diretamente no console&lt;a href="#fn3" class="footnote-ref" id="fnref3">&lt;sup>3&lt;/sup>&lt;/a>.&lt;/p>
&lt;p>Em primeiro lugar, deve-se definir uma função própria do modelo a ser simulado em linguagem própria do &lt;strong>R&lt;/strong> com, no mínimo, os seguintes parâmetros nesta ordem:&lt;/p>
&lt;ol style="list-style-type: decimal">
&lt;li>&lt;strong>Tempo&lt;/strong> para simulação;&lt;/li>
&lt;li>Valor &lt;strong>inicial&lt;/strong> das variáveis (estado); e&lt;/li>
&lt;li>&lt;strong>Parâmetros&lt;/strong> do modelo.&lt;/li>
&lt;/ol>
&lt;p>Quando da resolução, o modelo chamará essa função em cada período de tempo durante o processo de integração. &lt;strong>Tempo&lt;/strong> e &lt;strong>valores iniciais&lt;/strong> devem ser disponibilizados no formato de vetores (ou listas). A função &lt;strong>with( )&lt;/strong>&lt;a href="#fn4" class="footnote-ref" id="fnref4">&lt;sup>4&lt;/sup>&lt;/a> permite usar as variáveis em formato de lista diretamente dentro da função sem que seja necessário indicar o nome da lista todas as vezes. Por fim, a função deve retornar uma lista (os resultados serão concatenados se estivermos interessados em mais de uma EDO). Os comandos estão detalhados abaixo.&lt;/p>
&lt;p>Com a função elaborada, são estabelecidos os nomes e valores dos parâmetros, a(s) condição(ões) inicial(is) e o período de tempo que se deseja fazer a simulação. Lembre-se de que, quanto maior o tempo e complexidade do modelo, maior será o nível de exigência computacional&lt;a href="#fn5" class="footnote-ref" id="fnref5">&lt;sup>5&lt;/sup>&lt;/a>.&lt;/p>
&lt;p>Como exemplo de EDO de 1&lt;sup>a&lt;/sup> ordem, pode-se simular o seguinte modelo, baseado no modelo canônico de &lt;span class="citation">&lt;a href="#ref-Solow1956" role="doc-biblioref">Solow&lt;/a> (&lt;a href="#ref-Solow1956" role="doc-biblioref">1956&lt;/a>)&lt;/span>&lt;a href="#fn6" class="footnote-ref" id="fnref6">&lt;sup>6&lt;/sup>&lt;/a> representado na equação &lt;a href="#eq:solow">(3)&lt;/a>.
&lt;span class="math display" id="eq:solow">\[\begin{equation}
\dot{r} = sF(r,1) - nr
\tag{3}
\end{equation}\]&lt;/span> em que &lt;span class="math inline">\(r = \frac{K}{L}\)&lt;/span> é a razão capital-trabalho, &lt;span class="math inline">\(s\)&lt;/span> é a taxa de poupança, &lt;span class="math inline">\(n\)&lt;/span> é a taxa de crescimento da força de trabalho e &lt;span class="math inline">\(F(r,1)\)&lt;/span> é uma função de produção homogênea de grau um a ser especificada.&lt;/p>
&lt;p>No presente caso, uma função Cobb-Douglas na forma &lt;span class="math inline">\(F(K,L) = K^\alpha L^{1-\alpha} \Rightarrow F(r,1) = r^\alpha\)&lt;/span> pode ser adotada para a resolução numérica. Portanto, a equação diferencial a ser simulada é:
&lt;span class="math display" id="eq:solow-cobb">\[\begin{equation}
\dot{r} = sr^\alpha - nr
\tag{4}
\end{equation}\]&lt;/span> cuja função para simuação da EDO pode ser construída por:&lt;/p>
&lt;pre class="r">&lt;code> ### Função em R que representa a EDO
solow_edo &amp;lt;- function(tempo, inicial, parametros){ # Parâmetros da função
list &amp;lt;- as.list(c(inicial, parametros)) # Lista c/ informações da EDO
with(list, { # with() acessa elementos da lista
dr = s*r^alpha - n*r # EDO de interesse
list(dr) # Retorna valores simulados
}) # Fim do with
} # Fim da função&lt;/code>&lt;/pre>
&lt;p>A partir da função &lt;em>solow_edo&lt;/em> criada, pode-se disponibilizar os dados específicos a partir da simulação com a função &lt;strong>ode( )&lt;/strong>. Os valores dos parâmetros foram &lt;span class="math inline">\(s = 0.1\)&lt;/span>, &lt;span class="math inline">\(\alpha = 0.35\)&lt;/span> e &lt;span class="math inline">\(n = 0.05\)&lt;/span> e o valor inicial &lt;span class="math inline">\(r_0 = 1\)&lt;/span>. Ao final, estão os três primeiros e últimos resultados:&lt;/p>
&lt;pre class="r">&lt;code> ### Valor inicial
r &amp;lt;- c(r = 1) # Formato de vetor nominado de acordo com a função
### Parâmetros da função (podem ser estimados)
parametros &amp;lt;- c(s = 0.1,
alpha = 0.35,
n = 0.05) # Formato de vetor
### Sequência de tempo
tempo &amp;lt;- seq(0, 350, by = 1)
### Simulação do modelo
solow &amp;lt;- ode(y = r, # Condição inicial
times = tempo, # Tempo a ser simulado
func = solow_edo, # Função criada
parms = parametros) # Se parâmetros já definidos, use parms = NULL
### Exibição dos resultados
head(solow, n=3) # Exibe três primeiros&lt;/code>&lt;/pre>
&lt;pre>&lt;code>## time r
## [1,] 0 1.000000
## [2,] 1 1.049617
## [3,] 2 1.098443&lt;/code>&lt;/pre>
&lt;pre class="r">&lt;code>tail(solow, n=3) # Exibe três últimos&lt;/code>&lt;/pre>
&lt;pre>&lt;code>## time r
## [349,] 348 2.904818
## [350,] 349 2.904819
## [351,] 350 2.904820&lt;/code>&lt;/pre>
&lt;p>O gráfico resultado do modelo está descrito na Figura &lt;a href="#fig:solow">2&lt;/a>, sob o título “Modelo de Solow.”&lt;/p>
&lt;/div>
&lt;div id="interrupção-automática-da-simulação" class="section level2">
&lt;h2>Interrupção automática da simulação&lt;/h2>
&lt;p>Caso o interesse seja só a fase inicial de uma equação ou se tenha uma EDO convergente, é possível usar a funcionalidade &lt;em>root&lt;/em> da função &lt;strong>lsodar&lt;/strong>&lt;a href="#fn7" class="footnote-ref" id="fnref7">&lt;sup>7&lt;/sup>&lt;/a>.&lt;/p>
&lt;p>A simulação será interrompida no momento em que as variáveis de estado estiverem a uma distância entre si menor que um parâmetro pré-definido (no exemplo, uma variação da ordem de 10&lt;sup>-4&lt;/sup>). Assim, a função raiz calcula, em primeiro lugar, a taxa de variação e, depois, a diferença entre a soma dos valores absolutos e a tolerância definida:&lt;/p>
&lt;pre class="r">&lt;code> ### Critério de parada
raiz &amp;lt;- function(tempo,incial,parametros) {
variacao &amp;lt;- unlist(solow_edo(tempo,incial,parametros)) # Desfaz lista
sum(abs(variacao)) - 1e-4 # Tolerância
}
### Nova simulação do modelo, acrescida da raiz
solow_raiz &amp;lt;- lsodar(y = r,
times = tempo,
func = solow_edo,
parms = parametros,
rootfun = raiz) # Indicação da função criada
tail(solow_raiz, n=3) # Compare com os três últimos sem parada&lt;/code>&lt;/pre>
&lt;pre>&lt;code>## time r
## [202,] 201.0000 2.901594
## [203,] 202.0000 2.901698
## [204,] 202.6914 2.901768&lt;/code>&lt;/pre>
&lt;p>Por fim, os gráficos estão na Figura &lt;a href="#fig:solow">2&lt;/a>. Note que a função &lt;strong>matplot()&lt;/strong>&lt;a href="#fn8" class="footnote-ref" id="fnref8">&lt;sup>8&lt;/sup>&lt;/a> foi usada para ter uma interface melhor adaptada à plotagem lado a lado e a lidar com mais de uma variável no mesmo gráfico. Nesta nota, serão dados exemplos também com a função &lt;strong>plot()&lt;/strong>, da base do R.&lt;/p>
&lt;pre class="r">&lt;code>par(mfrow=c(1,2)) # Define gráficos a seguir em 1 linha e 2 colunas
### Série original
matplot(x = solow[,1],
y = solow[,2],
type = &amp;quot;l&amp;quot;, # Gráfico de linha
lwd = 2, # Largura da linha
col = &amp;quot;red&amp;quot;,
main = &amp;quot;Modelo de Solow&amp;quot;,
xlab = &amp;quot;tempo&amp;quot;,
ylab = &amp;quot;r(t)&amp;quot;)
### Série com interrupção
matplot(x = solow_raiz[,1],
y = solow_raiz[,2],
type = &amp;quot;l&amp;quot;,
lwd = 2,
col = &amp;quot;blue&amp;quot;,
main = &amp;quot;Modelo de Solow com parada&amp;quot;,
xlab = &amp;quot;tempo&amp;quot;,
ylab = &amp;quot;r(t)&amp;quot;)&lt;/code>&lt;/pre>
&lt;div class="figure">&lt;span id="fig:solow">&lt;/span>
&lt;img src="https://rafaeldeacypreste.netlify.app/project/edos/index.en_files/figure-html/solow-1.png" alt="Elaboração própria." width="624" />
&lt;p class="caption">
Figure 2: Elaboração própria.
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;div id="edo2" class="section level1">
&lt;h1>EDOs de 2&lt;sup>a&lt;/sup> ordem&lt;/h1>
&lt;p>EDOs de 2&lt;sup>a&lt;/sup> ordem envolvem a segunda derivada da função principal. Vale notar que, para fins computacionais, EDOs de 2&lt;sup>a&lt;/sup> ordem precisam ser escritas sob a forma de um sistema de equações de EDOs de 1&lt;sup>a&lt;/sup> ordem&lt;a href="#fn9" class="footnote-ref" id="fnref9">&lt;sup>9&lt;/sup>&lt;/a>, bem como duas condições iniciais. Assim, uma EDO no formato
&lt;span class="math display" id="eq:transformacao1">\[\begin{equation}
\begin{split}
y&amp;#39;&amp;#39; &amp;amp; = f(y,y&amp;#39;,t) \\
y(t_0) &amp;amp; = y_{0}\\
y&amp;#39;(t_0) &amp;amp; = y&amp;#39;_{0}
\end{split}
\tag{5}
\end{equation}\]&lt;/span> pode ser reescrita como
&lt;span class="math display" id="eq:transformacao">\[\begin{equation}
\begin{split}
y&amp;#39; &amp;amp; = y_1 \\
y&amp;#39;&amp;#39; &amp;amp; = y&amp;#39;_{1} = f(y,y_1,t) \\
y(t_0) &amp;amp; = y_{0}\\
y_1(t_0) &amp;amp; = y&amp;#39;_{0}
\end{split}
\tag{6}
\end{equation}\]&lt;/span>&lt;/p>
&lt;p>A título de exemplo, pode-se simular o modelo de acelerador de segunda ordem exposto em &lt;span class="citation">&lt;a href="#ref-Gandolfo2005" role="doc-biblioref">Gandolfo&lt;/a> (&lt;a href="#ref-Gandolfo2005" role="doc-biblioref">2005&lt;/a>)&lt;/span>. A EDO do modelo é
&lt;span class="math display" id="eq:acelerador1">\[\begin{equation}
K&amp;#39;&amp;#39; + \beta K&amp;#39;+ \alpha \beta K = \alpha \beta K^*
\tag{7}
\end{equation}\]&lt;/span> em que &lt;span class="math inline">\(K\)&lt;/span> é o estoque corrente de capital, &lt;span class="math inline">\(K^*\)&lt;/span> é o estoque desejado de capital, &lt;span class="math inline">\(\beta\)&lt;/span> denota a velocidade de ajuste do investimento real ao investimento desejado. Por fim, &lt;span class="math inline">\(\alpha\)&lt;/span> é a velocidade de ajuste entre o estoque real e o desejado.&lt;/p>
&lt;p>É possível ampliar o sistema com &lt;span class="math inline">\(K^* = kY\)&lt;/span>, em que &lt;span class="math inline">\(k\)&lt;/span> é a relação capital-produto e &lt;span class="math inline">\(Y\)&lt;/span> é o produto da economia. Assim, a equação &lt;a href="#eq:acelerador1">(7)&lt;/a> pode ser reescrita, após manipulações algébricas, como
&lt;span class="math display" id="eq:acelerador2">\[\begin{equation}
K&amp;#39;&amp;#39; + \beta \left(1-\frac{\alpha k}{1 - b}\right) K&amp;#39;+ \alpha \beta K = \alpha \beta k\frac{a}{1 - b}
\tag{8}
\end{equation}\]&lt;/span> em que os termos &lt;span class="math inline">\(a\)&lt;/span> e &lt;span class="math inline">\(b\)&lt;/span> se referem a uma versão macroeconômica simples de uma função de consumo no formato &lt;span class="math inline">\(C = a + bY\)&lt;/span>.&lt;/p>
&lt;p>A versão em sistema de EDOs de 1&lt;sup>a&lt;/sup> ordem da equação &lt;a href="#eq:acelerador2">(8)&lt;/a> pode ser feita considerando &lt;span class="math inline">\(I = K&amp;#39;\)&lt;/span> o investimento e isolando as derivadas no lado esquerdo das equações:
&lt;span class="math display" id="eq:acelerador-sistema">\[\begin{equation}
\begin{split}
K&amp;#39; &amp;amp; = I \\
I&amp;#39; &amp;amp; = -\beta \left(1-\frac{\alpha k}{1 - b}\right) I - \alpha \beta K + \alpha \beta k\frac{a}{1 - b}\\
K(t_0) &amp;amp; = K_{0}\\
K&amp;#39;(t_0) &amp;amp; = I&amp;#39;(t_0) = I_{0}
\end{split}
\tag{9}
\end{equation}\]&lt;/span>&lt;/p>
&lt;p>Diante disso, segue-se passos semelhantes à resolução de EDOs de 1&lt;sup>a&lt;/sup> ordem. Em primeiro lugar, cria-se a função, agora com duas equações e duas saídas de dados.&lt;/p>
&lt;pre class="r">&lt;code> ### EDO do Acelerador de 2a ordem
acel_edo &amp;lt;- function(tempo, inicial, parametros){
with(as.list(c(inicial, parametros)),{
# Equações apresentadas em (9)
dK &amp;lt;- I
dI &amp;lt;- -beta*(1-(alfa*k/(1-b)))*I - alfa*beta*K + alfa*beta*k*a/(1-b)
list(c(dK,dI)) # Retorna dois valores
})
}&lt;/code>&lt;/pre>
&lt;p>Em seguida, definem-se os parâmetros e o gráfico para representá-los na Figura &lt;a href="#fig:acelerador">3&lt;/a>.&lt;/p>
&lt;pre class="r">&lt;code>tempo &amp;lt;- seq(0,200, by = 0.5)
inicial &amp;lt;- c(K = 1, I = 0)
parametros &amp;lt;- c(alfa = 0.05,
beta = 0.25,
a = 2,
b = 0.8,
k = 3)
### Função semelhante à situação de 1a ordem
acel &amp;lt;- ode(y = inicial,
times = tempo,
func = acel_edo,
parms = parametros)
### Gráfico da EDO
plot(x = acel[,&amp;quot;time&amp;quot;],
y = acel[,&amp;quot;K&amp;quot;],
type = &amp;quot;l&amp;quot;,
lwd = 2,
col = &amp;quot;red&amp;quot;,
xlab = &amp;quot;tempo&amp;quot;,
ylab = &amp;quot;K(t)&amp;quot;,
main = TeX(&amp;quot;Acelerador de 2^a ordem&amp;quot;)) # Formato de texto LaTeX
abline(h = 30, # Acrescenta linha tracejada para o equilíbrio
lty = &amp;quot;dashed&amp;quot;) &lt;/code>&lt;/pre>
&lt;div class="figure">&lt;span id="fig:acelerador">&lt;/span>
&lt;img src="https://rafaeldeacypreste.netlify.app/project/edos/index.en_files/figure-html/acelerador-1.png" alt="Elaboração própria." width="624" />
&lt;p class="caption">
Figure 3: Elaboração própria.
&lt;/p>
&lt;/div>
&lt;p>Por fim, note que as EDOs de ordem superiores podem ser resolvidas adotando uma combinação dos procedimentos explicitados acima.&lt;/p>
&lt;div id="equação-com-coeficientes-constantes" class="section level2">
&lt;h2>Equação com coeficientes constantes&lt;/h2>
&lt;p>Equações com coeficientes constantes apresentam apenas a equação principal e suas derivadas variáveis no tempo. Um exemplo é a função &lt;span class="math inline">\(y&amp;#39;&amp;#39;(t) + 2y&amp;#39;(t) + y(t) = 0\)&lt;/span>. Sua versão em sistema de EDOs de 1&lt;sup>a&lt;/sup> ordem pode ser feita considerando &lt;span class="math inline">\(y_1(t) = y(t)&amp;#39;\)&lt;/span>, isolando as derivadas no lado esquerdo das equações e adotando uma das soluções canônicas, conforme :
&lt;span class="math display" id="eq:cte">\[\begin{equation}
\begin{split}
y&amp;#39; &amp;amp; = y_1 \\
y_1&amp;#39; &amp;amp; = -2y_1 - y\\
y(0) &amp;amp; = 0\\
y&amp;#39;(0) &amp;amp; = y_1 = 1
\end{split}
\tag{10}
\end{equation}\]&lt;/span>&lt;/p>
&lt;p>Diante disso, segue-se passos semelhantes à resolução de EDOs de 1&lt;sup>a&lt;/sup> ordem. Em primeiro lugar, cria-se a função, agora com duas equações e duas saídas de dados. O gráfico está representado na Figura &lt;a href="#fig:constante">4&lt;/a>.&lt;/p>
&lt;pre class="r">&lt;code> ### EDO de equação de coeficientes constantes
raizes_iguais &amp;lt;- function(t, inicial, parametros){
with(as.list(c(inicial, parametros)),{
### Sistema de Equações representando EDO de 2a ordem
dy &amp;lt;- y1
dy1 &amp;lt;- -2*y1 - y
### Resultados devem ser concatenados em uma lista
list(c(dy,dy1))
})
}
### Tempo máximo reduzido, pois converge rapidamente
tempo &amp;lt;- seq(1, 20, by = 0.1)
### Condições iniciais canônicas
inicial &amp;lt;- c(y = 0, y1 = 1)
### EDO
raizes_iguais_edo &amp;lt;- ode(y = inicial,
times = tempo,
func = raizes_iguais,
parms = NULL) # Equação com parâmetros já definidos&lt;/code>&lt;/pre>
&lt;pre class="r">&lt;code> ### Gráfico da EDO com coeficientes constantes
plot(raizes_iguais_edo[,&amp;quot;time&amp;quot;], raizes_iguais_edo[,&amp;quot;y&amp;quot;],
type = &amp;quot;l&amp;quot;,
lwd = 2,
col = &amp;quot;red&amp;quot;,
xlab = &amp;quot;t&amp;quot;,
ylab = &amp;quot;y(t)&amp;quot;,
main = TeX(&amp;quot;$y&amp;#39;&amp;#39;(t) + 2y&amp;#39;(t) + y(t) = 0$&amp;quot;)) # Formato de texto LaTeX&lt;/code>&lt;/pre>
&lt;div class="figure">&lt;span id="fig:constante">&lt;/span>
&lt;img src="https://rafaeldeacypreste.netlify.app/project/edos/index.en_files/figure-html/constante-1.png" alt="Coeficientes Constantes" width="624" />
&lt;p class="caption">
Figure 4: Coeficientes Constantes
&lt;/p>
&lt;/div>
&lt;/div>
&lt;div id="equação-de-laguerre" class="section level2">
&lt;h2>Equação de Laguerre&lt;/h2>
&lt;p>A equação de Laguerre tem aplicabilidade na Física quântica e em outras áreas da Matemática e Física. Exemplos de aplicações estão em . Um dos exemplos está na versão do orbital &lt;em>s&lt;/em> de um átomo de hidrogênio em seu menor nível de energia. A equação de Laguerre, nesse caso, é dada por &lt;span class="math inline">\(xy&amp;#39;&amp;#39;(x)+(1-x)y&amp;#39;(x) + y(x) = 0\)&lt;/span>. Sua versão em sistema de EDOs de 1&lt;sup>a&lt;/sup> ordem pode ser feita considerando &lt;span class="math inline">\(y_1(x) = y(x)&amp;#39;\)&lt;/span> e isolando as derivadas no lado esquerdo das equações e adotando uma das soluções canônicas:
&lt;span class="math display" id="eq:laguerre">\[\begin{equation}
\begin{split}
y&amp;#39; &amp;amp; = y_1 \\
y_1&amp;#39; &amp;amp; = \frac{-(1-x)}{x}y_1 - \frac{y}{x}\\
y(x_0) &amp;amp; = 0\\
y&amp;#39;(x_0) &amp;amp; = y_1 = 1
\end{split}
\tag{11}
\end{equation}\]&lt;/span>&lt;/p>
&lt;p>Diante disso, segue-se passos semelhantes à resolução de EDOs de 1&lt;sup>a&lt;/sup> ordem. Em primeiro lugar, cria-se a função, agora com duas equações e duas saídas de dados. O gráfico está representado na Figura &lt;a href="#fig:laguerre">5&lt;/a>.&lt;/p>
&lt;pre class="r">&lt;code> ### EDO de equação de Laguerre
laguerre &amp;lt;- function(x, inicial, parametros){
with(as.list(c(inicial, parametros)),{
# Sistema de Equações representando EDO de 2a ordem
dy &amp;lt;- y1
dy1 &amp;lt;- -(1-x)/x*y1 - y/x
# Resultados devem ser concatenados em uma lista
list(c(dy,dy1))
})
}
x &amp;lt;- seq(1, 50, by = 0.1)
### Condições iniciais canônicas
inicial &amp;lt;- c(y = 0, y1 = 1)
### EDO
laguerre_edo &amp;lt;- ode(y = inicial,
times = x,
func = laguerre,
parms = NULL)&lt;/code>&lt;/pre>
&lt;pre class="r">&lt;code> ### Gráfico da EDO de Laguerre
plot(laguerre_edo[,&amp;quot;time&amp;quot;], laguerre_edo[,&amp;quot;y&amp;quot;],
type = &amp;quot;l&amp;quot;,
lwd = 2,
col = &amp;quot;green&amp;quot;,
xlab = &amp;quot;x&amp;quot;,
ylab = &amp;quot;y(x)&amp;quot;,
main = TeX(&amp;quot;$xy&amp;#39;&amp;#39;(x) + (1-x)y&amp;#39;(x) + y(x) = 0$&amp;quot;)) # Formato de texto LaTeX&lt;/code>&lt;/pre>
&lt;div class="figure">&lt;span id="fig:laguerre">&lt;/span>
&lt;img src="https://rafaeldeacypreste.netlify.app/project/edos/index.en_files/figure-html/laguerre-1.png" alt="Equação de Laguerre" width="624" />
&lt;p class="caption">
Figure 5: Equação de Laguerre
&lt;/p>
&lt;/div>
&lt;/div>
&lt;div id="equação-de-euler" class="section level2">
&lt;h2>Equação de Euler&lt;/h2>
&lt;p>Um exemplo da chamada ``equação de Euler" é dado pela função &lt;span class="math inline">\(t^2y&amp;#39;&amp;#39;(t) + 2ty&amp;#39;(t) - 2y(t) = t^5\)&lt;/span>, conforme . Sua versão em sistema de EDOs de 1&lt;sup>a&lt;/sup> ordem pode ser feita considerando &lt;span class="math inline">\(y_1(t) = y(t)&amp;#39;\)&lt;/span> e isolando as derivadas no lado esquerdo das equações e adotando uma das soluções canônicas, conforme:
&lt;span class="math display" id="eq:euler">\[\begin{equation}
\begin{split}
y&amp;#39; &amp;amp; = y_1 \\
y_1&amp;#39; &amp;amp; = \frac{-2y_1}{t} + \frac{2y}{t^2} + t^3\\
y(0) &amp;amp; = 1\\
y&amp;#39;(0) &amp;amp; = y_1 = 0
\end{split}
\tag{12}
\end{equation}\]&lt;/span>&lt;/p>
&lt;p>Diante disso, segue-se passos semelhantes à resolução de EDOs de 1&lt;sup>a&lt;/sup> ordem. Em primeiro lugar, cria-se a função, agora com duas equações e duas saídas de dados. O gráfico está representado na Figura &lt;a href="#fig:euler">6&lt;/a>.&lt;/p>
&lt;pre class="r">&lt;code> ### EDO de equação de Euler
euler &amp;lt;- function(t, inicial, parametros){
with(as.list(c(inicial, parametros)),{
# Sistema de Equações representando EDO de 2a ordem
dy &amp;lt;- y1
dy1 &amp;lt;- -2/t*y1 + 2*y/t**2 + t**3
# Resultados devem ser concatenados em uma lista
list(c(dy,dy1))
})
}
tempo &amp;lt;- seq(1,10, by = 0.2)
### Condições iniciais canônicas
inicial &amp;lt;- c(y = 1, y1 = 0)
### EDO
euler_edo &amp;lt;- ode(y = inicial,
times = tempo,
func = euler,
parms = NULL)&lt;/code>&lt;/pre>
&lt;pre class="r">&lt;code> ### Gráfico da EDO com coeficientes constantes
plot(euler_edo[,&amp;quot;time&amp;quot;],euler_edo[,&amp;quot;y&amp;quot;],
type = &amp;quot;l&amp;quot;,
lwd = 2,
col = &amp;quot;blue&amp;quot;,
xlab = &amp;quot;t&amp;quot;,
ylab = &amp;quot;y(t)&amp;quot;,
main = TeX(&amp;quot;$t^2y&amp;#39;&amp;#39;(t) + 2ty&amp;#39;(t) - 2y(t) = t^5$ &amp;quot;)) # Formato de texto LaTeX&lt;/code>&lt;/pre>
&lt;div class="figure">&lt;span id="fig:euler">&lt;/span>
&lt;img src="https://rafaeldeacypreste.netlify.app/project/edos/index.en_files/figure-html/euler-1.png" alt="Equação de Euler" width="624" />
&lt;p class="caption">
Figure 6: Equação de Euler
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;div id="simultaneas" class="section level1">
&lt;h1>Equações diferenciais simultâneas&lt;/h1>
&lt;p>O caso de um sistema com duas EDOs de 1&lt;sup>a&lt;/sup> ordem pode ser resolvido de maneira semelhante ao modelo de 2&lt;sup>a&lt;/sup> ordem apresentado na seção &lt;a href="#edo2">&lt;strong>??&lt;/strong>&lt;/a>. Portanto, aqui será apresentada uma solução numérica para um sistema de três EDOs simultâneas trabalhado por &lt;span class="citation">&lt;a href="#ref-Ma2012" role="doc-biblioref">Ma and Bangura&lt;/a> (&lt;a href="#ref-Ma2012" role="doc-biblioref">2012&lt;/a>)&lt;/span>. Trata-se de um sistema econômico e financeiro que combina taxa de juro, de investimento e de inflação. Os detalhes do modelo devem ser avaliados no artigo original.&lt;/p>
&lt;p>O sistema fincaneiro (caótico) representado no modelo é tal que:
&lt;span class="math display" id="eq:financeiro">\[\begin{equation}
\begin{split}
\dot{x} &amp;amp; = z + (y - a)x \\
\dot{y} &amp;amp; = 1 - by - x^2 \\
\dot{z} &amp;amp; = -x + cz
\end{split}
\tag{13}
\end{equation}\]&lt;/span> em que &lt;span class="math inline">\(x\)&lt;/span> expressa a taxa de juro, &lt;span class="math inline">\(y\)&lt;/span> representa a demanda por investimento e &lt;span class="math inline">\(z\)&lt;/span>, o índice de preços. Ademais, &lt;span class="math inline">\(a \geq 0\)&lt;/span> é o volume de poupança, &lt;span class="math inline">\(b \geq 0\)&lt;/span> é o custo unitário do investimento e &lt;span class="math inline">\(c \geq 0\)&lt;/span> é a elasticidade da demanda por bens.&lt;/p>
&lt;p>Para a simulação numérica, usam-se os seguintes valores iniciais e parâmetros sugeridos pelos autores: &lt;span class="math inline">\(x_0 = 0.03\)&lt;/span>, &lt;span class="math inline">\(y_0 = 0.15\)&lt;/span>, &lt;span class="math inline">\(z_0 = 0.25\)&lt;/span>, &lt;span class="math inline">\(a = 5\)&lt;/span>, &lt;span class="math inline">\(b = 0.15\)&lt;/span> e &lt;span class="math inline">\(c = 0\)&lt;/span>. Com isso, a função é formada por:&lt;/p>
&lt;pre class="r">&lt;code> ### EDO do sistema financeiro caótico
financial_edo &amp;lt;- function(tempo, inicial, parametros) {
with(as.list(c(inicial,parametros)),{
dx &amp;lt;- z+(y - a)*x
dy &amp;lt;- 1 - b*y - x^2
dz &amp;lt;- -x - c*z
list(c(dx,dy,dz))
})
}&lt;/code>&lt;/pre>
&lt;p>O modelo pode com as três variáveis ser simulado na Figura &lt;a href="#fig:financial">7&lt;/a> por meio do pacote &lt;strong>scatterplot3d&lt;/strong>.&lt;/p>
&lt;pre class="r">&lt;code>tempo &amp;lt;- seq(0,100,by = .01)
inicial &amp;lt;- c(x = .03,
y = .15,
z = .25)
parametros &amp;lt;- c(a = 5,
b = .15,
c = .8)
### EDO
financial &amp;lt;- ode(y = inicial,
times = tempo,
func = financial_edo,
parms = parametros)
### Gráfico 3D de todo o sistema
scatterplot3d(financial[,-1], # Exclui a coluna tempo para que apenas
type = &amp;quot;l&amp;quot;, # as variáveis sejam representadas
lwd = 3,
xlab = &amp;quot;juro&amp;quot;,
ylab = &amp;quot;investimento&amp;quot;,
zlab = &amp;quot;preços&amp;quot;)&lt;/code>&lt;/pre>
&lt;div class="figure">&lt;span id="fig:financial">&lt;/span>
&lt;img src="https://rafaeldeacypreste.netlify.app/project/edos/index.en_files/figure-html/financial-1.png" alt="Elaboração própria." width="624" />
&lt;p class="caption">
Figure 7: Elaboração própria.
&lt;/p>
&lt;/div>
&lt;p>A partir da resolução de todo o sistema, pode-se avaliar apenas a relação entre duas variáveis como na Figura &lt;a href="#fig:juro">8&lt;/a>:&lt;/p>
&lt;pre class="r">&lt;code> ### Relação entre juro e demanda por investimento
plot(x = financial[,&amp;quot;x&amp;quot;],
y = financial[,&amp;quot;y&amp;quot;],
type = &amp;quot;l&amp;quot;,
lwd = 3,
xlab = &amp;quot;juro&amp;quot;,
ylab = &amp;quot;investimento&amp;quot;)&lt;/code>&lt;/pre>
&lt;div class="figure">&lt;span id="fig:juro">&lt;/span>
&lt;img src="https://rafaeldeacypreste.netlify.app/project/edos/index.en_files/figure-html/juro-1.png" alt="Elaboração própria." width="624" />
&lt;p class="caption">
Figure 8: Elaboração própria.
&lt;/p>
&lt;/div>
&lt;p>A relação entre inflação e juro está na Figura &lt;a href="#fig:inflacaojuro">9&lt;/a>.&lt;/p>
&lt;pre class="r">&lt;code> # Relação entre juro e preço
matplot(x = financial[,&amp;quot;time&amp;quot;],
y = financial[,c(&amp;quot;x&amp;quot;,&amp;quot;z&amp;quot;)],
type = &amp;quot;l&amp;quot;,
lwd = 3,
xlab = &amp;quot;tempo&amp;quot;,
ylab = &amp;quot;&amp;quot;) # Exclui o título do eixo y
### Legenda
legend(&amp;quot;bottomleft&amp;quot;, # Local no gráfico
c(&amp;quot;juro&amp;quot;, &amp;quot;preços&amp;quot;), # Conteúdo da Legenda
col = 1:2, # Cores preto (1) e vermelho (2)
lty = 1:2) # Linha contínua (1) e tracejada (2)&lt;/code>&lt;/pre>
&lt;div class="figure">&lt;span id="fig:inflacaojuro">&lt;/span>
&lt;img src="https://rafaeldeacypreste.netlify.app/project/edos/index.en_files/figure-html/inflacaojuro-1.png" alt="Elaboração própria." width="624" />
&lt;p class="caption">
Figure 9: Elaboração própria.
&lt;/p>
&lt;/div>
&lt;/div>
&lt;div id="análise-de-estabilidade" class="section level1">
&lt;h1>Análise de estabilidade&lt;/h1>
&lt;p>A análise de estabilidade com o pacote &lt;strong>phaseR&lt;/strong> apresenta, de maneira gráfica, um diagrama de fase de uma EDO ou sistema de EDOs de modo a avaliar trajetórias iniciais distintas ou consequências de perturbações no modelo dinâmico.&lt;/p>
&lt;p>Este pacote depende de uma função que represente a EDO a partir da estrutura &lt;strong>deSolve&lt;/strong>, vista nas seções anteriores. Os nomes dos parâmetros até agora foram adotados para que ficassem mais intuitivos. Entretanto, para o retrato de fase, os nomes dos parâmetros que aparecem na função da EDO devem ser os mesmos aceitos pelo próprio pacote &lt;strong>deSolve&lt;/strong> conforme:&lt;/p>
&lt;ol style="list-style-type: decimal">
&lt;li>O tempo deve ser representado pela letra &lt;strong>t&lt;/strong>;&lt;/li>
&lt;li>Os valores iniciais devem estar contidos num vetor &lt;strong>y&lt;/strong>; e&lt;/li>
&lt;li>Os parâmetros, indicados em um vetor &lt;strong>parameters&lt;/strong>.&lt;/li>
&lt;/ol>
&lt;div id="estabilidade-de-edo-de-1a-ordem" class="section level2">
&lt;h2>Estabilidade de EDO de 1&lt;sup>a&lt;/sup> ordem&lt;/h2>
&lt;p>Como primeiro exemplo, tem-se a análise do modelo de Solow, apresentado na seção &lt;a href="#solow">&lt;strong>??&lt;/strong>&lt;/a>. Reorganizando os nomes da função e dos parâmetros, os comandos são:&lt;/p>
&lt;pre class="r">&lt;code> ### EDO com os nomes padrão dos parâmetros
solow_edo &amp;lt;- function(t,y,parameters){
with(as.list(c(y,parameters)),{
r = y # Adaptação da notação do modelo
dr = s*r^alpha - n*r
list(dr)
})
}
t &amp;lt;- seq(0,300,1)
y &amp;lt;- c(r = 1)
parameters &amp;lt;- c(s= 0.1, alpha = 0.35, n=0.05)&lt;/code>&lt;/pre>
&lt;p>Após os ajustes na nomenclatura, é possível acrescentar o campo de fluxos (ou de velocidades) com a função &lt;em>flowField&lt;/em>(). Ademais, pode-se simular algumas trajetórias com a função &lt;em>trajectory&lt;/em>() a partir de pontos iniciais distintos conforme a Figura &lt;a href="#fig:fase">10&lt;/a>. O gráfico base deve conter o ajuste “&lt;em>add = FALSE&lt;/em>.” Caso contrário, será adicionado a outro gráfico pré-existente, gerando problemas de configuração.&lt;/p>
&lt;pre class="r">&lt;code> ### Gráfico com o campo de fluxos
flowField(solow_edo, # EDO
xlim = c(0,300), # Limite para o eixo do tempo
ylim = c(0,4.1), # Limite para a variável em análise
system = &amp;quot;one.dim&amp;quot;, # Apenas uma variável contra o tempo
parameters = parameters, # Vetor numérico
add = FALSE, # Se TRUE, adiciona campo a um gráfico anterior
points = 15, # Densidade de setas (default = 21)
xlab = &amp;quot;tempo&amp;quot;,
ylab = &amp;quot;r(t)&amp;quot;,
main = &amp;quot;Estabilidade do Modelo de Solow&amp;quot;)
### Desenho das trajetórias a partir de condições iniciais
trajectory(solow_edo,
y0 = c(0, 0.5, 1.5, 2.5, 3, 3.5, 4), # diferentes pontos iniciais
tlim = c(0, 300),
system = &amp;quot;one.dim&amp;quot;,
parameters = parameters,
col = &amp;quot;blue&amp;quot;)&lt;/code>&lt;/pre>
&lt;div class="figure">&lt;span id="fig:fase">&lt;/span>
&lt;img src="https://rafaeldeacypreste.netlify.app/project/edos/index.en_files/figure-html/fase-1.png" alt="Elaboração própria." width="624" />
&lt;p class="caption">
Figure 10: Elaboração própria.
&lt;/p>
&lt;/div>
&lt;div id="retrato-de-fase" class="section level3">
&lt;h3>Retrato de fase&lt;/h3>
&lt;p>Pode-se também fazer o retrado de fase como na Figura &lt;a href="#fig:retrato">11&lt;/a>, em que a variável em nível está representada no eixo horizontal e sua derivada no eixo vertical. Com isso, visualiza-se pontos de equilíbrio e suas estabilidades.&lt;/p>
&lt;pre class="r">&lt;code> ### Retrato de fase
phasePortrait(solow_edo,
ylim = c(0, 4), # Limite da variável dependente
system = &amp;quot;one.dim&amp;quot;,
parameters = parameters,
col = &amp;quot;red&amp;quot;,
xlab = &amp;quot;r(t)&amp;quot;,
ylab = TeX(&amp;quot;\\dot{r}(t)&amp;quot;),
main = &amp;quot;Retrato de Fase do Modelo de Solow&amp;quot;)&lt;/code>&lt;/pre>
&lt;div class="figure">&lt;span id="fig:retrato">&lt;/span>
&lt;img src="https://rafaeldeacypreste.netlify.app/project/edos/index.en_files/figure-html/retrato-1.png" alt="Elaboração própria." width="624" />
&lt;p class="caption">
Figure 11: Elaboração própria.
&lt;/p>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;div id="estabilidade-de-sistema-de-duas-edos-de-1a-ordem---equilíbrio-dinâmico" class="section level2">
&lt;h2>Estabilidade de sistema de duas EDOs de 1&lt;sup>a&lt;/sup> ordem - equilíbrio dinâmico&lt;/h2>
&lt;p>Procedimentos semelhantes podem ser adotados para um sistema com duas equações. Para um exemplo de sistema homogêneo de EDOs cujo equilíbrio é estável, utiliza-se exemplo sugerido por &lt;span class="citation">&lt;a href="#ref-Gandolfo2005" role="doc-biblioref">Gandolfo&lt;/a> (&lt;a href="#ref-Gandolfo2005" role="doc-biblioref">2005&lt;/a>)&lt;/span> no capítulo 18 (exercício 3), cuja esturutra é:
&lt;span class="math display" id="eq:gandolfo18">\[\begin{equation}
\begin{split}
\dot{x} &amp;amp; = -2x + 4y \\
\dot{y} &amp;amp; = -x + y
\end{split}
\tag{14}
\end{equation}\]&lt;/span>
Além das informações disponíveis para o caso de uma variável (dimensão) apresentado acima, é possível desenhar as isolinhas nulas, que representam o formato geométrico onde a derivada de uma função é zero. Elas podem ser elaboradas com a função &lt;em>nullclines&lt;/em>(). Note que, agora, os valores iniciais para a trajetória devem ser oferecidos em formato de matriz, representando os pares ordenados. O resultado pode ser visto na Figura &lt;a href="#fig:estavel">12&lt;/a>.&lt;/p>
&lt;pre class="r">&lt;code> ### EDO do sistema
gandolfo_edo_estavel &amp;lt;- function(t,y,parameters){
x &amp;lt;- y[1] # Valores iniciais em formato de vetor
y &amp;lt;- y[2] # e precisam ser renomeados
dx &amp;lt;- -x-y
dy &amp;lt;- 5*x-3*y
list(c(dx,dy))
}
### Gráfico com o campo de fluxos
flowField(gandolfo_edo_estavel,
xlim = c(-5,5), # Limite da primeira variável
ylim = c(-5,5), # Limite da primeira variável
add = FALSE,
points = 15)
### Isolhinhas nulas
nullclines(gandolfo_edo_estavel, # EDO
xlim = c(-5,5), # Limites compatíveis com o campo de fluxos
ylim = c(-5,5))
### Matriz com as condições iniciais
y0 &amp;lt;- matrix(c(0,3, # Pares ordenaos para y0
0,-3,
-5,0,
4,-1),
ncol = 2,
byrow = TRUE) # Insere os dados numa matriz a partir das linhas
### Desenho das trajetórias a partir de condições iniciais
trajectory(gandolfo_edo_estavel,
y0 = y0,
tlim = c(-5, 5))&lt;/code>&lt;/pre>
&lt;div class="figure">&lt;span id="fig:estavel">&lt;/span>
&lt;img src="https://rafaeldeacypreste.netlify.app/project/edos/index.en_files/figure-html/estavel-1.png" alt="Elaboração própria." width="624" />
&lt;p class="caption">
Figure 12: Elaboração própria.
&lt;/p>
&lt;/div>
&lt;pre class="r">&lt;code> ### Matriz com as condições iniciais
y0&lt;/code>&lt;/pre>
&lt;pre>&lt;code>## [,1] [,2]
## [1,] 0 3
## [2,] 0 -3
## [3,] -5 0
## [4,] 4 -1&lt;/code>&lt;/pre>
&lt;/div>
&lt;div id="estabilidade-de-sistema-de-duas-edos-de-1a-ordem---ponto-de-sela" class="section level2">
&lt;h2>Estabilidade de sistema de duas EDOs de 1&lt;sup>a&lt;/sup> ordem - ponto de sela&lt;/h2>
&lt;p>Para um exemplo de sistema de EDOs cujo equilíbrio é caracterizado por uma trajetória de sela, pode-se adotar o sistema homogêneo sugerido por &lt;span class="citation">&lt;a href="#ref-Gandolfo2005" role="doc-biblioref">Gandolfo&lt;/a> (&lt;a href="#ref-Gandolfo2005" role="doc-biblioref">2005&lt;/a>)&lt;/span> no capítulo 18 ( exercício 1) cuja esturutra é:
&lt;span class="math display" id="eq:gandolfo18-2">\[\begin{equation}
\begin{split}
\dot{x} &amp;amp; = -2x + 4y \\
\dot{y} &amp;amp; = -x + y
\end{split}
\tag{15}
\end{equation}\]&lt;/span>
É possível perceber que se trata de uma trajetória de sela, cujas trajetórias estáveis e instáveis podem ser elaboradas com a função &lt;em>drawManifolds&lt;/em>(). O resultado pode ser visto na Figura &lt;a href="#fig:sela">13&lt;/a>.&lt;/p>
&lt;pre class="r">&lt;code> ### EDO
gandolfo_edo &amp;lt;- function(t,y,parameters){
x &amp;lt;- y[1] # Valores iniciais em formato de vetor
y &amp;lt;- y[2] # e precisam ser renomeados
dx &amp;lt;- -2*x-4*y
dy &amp;lt;- -x+y
list(c(dx,dy))
}
### Campo de fluxos
flowField(gandolfo_edo,
xlim = c(-5,5),
ylim = c(-5,5),
add = FALSE,
points = 15)
### Isolinhas
nullclines(gandolfo_edo,
xlim = c(-5,5),
ylim = c(-5,5))
### Trajetórias de sela (instável e estável)
drawManifolds(gandolfo_edo,
y0 = c(0, 0))
### Matriz de choques iniciais
y0 &amp;lt;- matrix(c(0,3,
0,-3,
-5,0,
4,-1),
ncol = 2,
byrow = TRUE)
### Trajetórias de choques
trajectory(gandolfo_edo,
y0 = y0,
tlim = c(-5, 5))&lt;/code>&lt;/pre>
&lt;div class="figure">&lt;span id="fig:sela">&lt;/span>
&lt;img src="https://rafaeldeacypreste.netlify.app/project/edos/index.en_files/figure-html/sela-1.png" alt="Elaboração própria." width="672" />
&lt;p class="caption">
Figure 13: Elaboração própria.
&lt;/p>
&lt;/div>
&lt;p>Em linhas gerais, essas são as informações mais comuns na análise de sistemas dinâmicos no campo da Economia. Funções e tratamentos adicionais podem ser avaliados nos itens referenciados abaixo.&lt;/p>
&lt;/div>
&lt;/div>
&lt;div id="referências" class="section level1 unnumbered">
&lt;h1>Referências&lt;/h1>
&lt;div id="refs" class="references csl-bib-body hanging-indent">
&lt;div id="ref-Gandolfo2005" class="csl-entry">
Gandolfo, Giancarlo. 2005. &lt;em>&lt;span>Economic Dynamics&lt;/span>&lt;/em>. Study. New York - USA: Springer US.
&lt;/div>
&lt;div id="ref-Ma2012" class="csl-entry">
Ma, Junhai, and Hamza I. Bangura. 2012. &lt;span>“&lt;span class="nocase">Complexity analysis research of financial and economic system under the condition of three parameters’ change circumstances&lt;/span>.”&lt;/span> &lt;em>Nonlinear Dynamics&lt;/em> 70 (4): 2313–26. &lt;a href="https://doi.org/10.1007/s11071-012-0336-z">https://doi.org/10.1007/s11071-012-0336-z&lt;/a>.
&lt;/div>
&lt;div id="ref-Seco2018" class="csl-entry">
Seco, Lucas, and Mauro Patrão. 2018. &lt;em>&lt;span class="nocase">Equa&lt;span class="nocase">ç&lt;/span>&lt;span class="nocase">õ&lt;/span>es diferenciais ordin&lt;span class="nocase">á&lt;/span>rias e s&lt;span class="nocase">é&lt;/span>ries de pot&lt;span class="nocase">ê&lt;/span>ncias&lt;/span>&lt;/em>. Bras&lt;span>í&lt;/span>lia - BRA: Editora Universidade de Bras&lt;span>í&lt;/span>lia.
&lt;/div>
&lt;div id="ref-Soetaert2012" class="csl-entry">
Soetaert, Karline, Jeff Cash, and Francesca Mazzia. 2012. &lt;em>&lt;span class="nocase">Use R ! Solving Differential Equations in R-Springer&lt;/span>&lt;/em>. Verlag Berlin Heidelberg: Springer.
&lt;/div>
&lt;div id="ref-Soetaert2010" class="csl-entry">
Soetaert, Karline, Thomas Petzoldt, and R. Woodrow Setzer. 2010. &lt;span>“&lt;span class="nocase">Solving differential equations in R: Package deSolve&lt;/span>.”&lt;/span> &lt;em>Journal of Statistical Software&lt;/em> 33 (9): 1–25. &lt;a href="https://doi.org/10.18637/jss.v033.i09">https://doi.org/10.18637/jss.v033.i09&lt;/a>.
&lt;/div>
&lt;div id="ref-Solow1956" class="csl-entry">
Solow, Robert M. 1956. &lt;span>“&lt;span class="nocase">A Contribution to the Theory of Economic Growth&lt;/span>.”&lt;/span> &lt;em>The Quaterly Journal of Economics&lt;/em> 70 (1): 65–95. &lt;a href="http://piketty.pse.ens.fr/files/Solow1956.pdf">http://piketty.pse.ens.fr/files/Solow1956.pdf&lt;/a>.
&lt;/div>
&lt;/div>
&lt;/div>
&lt;div class="footnotes">
&lt;hr />
&lt;ol>
&lt;li id="fn1">&lt;p>Doutorando em Economia pela Universidade de Brasília. Pode ser contatado em &lt;a href="mailto:rafaeldeacyprestemr@gmail.com">rafaeldeacyprestemr@gmail.com&lt;/a>.&lt;a href="#fnref1" class="footnote-back">↩︎&lt;/a>&lt;/p>&lt;/li>
&lt;li id="fn2">&lt;p>Doutor em Economia pela Universidade de Brasília. Pode ser contatado em &lt;a href="mailto:theosantunes@gmail.com">theosantunes@gmail.com&lt;/a>.&lt;a href="#fnref2" class="footnote-back">↩︎&lt;/a>&lt;/p>&lt;/li>
&lt;li id="fn3">&lt;p> Alguns exemplos de representação gráfica podem ser vistos com a função &lt;em>example(deSolve)&lt;/em>.&lt;a href="#fnref3" class="footnote-back">↩︎&lt;/a>&lt;/p>&lt;/li>
&lt;li id="fn4">&lt;p> Para ver exemplos da função, clique &lt;a href="https://statisticsglobe.com/r-with-within-function-example#:~:text=Definition%20of%20with%20%26%20within%3A,AND%20modifies%20the%20original%20data.">aqui&lt;/a>.&lt;a href="#fnref4" class="footnote-back">↩︎&lt;/a>&lt;/p>&lt;/li>
&lt;li id="fn5">&lt;p>O tempo demandado para a análise pode ser medido com as seguintes funções concatenadas: &lt;strong>print(system.time(&amp;lt;código da função ode&amp;gt;))&lt;/strong>.&lt;a href="#fnref5" class="footnote-back">↩︎&lt;/a>&lt;/p>&lt;/li>
&lt;li id="fn6">&lt;p>Os detalhes do modelo podem ser consultados, pelo leitor, no artigo original e os artigos que o discutiram posteriormente.&lt;a href="#fnref6" class="footnote-back">↩︎&lt;/a>&lt;/p>&lt;/li>
&lt;li id="fn7">&lt;p>Esta é a operação padrão na própria função &lt;strong>ode()&lt;/strong>.&lt;a href="#fnref7" class="footnote-back">↩︎&lt;/a>&lt;/p>&lt;/li>
&lt;li id="fn8">&lt;p>Esta função desenha mais de uma coluna de uma matriz ao mesmo tempo. Com a função &lt;strong>plot()&lt;/strong>, seriam necessários dois comandos.&lt;a href="#fnref8" class="footnote-back">↩︎&lt;/a>&lt;/p>&lt;/li>
&lt;li id="fn9">&lt;p>Para mais detalhes, ver &lt;span class="citation">&lt;a href="#ref-Soetaert2012" role="doc-biblioref">Soetaert, Cash, and Mazzia&lt;/a> (&lt;a href="#ref-Soetaert2012" role="doc-biblioref">2012&lt;/a>)&lt;/span>.&lt;a href="#fnref9" class="footnote-back">↩︎&lt;/a>&lt;/p>&lt;/li>
&lt;/ol>
&lt;/div></description></item><item><title>Nota sobre gráficos 3</title><link>https://rafaeldeacypreste.netlify.app/project/nota/</link><pubDate>Tue, 20 Apr 2021 00:00:00 +0000</pubDate><guid>https://rafaeldeacypreste.netlify.app/project/nota/</guid><description>
&lt;script src="https://rafaeldeacypreste.netlify.app/project/nota/index.en_files/header-attrs/header-attrs.js">&lt;/script>
&lt;div id="introdução" class="section level1 unnumbered">
&lt;h1>Introdução&lt;/h1>
&lt;p>Apresentar informações estatísticas por meio de gráficos pode ser uma ferramenta importante para melhorar o entendimento de informações complexas. Para isso, deve-se elaborar um gráfico eficiente. Uma forma é mais eficiente que a outra se sua informação pode ser decodificada pela maioria dos leitores de forma mais rápida ou mais fácil de acordo com &lt;span class="citation">&lt;a href="#ref-Robbins2004" role="doc-biblioref">Robbins&lt;/a> (&lt;a href="#ref-Robbins2004" role="doc-biblioref">2004&lt;/a>)&lt;/span>. Portanto, cuidados são necessários para que os gráficos não sejam ineficientes, confusos ou transmitam informações erradas.&lt;/p>
&lt;p>Esta nota tem por objetivo apresentar o material utilizado e as rotinas realizadas para a apresentação de dados estatísticos econômicos com o pacote &lt;strong>ggplot2&lt;/strong>. Esse pacote permite apresentar dados seguindo uma “gramática de gráficos,” que “&lt;em>makes ggplot2 very powerful because you are not limited to a set of pre-specified graphics, but you can create new graphics that are precisely tailored for your problem&lt;/em>,” conforme &lt;span class="citation">&lt;a href="#ref-Wickham2015" role="doc-biblioref">Wickham&lt;/a> (&lt;a href="#ref-Wickham2015" role="doc-biblioref">2015&lt;/a>)&lt;/span>.&lt;/p>
&lt;p>Em síntese, &lt;span class="citation">&lt;a href="#ref-Wickham2015" role="doc-biblioref">Wickham&lt;/a> (&lt;a href="#ref-Wickham2015" role="doc-biblioref">2015&lt;/a>)&lt;/span> explica essa gramática de gráficos como uma representação estatística que mapeia informações em atributos estéticos (cores, formatos, tamanhos) de objetos geométricos (pontos, linhas, barras) em um sistema específico de coordenadas. Diferentes facetas podem ser usadas para representar, numa única imagem, diferentes subconjuntos de uma tabela. E é a combinação desses elementos que forma um gráfico.&lt;/p>
&lt;p>Do ponto de vista mais concreto, em primeiro lugar, é necessário instalar (uma única vez) e carregar os pacotes abaixo para realizar as rotinas no &lt;strong>R&lt;/strong>&lt;a href="#fn1" class="footnote-ref" id="fnref1">&lt;sup>1&lt;/sup>&lt;/a>.&lt;/p>
&lt;pre class="r">&lt;code># install.packages(&amp;quot;tidyverse&amp;quot;) Instala o pacote tidyverse, por exemplo
library(tidyverse) # Organização das tabelas e elaboração de gráficos
library(RColorBrewer) # Paletas de cores para os gráficos
library(viridis) # Paletas de cores para os gráficos
library(ggthemes) # Interfaces gráficas adicionais
library(scales) # Ajuste de escala dos gráficos
library(lubridate) # Ferramenta para ajuste de datas
library(zoo) # Ferramenta também para ajuste de datas
library(sidrar) # Acessar dados do IBGE
#library(rbcb) # Acessar dados do BCB
options(scipen = 999)&lt;/code>&lt;/pre>
&lt;p>Um bom processo de elaboração de gráficos exige que sua matéria prima esteja no formato ideal, com as tabelas devidamente organizadas. Esse processo de organização leva à chamada ``&lt;em>tidy data&lt;/em>’’ (por isso o nome do primeiro pacote utilizado), conforme &lt;span class="citation">&lt;a href="#ref-WickhamRStudio2014" role="doc-biblioref">Wickham&lt;/a> (&lt;a href="#ref-WickhamRStudio2014" role="doc-biblioref">2014&lt;/a>)&lt;/span>. Em síntese, os dados devem ser organizados de duas formas. Cada &lt;strong>valor&lt;/strong> (cada célula numa tabela do &lt;em>Excel&lt;/em>, por exemplo) pertence a uma variável e a uma observação. &lt;strong>Variável&lt;/strong> contém valores que se referem a uma mesma característica ou atributo — podemos citar como exemplos a data, o valor da taxa de inflação ou da taxa de desocupação e etc. — e são representadas por colunas. Cada &lt;strong>observação&lt;/strong>, isto é, cada linha contém todos os valores medidos sobre uma mesma unidade, como uma região e um trimestre.&lt;/p>
&lt;/div>
&lt;div id="compontentes-básicos-dos-gráficos" class="section level1">
&lt;h1>Compontentes básicos dos gráficos&lt;/h1>
&lt;p>Todos os gráficos feitos com o &lt;em>ggplot2&lt;/em> têm seis componentes básicos:&lt;/p>
&lt;ol style="list-style-type: decimal">
&lt;li>Informações (tabela);&lt;/li>
&lt;li>Mapeamentos estéticos (variáveis e outras propriedades visuais);&lt;/li>
&lt;li>Camadas (formato que as informações serão apresentadas, transformações estatísticas e ajustes de posicionamentos);&lt;/li>
&lt;li>Escalas para cada mapeamento estético (guias para ler os valores, normalmente explicados nas legendas);&lt;/li>
&lt;li>Sistema de coordenadas; e&lt;/li>
&lt;li>Especificação de facetas ou subconjuntos.&lt;/li>
&lt;/ol>
&lt;p>Os três primeiros elementos são normalmente suficientes para análises exploratórias dos dados, em que o objetivo é conhecer melhor os dados que foram coletados. Tratam-se de gráficos usados apenas pelo pesquisador e, em geral, são insuficientes para apresentação dos resultados.&lt;/p>
&lt;p>Para fins desta nota, utilizaremos em quase todos os gráficos as informações relativas à taxa de desocupação da força de trabalho (Tabela 6397), ao rendimento médio real (Tabela 5437) e à média de horas habitualmente trabalhadas por semana (Tabela 6372) por grupos de idade entre o 1&lt;sup>o&lt;/sup> trimestre de 2016 e o 1&lt;sup>o&lt;/sup> trimestre de 2020. Todas as informações foram coletadas na Pesquisa Nacional por Amostra de Domicílios Contínua Trimestral (PNADC/T), realizada pelo &lt;a href="https://sidra.ibge.gov.br/pesquisa/pnadct/tabelas">IBGE&lt;/a>. Os dados são baixados por meio do pacote &lt;em>sidrar&lt;/em>. Nesse caso, baixaremos as tabelas individualmente e, ao final, juntaremos pelas categorias em comum. As informações para identificar os elementos das tabelas que queremos podem ser acessadas pela função &lt;em>info_sidra&lt;/em>().&lt;/p>
&lt;pre class="r">&lt;code>## Tabela 6397 - Taxas de desocupação e de subutilização da força de trabalho,
## na semana de referência, das pessoas de 14 anos ou mais de idade,
## por grupos de idade
# info_sidra(6397,wb = T)
desocupacao &amp;lt;- get_sidra(6397,
period = &amp;quot;201601-202001&amp;quot;, # Seleciona trimestres
geo = &amp;quot;Region&amp;quot;, # 5 Regiões Brasileiras
variable = c(4099),
format = 2)
tabela1 &amp;lt;- desocupacao %&amp;gt;%
rename(&amp;quot;Desocupacao&amp;quot; = Valor) %&amp;gt;% # Renomeia a variável de interesse
select(`Grande Região`,Trimestre, `Grupo de idade`,Desocupacao)
head(tabela1, n = 3) # Mostra as três primeiras linhas&lt;/code>&lt;/pre>
&lt;pre>&lt;code>## Grande Região Trimestre Grupo de idade Desocupacao
## 2 Norte 1º trimestre 2016 Total 10.5
## 3 Norte 1º trimestre 2016 14 a 17 anos 24.4
## 4 Norte 1º trimestre 2016 18 a 24 anos 23.2&lt;/code>&lt;/pre>
&lt;pre class="r">&lt;code>## Tabela 5437 - Rendimento médio real, habitualmente recebido por mês e
## efetivamente recebido no mês de referência, do trabalho principal e
## de todos os trabalhos, por grupos de idade
# info_sidra(5437,wb = T)
rendimento &amp;lt;- get_sidra(5437,
period = &amp;quot;201601-202001&amp;quot;,
geo = &amp;quot;Region&amp;quot;,
variable = c(5932),
format = 2)
tabela2 &amp;lt;- rendimento %&amp;gt;%
rename(&amp;quot;Rendimento&amp;quot; = Valor) %&amp;gt;%
select(`Grande Região`,Trimestre, `Grupo de idade`,Rendimento)
head(tabela2, n = 3)&lt;/code>&lt;/pre>
&lt;pre>&lt;code>## Grande Região Trimestre Grupo de idade Rendimento
## 2 Norte 1º trimestre 2016 Total 1719
## 3 Norte 1º trimestre 2016 14 a 17 anos 511
## 4 Norte 1º trimestre 2016 18 a 24 anos 1077&lt;/code>&lt;/pre>
&lt;pre class="r">&lt;code>## Tabela 6372 - Média de horas habitualmente trabalhadas por semana e
## efetivamente trabalhadas na semana de referência, no trabalho principal
## e em todos os trabalhos, das pessoas de 14 anos ou mais de idade,
## por grupos de idade
#info_sidra(6372,wb = T)
horas &amp;lt;- get_sidra(6372,
period = &amp;quot;201601-202001&amp;quot;,
geo = c(&amp;quot;Region&amp;quot;),
variable = c(8186),
format = 2)
tabela3 &amp;lt;- horas %&amp;gt;%
rename(&amp;quot;Horas&amp;quot; = Valor) %&amp;gt;%
select(`Grande Região`,Trimestre, `Grupo de idade`,Horas)
head(tabela3, n = 3)&lt;/code>&lt;/pre>
&lt;pre>&lt;code>## Grande Região Trimestre Grupo de idade Horas
## 2 Norte 1º trimestre 2016 Total 37.6
## 3 Norte 1º trimestre 2016 14 a 17 anos 25.9
## 4 Norte 1º trimestre 2016 18 a 24 anos 37.0&lt;/code>&lt;/pre>
&lt;pre class="r">&lt;code>## Tabela com todos os dados agrupados por `Grande Região`,
## `Trimestre` e `Grupo de Idade`
emprego &amp;lt;- tabela1 %&amp;gt;%
left_join(tabela2) %&amp;gt;%
left_join(tabela3)
head(emprego, n = 2)&lt;/code>&lt;/pre>
&lt;pre>&lt;code>## Grande Região Trimestre Grupo de idade Desocupacao Rendimento Horas
## 1 Norte 1º trimestre 2016 Total 10.5 1719 37.6
## 2 Norte 1º trimestre 2016 14 a 17 anos 24.4 511 25.9&lt;/code>&lt;/pre>
&lt;p>Portanto, trabalharemos com a tabela chamada ``emprego’’. Um gráfico simples que relaciona horas trabalhadas e rendimento é:&lt;/p>
&lt;pre class="r">&lt;code>ggplot(emprego,
aes(x = Horas, y = Rendimento)) +
geom_point()&lt;/code>&lt;/pre>
&lt;p>&lt;img src="https://rafaeldeacypreste.netlify.app/project/nota/index.en_files/figure-html/unnamed-chunk-3-1.png" width="307.2" />&lt;/p>
&lt;p>Note que o sinal de + é usado para adicionar camadas ao gráfico como padrão do pacote. Uma elaboração mais completa dos gráficos envolve, normalmente, os seis componentes básicos e serão detalhados abaixo.&lt;/p>
&lt;div id="mapeamentos-estéticos-variáveis" class="section level2">
&lt;h2>Mapeamentos estéticos (variáveis)&lt;/h2>
&lt;p>Pode-se adicionar variáveis ao gráfico com a atribuição de cores (&lt;em>colour&lt;/em>) e formato (&lt;em>shape&lt;/em>) para variáveis categóricas e tamanho (&lt;em>size&lt;/em>) para variáveis contínuas, que serão acompanhados de legenda:&lt;/p>
&lt;pre class="r">&lt;code>ggplot(emprego,
aes(x = Horas, y = Rendimento, shape = `Grupo de idade`)) +
geom_point()&lt;/code>&lt;/pre>
&lt;p>&lt;img src="https://rafaeldeacypreste.netlify.app/project/nota/index.en_files/figure-html/unnamed-chunk-4-1.png" width="672" />&lt;/p>
&lt;div id="refs" class="references csl-bib-body hanging-indent">
&lt;div id="ref-Robbins2004" class="csl-entry">
Robbins, Naomi B. 2004. &lt;em>&lt;span>Creating More Effective Graphs&lt;/span>&lt;/em>. New Jersey - USA: Wiley-Interscience. &lt;a href="http://library1.nida.ac.th/termpaper6/sd/2554/19755.pdf">http://library1.nida.ac.th/termpaper6/sd/2554/19755.pdf&lt;/a>.
&lt;/div>
&lt;div id="ref-WickhamRStudio2014" class="csl-entry">
Wickham, Hadley. 2014. &lt;span>“&lt;span>Tidy Data&lt;/span>.”&lt;/span> &lt;em>Journal of Statistical Software&lt;/em> 59 (10): 1–23. &lt;a href="http://www.jstatsoft.org/">http://www.jstatsoft.org/&lt;/a>.
&lt;/div>
&lt;div id="ref-Wickham2015" class="csl-entry">
———. 2015. &lt;em>&lt;span class="nocase">Elegant Graphics for Data Analysis&lt;/span>&lt;/em>. &lt;a href="http://had.co.nz/ggplot2/book">http://had.co.nz/ggplot2/book&lt;/a>.
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;div class="footnotes">
&lt;hr />
&lt;ol>
&lt;li id="fn1">&lt;p>Ainda que nem todos sejam utilizados nesta nota, sugereimos ao leitor a consulta de informações adicionais dos pacotes para conhecer melhor suas respectivas funcionalidades.&lt;a href="#fnref1" class="footnote-back">↩︎&lt;/a>&lt;/p>&lt;/li>
&lt;/ol>
&lt;/div></description></item></channel></rss>