<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-BR">
	<id>http://fiscomp.if.ufrgs.br/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Marcospasa</id>
	<title>Física Computacional - Contribuições do usuário [pt-br]</title>
	<link rel="self" type="application/atom+xml" href="http://fiscomp.if.ufrgs.br/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Marcospasa"/>
	<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Especial:Contribui%C3%A7%C3%B5es/Marcospasa"/>
	<updated>2026-05-07T17:10:03Z</updated>
	<subtitle>Contribuições do usuário</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Julia&amp;diff=10795</id>
		<title>Julia</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Julia&amp;diff=10795"/>
		<updated>2024-08-24T14:31:32Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: /* Modularizando códigos em Julia */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Julia é uma linguagem relativamente nova de programação que começou a ser desenvolvida em 2009 por Jeff Bezanson, Stefan Karpinski, Viral B. Shah, e Alan Edelman, um grupo do MIT. Ela foi oficialmente lançada para o mundo em 2012.&lt;br /&gt;
&lt;br /&gt;
Em uma entrevista, quando perguntaram a Alan o por quê do nome Julia, ele disse que numa conversa anos atrás alguém sugeriu que Julia seria um bom nome para uma linguagem de programação.&lt;br /&gt;
&lt;br /&gt;
Julia pode ser usada para propósitos gerais de programação, assim como Python, mas em sua criação foi visada a utilização de Julia para Cálculo Numérico.&lt;br /&gt;
&lt;br /&gt;
== Aspectos Gerais ==&lt;br /&gt;
&lt;br /&gt;
Julia é uma linguagem de alto nível, isso significa, de maneira sucinta, que ela não é executada utilizando somente o processador, assim como acontece com linguagens de baixo nível, como Assembly, por exemplo.&lt;br /&gt;
&lt;br /&gt;
É escrita em C, C++, e Scheme, usando a estrutura do compilador LLVM (para melhor entendimento, o compilador de C é o GCC, por exemplo), enquanto a maior parte da biblioteca padrão de Julia é implementada na própria Julia.&lt;br /&gt;
&lt;br /&gt;
Um fato importante sobre Julia para os programadores de Python é que todas as bibliotecas de Python são usáveis através de um comando simples: PyCall.&lt;br /&gt;
&lt;br /&gt;
Um fato importante sobre Julia para os programadores de C é que Julia possui APIs (Interfaces de Programação de Aplicativos) especiais para chamada de funções em C diretamente.&lt;br /&gt;
&lt;br /&gt;
== Velocidade ==&lt;br /&gt;
&lt;br /&gt;
De acordo com testes feitos pelos próprios criadores de Julia, sua velocidade é similar com a de C.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Arquivo:juliasvelocity.png|border]]&lt;br /&gt;
Fonte: [https://julialang.org/benchmarks/]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Testes de Velocidade ==&lt;br /&gt;
&lt;br /&gt;
A fim de pessoalmente testar a velocidade da linguagem de programação, foi escrito um programa em Julia de maneira similar ao programa de Python para o FTCS aplicado na Equação de Difusão (também conhecida como Equação do Calor). &lt;br /&gt;
&lt;br /&gt;
A Equação da Difusão em uma dimensão pode ser escrita da forma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\frac{df}{dt}=\frac{d^{2}f}{dx^{2}}&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No método de FTCS (Forward-Time Central-Space) definimos a derivada em t na forma não simetrizada (forward) e as derivadas em x na forma simetrizada:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\frac{df}{dt} = \frac{f(x, t+dt) - f(x,t)}{dt}&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\frac{d^{2}f}{dx^{2}} = \frac{f(x+dx, t) + f(x-dx, t) - 2f(x,t)}{dx^{2}}&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E substuindo na equação da difusão, em notação discreta temos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;f_{j}^{n+1} = f_{j}^{n} + D\frac{dt}{(dx)^{2}}[f_{j+1}^{n} + f_{j-1}^{n} - 2 f_{j}^{n}]&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Observação:&#039;&#039;&#039; esse procedimento funciona bem se &amp;lt;math&amp;gt;k=D\frac{dt}{(dx)^{2}} &amp;lt;= 1/2&amp;lt;/math&amp;gt;, segundo análise de estabilidade do método.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dessa forma, foi escrito um programa para integrar a Equação de Difusão através do método de FTCS nas linguagens Python e Julia.&lt;br /&gt;
&lt;br /&gt;
Para &#039;&#039;&#039;Python&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# FTCS aplicado na equacao da difusao. Linguagem: PYTHON&lt;br /&gt;
&lt;br /&gt;
import copy&lt;br /&gt;
import numpy as np&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
&lt;br /&gt;
def init():&lt;br /&gt;
	L=50;D=1.;dt=0.05;dx=1.;t=0;tmax=100.&lt;br /&gt;
	k=D*dt/(dx*dx)    &lt;br /&gt;
	return L,k,dt,t,tmax&lt;br /&gt;
&lt;br /&gt;
L,k,dt,t,tmax = init()&lt;br /&gt;
&lt;br /&gt;
x = np.arange(0,L,1)	&lt;br /&gt;
f = np.zeros(x.shape)&lt;br /&gt;
&lt;br /&gt;
a = int(L/3)&lt;br /&gt;
b = int(2*L/3)&lt;br /&gt;
f[a:b]=1.&lt;br /&gt;
f1 = copy.deepcopy(f)	&lt;br /&gt;
f2 = copy.deepcopy(f)&lt;br /&gt;
&lt;br /&gt;
while t&amp;lt;tmax:&lt;br /&gt;
    t+=dt&lt;br /&gt;
    f1[1:L-1]=f[1:L-1]+k*(f[0:L-2]+f[2:L]-2*f[1:L-1])&lt;br /&gt;
    f1[L-1]=f[L-1]+k*(f[L-2]+f[0]-2*f[L-1])	&lt;br /&gt;
    f1[0]=f[0]+k*(f[1]+f[L-1]-2*f[0])		&lt;br /&gt;
    f=copy.deepcopy(f1)		&lt;br /&gt;
&lt;br /&gt;
sum0=sum(f1)&lt;br /&gt;
sum1=sum(f2)	&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Integral em t=0: %7.4f&amp;quot; % sum0)&lt;br /&gt;
print(&amp;quot;Integral em tmax: %7.4f&amp;quot; % sum1)&lt;br /&gt;
&lt;br /&gt;
plt.plot(x,f,x,f2)&lt;br /&gt;
plt.show()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em &#039;&#039;&#039;Julia&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# FTCS aplicado na equacao da difusao. Linguagem: JULIA&lt;br /&gt;
&lt;br /&gt;
using PyPlot&lt;br /&gt;
&lt;br /&gt;
L=50&lt;br /&gt;
D=1.&lt;br /&gt;
dt=0.05&lt;br /&gt;
dx=1.&lt;br /&gt;
t=0&lt;br /&gt;
tmax=100.&lt;br /&gt;
k=D*dt/(dx*dx)  &lt;br /&gt;
&lt;br /&gt;
x = collect(0:1:L-1)&lt;br /&gt;
f = zeros(L)&lt;br /&gt;
f1 = zeros(L)&lt;br /&gt;
&lt;br /&gt;
a = trunc(Int, L/3) &lt;br /&gt;
b = trunc(Int, 2*L/3)&lt;br /&gt;
&lt;br /&gt;
f[a+1:b] .= 1.&lt;br /&gt;
f2 = deepcopy(f)&lt;br /&gt;
&lt;br /&gt;
while t&amp;lt;tmax&lt;br /&gt;
	global t+=dt	&lt;br /&gt;
	f1[2:L-1] = f[2:L-1] + k*(f[1:L-2] + f[3:L] - 2*f[2:L-1])		&lt;br /&gt;
	f1[L] = f[L] + k*(f[L-1] + f[1] - 2*f[L])&lt;br /&gt;
	f1[1] = f[1] + k*(f[2] + f[L] - 2*f[1])	&lt;br /&gt;
	global f = deepcopy(f1)		&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
sum0 = sum(f1)&lt;br /&gt;
sum1 = sum(f2)&lt;br /&gt;
&lt;br /&gt;
println(&amp;quot;Integral em t=0: &amp;quot;, sum0)&lt;br /&gt;
println(&amp;quot;Integral em tmax: &amp;quot;, sum1)&lt;br /&gt;
&lt;br /&gt;
plt.plot(x,f,x,f2)&lt;br /&gt;
plt.show()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Foi testado o tempo de execução da parte principal dos dois programas (isto é, sem fazer o gráfico dos resultados), através do timer do terminal, como mostra na próxima figura:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Arquivo:Ftcs_time.png|border]]&lt;br /&gt;
&#039;&#039;&#039;Legenda:&#039;&#039;&#039; Tempo de execução dos dois programas, em Julia e em Python, para o método de FTCS aplicado à Equação de Difusão&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É possível perceber, através da figura acima, que o tempo de execução de Python para o FTCS aplicado à Equação de Difusão é menor do que o de Julia. Em razão disso, foi testado um programa simples, como mostra abaixo, que incrementa uma variável 10 vezes, sendo o seu valor inicial 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Arquivo:For.png|border]]&lt;br /&gt;
&#039;&#039;&#039;Legenda:&#039;&#039;&#039; Programa para incrementar o valor de uma variável, nesse caso &#039;&#039;i&#039;&#039;, 10 vezes, escrito em Julia e em Python&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E posteriormente, novamente, foi testado o tempo de execução da parte principal dos programas através do terminal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Arquivo:For_time.png|border]]&lt;br /&gt;
&#039;&#039;&#039;Legenda:&#039;&#039;&#039; Tempo de execução dos dois programas, em Julia e em Python, para o programa que incrementa o valor da variável 10 vezes&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É possível perceber que para esse simples programa de incrementação, Python ainda obtém melhor performance do que Julia.&lt;br /&gt;
&lt;br /&gt;
== Performance de Julia ==&lt;br /&gt;
&lt;br /&gt;
Tentando entender o que traria tal performance em Cálculo Numérico para Julia, foi chegado à conclusão de que ser uma linguagem que se utilizada de &#039;&#039;variáveis dinâmicas&#039;&#039; e &#039;&#039;multi-métodos&#039;&#039; seria uma das grandes contribuições da linguagem.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Variáveis dinâmicas:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Em Python as variáveis são interpretadas em runtime, ou seja, &#039;&#039;&#039;tempo de execução&#039;&#039;&#039; =&amp;gt; o programa checa toda hora se a variável mudou e isso torna ele mais lento&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Variáveis estáticas:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Em C as variáveis são fixas, e isso é visto é em &#039;&#039;&#039;tempo de compilação&#039;&#039;&#039; =&amp;gt; precisa pensar nas variáveis e isso torna o tempo de programação mais lento&lt;br /&gt;
&lt;br /&gt;
Em Julia isso é basicamente opcional, não é preciso definir as variáveis, mas é possível, e elas podem mudar dinamicamente, em tempo de execução. E ainda, Julia se utiliza de multi-métodos para não ter que lidar com a constante checagem dos tipos das variáveis, como Python faz!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Despacho único:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Em geral, em linguagens de programação funções podem ter o mesmo nome, portanto deve existir algum mecanismo que irá realizar o despacho da&lt;br /&gt;
chamada de tais funções, resolvendo o conflito dos nomes iguais.&lt;br /&gt;
&lt;br /&gt;
Na maioria das linguagens de programação populares (python, C++, javascript, C#), o despacho da chamada de funções ocorre apenas levando em consideração o primeiro argumento da mesma, tal mecanismo é chamado de &#039;&#039;&#039;despacho único&#039;&#039;&#039;. Como exemplo, vamos considerar o seguinte exemplo em python&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
class MyClass1:&lt;br /&gt;
    def some_function(self, a):&lt;br /&gt;
        print(&amp;quot;Value-1:&amp;quot;, a)&lt;br /&gt;
&lt;br /&gt;
class MyClass2:&lt;br /&gt;
    def some_function(self, a):&lt;br /&gt;
        print(&amp;quot;Value-2:&amp;quot;, a)&lt;br /&gt;
&lt;br /&gt;
my_obj_1 = MyClass1()&lt;br /&gt;
my_obj_2 = MyClass2()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Existem duas funções com o nome &amp;lt;code&amp;gt;some_function&amp;lt;/code&amp;gt;, e obviamente tentar chamá-las dessa forma &amp;lt;code&amp;gt;some_function(&amp;quot;some_text&amp;quot;)&amp;lt;/code&amp;gt; não funciona. A chamada correta é feita da seguinte forma: &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;my_obj_1.some_function(&amp;quot;some_text&amp;quot;)&amp;lt;/code&amp;gt;: Executa a função em &amp;lt;code&amp;gt;MyClass1&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;my_obj_2.some_function(&amp;quot;some_text&amp;quot;)&amp;lt;/code&amp;gt;: Executa a função em &amp;lt;code&amp;gt;MyClass2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A sintaxe para chamar funções &amp;lt;code&amp;gt;my_obj.some_function(...)&amp;lt;/code&amp;gt; é apenas o padrão adotado pelo python, mas ela é equivalente a &amp;lt;code&amp;gt;some_function(my_obj, ...) &amp;lt;/code&amp;gt;, ou seja, quem determina qual função é de fato executada, é o primeiro argumento da chamada, os demais argumentos não são levados em consideração no momento do despacho.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Despacho múltiplo:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Em Julia, o despacho da execução de funções leva em consideração todos os seus argumentos, não apenas o primeiro, esse mecanismo leva o nome de &#039;&#039;&#039;despacho múltiplo&#039;&#039;&#039;. Para ilustrar o despacho múltiplo em ação, considere que estamos trabalhando em um código de dinâmica de partículas, e estamos precisando escrever uma função para calcular a energia potencial do sistema, que depende das massas, então podemos implementar a seguinte função &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function potencial_energy(mass, positions, pars)&lt;br /&gt;
    println(&amp;quot;Calculando energia potencial&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que&lt;br /&gt;
&lt;br /&gt;
* mass: Massas das partícula.&lt;br /&gt;
* positions: Posições das partículas.&lt;br /&gt;
* pars: Parâmetros do potencial em questão.&lt;br /&gt;
&lt;br /&gt;
mas suponha que agora estamos interessados em explorar o sistemas quando todas as massas são iguais, e desejamos usar essa condição para melhorar o desempenho do cálculo da energia potencial. Poderíamos adicionar algumas estruturas condicionais dentro da função acima para isso, mas uma melhor forma é fazer com que a função &amp;lt;code&amp;gt;potencial_energy&amp;lt;/code&amp;gt; despache no argumento &amp;lt;code&amp;gt;mass&amp;lt;/code&amp;gt;, então, precisamos criar um tipo que represente massas iguais, que apenas vai possui um único atributo (a massa comum a todas as partículas) e um novo método para &amp;lt;code&amp;gt;potencial_energy&amp;lt;/code&amp;gt; que despacha utilizando esse tipo:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
struct SameMass &lt;br /&gt;
    masss::Float64&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function potencial_energy(mass::SameMass, positions, pars)&lt;br /&gt;
    println(&amp;quot;Calculando energia potencial com otimização para massas iguais&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esse novo método possui uma implementação otimizada para o caso em que todas as massas são iguais. Nada precisa mudar no código que chama &amp;lt;code&amp;gt;potencial_energy&amp;lt;/code&amp;gt;, pois o despacho múltiplo vai fazer com que seja executado a implementação correta.&lt;br /&gt;
&lt;br /&gt;
Agora suponha que estamos interessado em outro potencial (Potencial2), ao invés de criar uma nova função para Potencial2, vamos fazer com que &amp;lt;code&amp;gt;potencial_energy&amp;lt;/code&amp;gt; despache no argumento &amp;lt;code&amp;gt;pars&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
struct Potencial2 &lt;br /&gt;
    par1::Int&lt;br /&gt;
    par2::Float64&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function potencial_energy(mass, positions, pars::Potencial2)&lt;br /&gt;
    println(&amp;quot;Calculando energia potencial para Potencial2&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ainda, podemos fazer um método para Potencial2 que é otimizado para todas as massas iguais&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function potencial_energy(mass::SameMass, positions, pars::Potencial2)&lt;br /&gt;
    println(&amp;quot;&amp;quot;Calculando energia potencial com otimização para massas iguais para Potencial2&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora que estamos trabalhando com dois potencias, é inteligente também criar um tipo para o primeiro potencial, que vamos chamar de Potencial1:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
struct Potencial1&lt;br /&gt;
   par1::Float64&lt;br /&gt;
   par2::Float64&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O seguinte exemplo utiliza os métodos que criamos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
positions = [] # Suponha que as posições das partículas estejam aqui&lt;br /&gt;
&lt;br /&gt;
pars_1 = Potencial1(3.14, 2.71)&lt;br /&gt;
pars_2 = Potencial2(137, 3.48)&lt;br /&gt;
&lt;br /&gt;
mass = [] # Suponha que as diferentes massas das partículas estejam aqui&lt;br /&gt;
same_mass = SameMass(1)&lt;br /&gt;
&lt;br /&gt;
potencial_energy(mass, positions, pars_1)&lt;br /&gt;
potencial_energy(mass, positions, pars_2)&lt;br /&gt;
potencial_energy(same_mass, positions, pars_1)&lt;br /&gt;
potencial_energy(same_mass, positions, pars_2)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
executando, temos a seguinte saída:&lt;br /&gt;
&lt;br /&gt;
  Calculando energia potencial&lt;br /&gt;
  Calculando energia potencial para Potencial2&lt;br /&gt;
  Calculando energia potencial com otimização para massas iguais&lt;br /&gt;
  Calculando energia potencial com otimização para massas iguais para Potencial2&lt;br /&gt;
&lt;br /&gt;
== Performance de Julia: na prática ==&lt;br /&gt;
Para resumir, temos: &lt;br /&gt;
&lt;br /&gt;
Python =&amp;gt; dynamic (variáveis dinâmicas) single dispatch (métodos únicos)&lt;br /&gt;
&lt;br /&gt;
C++ =&amp;gt; static (variáveis estáticas) single dispatch&lt;br /&gt;
&lt;br /&gt;
Julia =&amp;gt; dynamic multiple dispatch&lt;br /&gt;
&lt;br /&gt;
Na prática, é mostrado abaixo um exemplo da performance de Julia como linguagem de programação em dynamic multiple dispatch. &lt;br /&gt;
&lt;br /&gt;
O mesmo programa foi escrito em Julia e em C++. &lt;br /&gt;
&lt;br /&gt;
Em &#039;&#039;&#039;Julia&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
abstract type Animal end&lt;br /&gt;
&lt;br /&gt;
struct Cachorro &amp;lt;: Animal&lt;br /&gt;
    nome::String&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
struct Gato &amp;lt;: Animal&lt;br /&gt;
    nome::String&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
# Função de encontro que recebe tipo genérico de animal&lt;br /&gt;
function encontroDeAnimais(a::Animal, b::Animal)&lt;br /&gt;
    acao = encontro(a,b)&lt;br /&gt;
    println(&amp;quot;$(a.nome) encontra $(b.nome) e $acao&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
# Funções de expressão única que recebem diferentes tipos de animais&lt;br /&gt;
encontro(a::Cachorro, b::Cachorro) = &amp;quot;cheira&amp;quot; &lt;br /&gt;
encontro(a::Cachorro, b::Gato) = &amp;quot;persegue&amp;quot;&lt;br /&gt;
encontro(a::Gato, b::Gato) = &amp;quot;lambe&amp;quot;&lt;br /&gt;
encontro(a::Gato, b::Cachorro) = &amp;quot;ignora&amp;quot; &lt;br /&gt;
&lt;br /&gt;
# Instanciando os bichinhos&lt;br /&gt;
gato1 = Gato(&amp;quot;Luciene Maria&amp;quot;)&lt;br /&gt;
gato2 = Gato(&amp;quot;Mel&amp;quot;)&lt;br /&gt;
cachorro1 = Cachorro(&amp;quot;Batata&amp;quot;)&lt;br /&gt;
cachorro2 = Cachorro(&amp;quot;Snoopy&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Chamando função encontroDeAnimais&lt;br /&gt;
encontroDeAnimais(gato1, gato2)&lt;br /&gt;
encontroDeAnimais(gato1, cachorro2)&lt;br /&gt;
encontroDeAnimais(cachorro1, cachorro2)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Em &#039;&#039;&#039;C++&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
class Animal { &lt;br /&gt;
    public:&lt;br /&gt;
    string nome;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
string encontro(Animal a, Animal b) {}&lt;br /&gt;
&lt;br /&gt;
// Função de encontro que recebe tipo genérico de animal&lt;br /&gt;
void encontroDeAnimais(Animal a, Animal b) {&lt;br /&gt;
    string acao = encontro(a,b);&lt;br /&gt;
    cout &amp;lt;&amp;lt; a.nome &amp;lt;&amp;lt; &amp;quot; encontra &amp;quot; &amp;lt;&amp;lt; b.nome &amp;lt;&amp;lt; &amp;quot; e &amp;quot; &amp;lt;&amp;lt; acao &amp;lt;&amp;lt; endl;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class Cachorro:public Animal {};&lt;br /&gt;
class Gato:public Animal {};&lt;br /&gt;
&lt;br /&gt;
// Funções de expressão única que recebem diferentes tipos de animais&lt;br /&gt;
string encontro(Cachorro a, Cachorro b) { return &amp;quot;cheira&amp;quot;; }&lt;br /&gt;
string encontro(Cachorro a, Gato b) { return &amp;quot;persegue&amp;quot;; }&lt;br /&gt;
string encontro(Gato a, Gato b) { return &amp;quot;lambe&amp;quot;; }&lt;br /&gt;
string encontro(Gato a, Cachorro b) { return &amp;quot;ignora&amp;quot;; }&lt;br /&gt;
&lt;br /&gt;
int main() {&lt;br /&gt;
// Instanciando os bichinhos&lt;br /&gt;
Gato gato1;	gato1.nome = &amp;quot;Luciene Maria&amp;quot;;&lt;br /&gt;
Gato gato2;	gato2.nome = &amp;quot;Mel&amp;quot;;&lt;br /&gt;
Cachorro cachorro1;	cachorro1.nome = &amp;quot;Batata&amp;quot;;&lt;br /&gt;
Cachorro cachorro2;	cachorro2.nome = &amp;quot;Snoopy&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
// Chamando função encontroDeAnimais&lt;br /&gt;
encontroDeAnimais(gato1, gato2);&lt;br /&gt;
encontroDeAnimais(gato1, cachorro2);&lt;br /&gt;
encontroDeAnimais(cachorro1, cachorro2);&lt;br /&gt;
    &lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para &#039;&#039;&#039;Julia&#039;&#039;&#039; nós obtemos o seguinte &#039;&#039;&#039;resultado&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Luciene Maria encontra Mel e lambe&lt;br /&gt;
Luciene Maria encontra Snoopy e ignora&lt;br /&gt;
Batata encontra Snoopy e cheira&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para &#039;&#039;&#039;C++&#039;&#039;&#039; o &#039;&#039;&#039;resultado&#039;&#039;&#039; é:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Luciene Maria encontra Mel e&lt;br /&gt;
Falha de Segmentação&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Isso acontece porque C++ não aceita que uma função utilize-se de uma variável sem antes saber qual o tipo dessa variável! Por isso, poder utilizar-se de variáveis dinâmicas quando há multi-métodos é um diferencial que acaba por incrementar a performance de Julia como linguagem de programação visada para o Cálculo Numérico.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Observação:&#039;&#039;&#039; é importante ressaltar que os testes feitos não são conclusivos para debater a performance de Julia, em termos estatísticos, e além disso, ser uma linguagem de programação que utiliza de variáveis dinâmicas e multi-métodos não é o único motivo pelo qual Julia poderia trazer tal performance em Cálculo Numérico. Podemos ainda contar com a sua capacidade de &#039;&#039;&#039;metaprogramação&#039;&#039;&#039;, ou seja, Julia pode usar macros e eles são aplicados em tempo de interpretação. Há ainda outros fatores da construção da linguagem que contribuem para sua performance que aqui não foram citados.&lt;br /&gt;
&lt;br /&gt;
== Aprendendo Julia ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ambiente de programação&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Após feita a instalação de Julia, para abri-la no seu terminal de comando é preciso apenas digitar: &amp;lt;pre&amp;gt;$julia&amp;lt;/pre&amp;gt; para entrar em seu ambiente de programação.&lt;br /&gt;
&lt;br /&gt;
É possível, também, programar em um arquivo de texto (salvo como .jl) e executar o programa pelo terminal, fazendo simplesmente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$julia programa.jl &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Impressão na tela&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
println(&amp;quot;Hello World&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
Hello World&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Variáveis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Variáveis são atribuídas dinamicamente e podem mudar.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
s = 1&lt;br /&gt;
s = &amp;quot;Oi&amp;quot;&lt;br /&gt;
println(s)&lt;br /&gt;
println(typeof(s))&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
Oi&lt;br /&gt;
String&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
s::String&lt;br /&gt;
s = 1&lt;br /&gt;
println(s)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
TypeError: in typeassert, expected String, got Int32&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Condicionais&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cats = 12&lt;br /&gt;
if cats &amp;lt; 1&lt;br /&gt;
println(&amp;quot;You should adopt a cat.&amp;quot;)&lt;br /&gt;
elseif cats &amp;gt;= 1 &amp;amp;&amp;amp; cats &amp;lt;=6&lt;br /&gt;
println(&amp;quot;Not enough cats.&amp;quot;)&lt;br /&gt;
elseif cats &amp;gt;= 7 &amp;amp;&amp;amp; cats &amp;lt;= 12&lt;br /&gt;
println(&amp;quot;Still not enough cats.&amp;quot;)&lt;br /&gt;
else&lt;br /&gt;
println(&amp;quot;Gato have more cats.&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
Still not enough cats.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
i = 0&lt;br /&gt;
while (i &amp;lt; 10)&lt;br /&gt;
global i += 1&lt;br /&gt;
println(i)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
1&lt;br /&gt;
2&lt;br /&gt;
3&lt;br /&gt;
4&lt;br /&gt;
5&lt;br /&gt;
6&lt;br /&gt;
7&lt;br /&gt;
8&lt;br /&gt;
9&lt;br /&gt;
10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for i = 1:10&lt;br /&gt;
println(i)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
1&lt;br /&gt;
2&lt;br /&gt;
3&lt;br /&gt;
4&lt;br /&gt;
5&lt;br /&gt;
6&lt;br /&gt;
7&lt;br /&gt;
8&lt;br /&gt;
9&lt;br /&gt;
10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for i in [1,2,3]&lt;br /&gt;
println(i)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
1&lt;br /&gt;
2&lt;br /&gt;
3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arrays&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Criando um array de zeros&lt;br /&gt;
a1 = zeros()&lt;br /&gt;
println(a1)&lt;br /&gt;
# Posso definir o tipo e o tamanho do Array (linhas, colunas) também&lt;br /&gt;
a1 = zeros(Int32, 1, 4)&lt;br /&gt;
println(a1)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
0.0&lt;br /&gt;
[0 0 0 0]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Criando um array do tipo inteiro&lt;br /&gt;
a2 = Array{Int32}&lt;br /&gt;
println(a2)&lt;br /&gt;
# Criando um array (de outra maneira) do tipo float&lt;br /&gt;
a3 = Float64[]&lt;br /&gt;
println(a3)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
Array{Int32,N} where N [...]&lt;br /&gt;
Float64[]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Criando um array e definindo valores&lt;br /&gt;
a4 = [1,2,3]&lt;br /&gt;
#Imprimindo a4&lt;br /&gt;
println(&amp;quot;Array: &amp;quot;, a4)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
Array: [1, 2, 3]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a4 = [1,2,3]&lt;br /&gt;
# Imprimindo valor de um indíce específico&lt;br /&gt;
println(&amp;quot;Imprimindo primeiro elemento: &amp;quot;, a4[1])&lt;br /&gt;
# Imprimindo último valor do array&lt;br /&gt;
println(&amp;quot;Imprimindo último elemento: &amp;quot;,a4[end])&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
Imprimindo primeiro elemento: 1&lt;br /&gt;
Imprimindo último elemento: 3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a4 = [1,2,3]&lt;br /&gt;
println(a4[2])&lt;br /&gt;
# Valores podem mudar (diferente de Tuplas, que veremos adiante)&lt;br /&gt;
a4[2] = 4&lt;br /&gt;
println(a4[2])&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
2&lt;br /&gt;
4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a4 = [1,2,3]&lt;br /&gt;
println(a4)&lt;br /&gt;
# Número de elementos&lt;br /&gt;
println(&amp;quot;Imprimindo número de elementos: &amp;quot;,length(a4))&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
[1, 2, 3]&lt;br /&gt;
Imprimindo número de elementos: 3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a4 = [1,2,3]&lt;br /&gt;
# Soma os valores do array&lt;br /&gt;
println(&amp;quot;Imprimindo soma dos elementos: &amp;quot;,sum(a4))&lt;br /&gt;
# Põe os valores começando no índice 2&lt;br /&gt;
splice!(a4, 2:1, [8,9])&lt;br /&gt;
println(&amp;quot;Imprimindo Array tendo feito splice!(a4, 2:1, [8,9]): &amp;quot;,a4)&lt;br /&gt;
# Remove os itens do índice 2 ao 3&lt;br /&gt;
4splice!(a4, 2:3)&lt;br /&gt;
println(&amp;quot;Imprimindo Array tendo feito splice!(a4, 2:3): &amp;quot;,a4)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
Imprimindo soma dos elementos: 6&lt;br /&gt;
Imprimindo Array tendo feito splice!(a4, 2:1, [8,9]): [1, 8, 9, 2, 3]&lt;br /&gt;
Imprimindo Array tendo feito splice!(a4, 2:3): [1, 2, 3]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a4 = [1,2,3]&lt;br /&gt;
# Pegar valor máximo e valor mínimo&lt;br /&gt;
println(&amp;quot;Imprimindo valor máximo: &amp;quot;,maximum(a4))&lt;br /&gt;
println(&amp;quot;Imprimindo Array valor mínimo: &amp;quot;,minimum(a4))&lt;br /&gt;
# Multiplicando todos os elementos do array por outro número sem precisar de um for&lt;br /&gt;
println(&amp;quot;Imprimindo multiplicação dos elementos por 2: &amp;quot;,a4 * 2)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
Imprimindo valor máximo: 3&lt;br /&gt;
Imprimindo Array valor mínimo: 1&lt;br /&gt;
Imprimindo multiplicação dos elementos por 2: [2, 4, 6]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Arrays podem conter funções&lt;br /&gt;
a5 = [sin, cos, tan]&lt;br /&gt;
for n in a5&lt;br /&gt;
println(n(0))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
0.0&lt;br /&gt;
1.0&lt;br /&gt;
0.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Para os acostumados com range&lt;br /&gt;
a6 = collect(1:5)&lt;br /&gt;
println(a6)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
[1, 2, 3, 4, 5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tuplas&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A maioria das funções de array funciona com tuplas.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Valores não podem mudar&lt;br /&gt;
t1 = (1,2,3,4)&lt;br /&gt;
println(t1[2])&lt;br /&gt;
t1[2] = 5&lt;br /&gt;
println(t1[2])&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
2&lt;br /&gt;
MethodError: no method matching setindex!(::NTuple{4,Int32}, ::Int32, ::Int32)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Imprimindo a tupla inteira&lt;br /&gt;
println(t1)&lt;br /&gt;
# Imprimindo a tupla inteira&lt;br /&gt;
for i in t1&lt;br /&gt;
println(i)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
(1, 2, 3, 4)&lt;br /&gt;
1&lt;br /&gt;
2&lt;br /&gt;
3&lt;br /&gt;
4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dicionários&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A palavra-chave deve ser única.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
d1 = Dict(&amp;quot;pi&amp;quot;=&amp;gt;3.14, &amp;quot;e&amp;quot;=&amp;gt;2.718)&lt;br /&gt;
# Imprimir um valor&lt;br /&gt;
println(d1[&amp;quot;pi&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
3.14&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
d1 = Dict(&amp;quot;pi&amp;quot;=&amp;gt;3.14, &amp;quot;e&amp;quot;=&amp;gt;2.718)&lt;br /&gt;
# Imprimindo todas as palavras-chaves&lt;br /&gt;
println(keys(d1))&lt;br /&gt;
# Imprimindo todos os valores&lt;br /&gt;
println(values(d1))&lt;br /&gt;
# Adicionar uma palavra-chave&lt;br /&gt;
d1[&amp;quot;golden&amp;quot;] = 1.618&lt;br /&gt;
# Deleter uma palavra-chave&lt;br /&gt;
delete!(d1, &amp;quot;pi&amp;quot;)&lt;br /&gt;
# Imprimindo todas as palavras-chaves&lt;br /&gt;
println(keys(d1))&lt;br /&gt;
# Imprimindo todos os valores&lt;br /&gt;
println(values(d1))&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
[&amp;quot;pi&amp;quot;, &amp;quot;e&amp;quot;]&lt;br /&gt;
[3.14, 2.718]&lt;br /&gt;
[&amp;quot;e&amp;quot;, &amp;quot;golden&amp;quot;]&lt;br /&gt;
[2.718, 1.618]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
d1 = Dict(&amp;quot;pi&amp;quot;=&amp;gt;3.14, &amp;quot;e&amp;quot;=&amp;gt;2.718)&lt;br /&gt;
# Ver se a palavra-chave existe&lt;br /&gt;
println(haskey(d1, &amp;quot;pi&amp;quot;))&lt;br /&gt;
# Imprimindo palavras-chaves E valores&lt;br /&gt;
for kv in d1&lt;br /&gt;
println(kv)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
true&lt;br /&gt;
&amp;quot;pi&amp;quot; =&amp;gt; 3.14&lt;br /&gt;
&amp;quot;e&amp;quot; =&amp;gt; 2.718&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sets&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets são arrays com elementos únicos.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
st1 = Set([&amp;quot;Jim&amp;quot;, &amp;quot;Pam&amp;quot;, &amp;quot;Jim&amp;quot;])&lt;br /&gt;
# Ele não pega os elementos repetidos&lt;br /&gt;
println(st1)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
Set([&amp;quot;Pam&amp;quot;, &amp;quot;Jim&amp;quot;])&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
st1 = Set([&amp;quot;Jim&amp;quot;, &amp;quot;Pam&amp;quot;, &amp;quot;Jim&amp;quot;])&lt;br /&gt;
# Adicionando um elemento&lt;br /&gt;
push!(st1, &amp;quot;Michael&amp;quot;)&lt;br /&gt;
println(st1)&lt;br /&gt;
# Ver se um elemento está no Set&lt;br /&gt;
println(in(&amp;quot;Dwight&amp;quot;, st1))&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
Set([&amp;quot;Pam&amp;quot;, &amp;quot;Michael&amp;quot;, &amp;quot;Jim&amp;quot;])&lt;br /&gt;
false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
st1 = Set([&amp;quot;Jim&amp;quot;, &amp;quot;Pam&amp;quot;, &amp;quot;Jim&amp;quot;])&lt;br /&gt;
st2 = Set([&amp;quot;Stanley&amp;quot;, &amp;quot;Meredith&amp;quot;])&lt;br /&gt;
# Combinando Sets&lt;br /&gt;
println(union(st1, st2))&lt;br /&gt;
# Imprimindo todo o elemento que os dois Sets tem em comum&lt;br /&gt;
println(intersect(st1, st2))&lt;br /&gt;
# Imprimindo elementos que estão no primeiro Set, mas não no segundo&lt;br /&gt;
println(setdiff(st1, st2))&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
Set([&amp;quot;Jim&amp;quot;, &amp;quot;Meredith&amp;quot;, &amp;quot;Stanley&amp;quot;, &amp;quot;Pam&amp;quot;])&lt;br /&gt;
Set(String[])&lt;br /&gt;
Set([&amp;quot;Pam&amp;quot;, &amp;quot;Jim&amp;quot;])&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Funções&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
using Printf&lt;br /&gt;
# Função de expressão única&lt;br /&gt;
soma(x,y) = x + y&lt;br /&gt;
x, y = 1, 2&lt;br /&gt;
@printf(&amp;quot;%d + %d = %d\n&amp;quot;, x, y, x+y)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
1 + 2 = 3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Função de múltiplas expressões&lt;br /&gt;
function adoptACat(cats)&lt;br /&gt;
if cats &amp;lt;= 1&lt;br /&gt;
println(&amp;quot;You should adopt a cat.&amp;quot;)&lt;br /&gt;
else&lt;br /&gt;
println(&amp;quot;You should adopt a cat. They&#039;re cute.&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
adoptACat(2)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
You should adopt a cat. They&#039;re cute.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
v1 = 5&lt;br /&gt;
function changeV1(v1)&lt;br /&gt;
v1 = 10&lt;br /&gt;
end&lt;br /&gt;
changeV1(v1)&lt;br /&gt;
println(v1)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
v1 = 5&lt;br /&gt;
function changeV1(v1)&lt;br /&gt;
v1 = 10&lt;br /&gt;
return v1&lt;br /&gt;
end&lt;br /&gt;
changeV1(v1)&lt;br /&gt;
println(v1)&lt;br /&gt;
v2 = changeV1(v1)&lt;br /&gt;
println(v2)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
5&lt;br /&gt;
10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Usando variáveis globais dentro da função&lt;br /&gt;
v1 = 5&lt;br /&gt;
function changeV12()&lt;br /&gt;
global v1 = 10&lt;br /&gt;
end&lt;br /&gt;
changeV12()&lt;br /&gt;
println(v1)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Quando não sei quantos argumentos vou passar&lt;br /&gt;
function soma(args...)&lt;br /&gt;
sum = 0&lt;br /&gt;
for i in args&lt;br /&gt;
sum += i&lt;br /&gt;
end&lt;br /&gt;
println(sum)&lt;br /&gt;
end&lt;br /&gt;
soma(1,2,3)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Retornando mais de um valor&lt;br /&gt;
function retorna2(valor)&lt;br /&gt;
return (valor + 1, valor + 2)&lt;br /&gt;
end&lt;br /&gt;
println(retorna2(4))&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
(5, 6)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Map é uma função anônima que aplica uma função para cada elemento&lt;br /&gt;
v = map(x -&amp;gt; x * x, [1,2,3])&lt;br /&gt;
println(v)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
[1, 4, 9]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Structs&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
struct Estudante&lt;br /&gt;
name::String&lt;br /&gt;
saldoTRI::Float32&lt;br /&gt;
cartaoUFRGS::Int&lt;br /&gt;
end&lt;br /&gt;
# Criando um objeto&lt;br /&gt;
estudante1 = Estudante(&amp;quot;Raquel&amp;quot;, 10.50, 244449)&lt;br /&gt;
println(estudante1.name, &amp;quot;\n&amp;quot;, estudante1.saldoTRI, &amp;quot;\n&amp;quot;, estudante1.cartaoUFRGS)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
Raquel&lt;br /&gt;
10.5&lt;br /&gt;
244449&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tipos Abstratos&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Tipos abstratos não podem ser instanciados como as Structs (instanciar =&amp;gt; fazer estudante1 =&lt;br /&gt;
Estudante(“Raquel”, 10.50, 244449) =&amp;gt; criar um objeto) MAS podem ter subTipos e isso é muito&lt;br /&gt;
útil!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
abstract type animal end&lt;br /&gt;
struct cachorro &amp;lt;: animal&lt;br /&gt;
nome::String&lt;br /&gt;
latido::String&lt;br /&gt;
end&lt;br /&gt;
struct gato &amp;lt;: animal&lt;br /&gt;
nome::String&lt;br /&gt;
miado::String&lt;br /&gt;
end&lt;br /&gt;
cachorro1 = cachorro(&amp;quot;Urso&amp;quot;, &amp;quot;Au Au&amp;quot;)&lt;br /&gt;
gato1 = gato(&amp;quot;Lucia Irene&amp;quot;, &amp;quot;Miau&amp;quot;)&lt;br /&gt;
# Criando funções pros subTipos&lt;br /&gt;
function fazerSom(animal::cachorro)&lt;br /&gt;
println(&amp;quot;$(animal.nome) diz $(animal.latido)&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
function fazerSom(animal::gato)&lt;br /&gt;
println(&amp;quot;$(animal.nome) diz $(animal.miado)&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
fazerSom(cachorro1)&lt;br /&gt;
fazerSom(gato1)&lt;br /&gt;
&lt;br /&gt;
Saída: &lt;br /&gt;
Urso diz Au Au&lt;br /&gt;
Lucia Irene diz Miau&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Modularizando códigos em Julia ==&lt;br /&gt;
&lt;br /&gt;
== Módulos ==&lt;br /&gt;
Na Julia é possível agrupar pedaços de códigos em módulos, cuja função é puramente de organização. Módulos são definidos pela palavra-chave `module` e eles introduzem um novo escopo, por exemplo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
module MyModule&lt;br /&gt;
    struct SomeStruct&lt;br /&gt;
        some_attr::Float64&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    function sum(a ,b)&lt;br /&gt;
        println(a + b)&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    function product(a ,b)&lt;br /&gt;
        println(a * b)&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para acessar o conteúdo dos módulos fora deles, é necessário qualificar o nome do item de interesse, por exemplo, podemos utilizar a função `sum` da seguinte forma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
module MyModule&lt;br /&gt;
    ...&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function main()&lt;br /&gt;
    MyModule.sum(1, 3)&lt;br /&gt;
end&lt;br /&gt;
main()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em python, cada arquivo &amp;lt;code&amp;gt;.py&amp;lt;/code&amp;gt; é um módulo, em Julia não existe esse conceito, um arquivo &amp;lt;code&amp;gt;.jl&amp;lt;/code&amp;gt; pode conter diversos módulos e um módulo pode estar espalhado em diversos arquivos.&lt;br /&gt;
&lt;br /&gt;
* Mais informações sobre módulos podem ser encontradas no [https://docs.julialang.org/en/v1/manual/modules/#modules manual da Julia]&lt;br /&gt;
&lt;br /&gt;
== Separando o código em arquivos ==&lt;br /&gt;
A Julia não possui o conceito de código em diferentes arquivos, assim como é no python por exemplo (cada arquivo é um módulo), mas podemos, apenas por questão de conveniência, separar o código em diferentes arquivos, no entanto um deles vai ser o arquivo principal, e seu dever e incluir todos os outros arquivos utilizando o comando `include`. &lt;br /&gt;
&lt;br /&gt;
== Criando pacotes ==&lt;br /&gt;
Vamos criar um pacote que pode ser utilizado em qualquer lugar em sua máquina (utilizando &amp;lt;code&amp;gt;using MyPkgName&amp;lt;/code&amp;gt;), para isso navegue para o local em que se deseja color os arquivos do pacote, abra um REPL e execute&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
using PkgTemplate&lt;br /&gt;
t = Template(dir=&amp;quot;.&amp;quot;)&lt;br /&gt;
t(&amp;quot;MyPkg&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Isto irá automaticamente criar uma pasta contendo os arquivos do pacote na localização atual. Para podermos utilizá-lo em qualquer lugar, precisamos adicioná-lo no ambiente atual, que pode ser feito da seguinte forma: &lt;br /&gt;
* Utilizando o mesmo REPL que foi utilizado para criar o pacote, entre no modo de gerenciamento de pacotes (aparte ] com a entrada do REPL vazia)&lt;br /&gt;
* Execute o comanndo&lt;br /&gt;
:&amp;lt;syntaxhighlight lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
pkg&amp;gt; activate MyPkg&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
a partir de agora, qualquer arquivo pode utilizar&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
using MyPkg&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Para mais informações sobre como gerenciar/criar pacotes em julia, [https://pkgdocs.julialang.org/v1/#**1.**-Introduction clique aqui].&lt;br /&gt;
* Para mais informações sobre como criar pacotes com o PkgTemplate, [https://juliaci.github.io/PkgTemplates.jl/stable/user/#PkgTemplates-User-Guide clique aqui].&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Julia&amp;diff=10794</id>
		<title>Julia</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Julia&amp;diff=10794"/>
		<updated>2024-08-24T14:08:12Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Julia é uma linguagem relativamente nova de programação que começou a ser desenvolvida em 2009 por Jeff Bezanson, Stefan Karpinski, Viral B. Shah, e Alan Edelman, um grupo do MIT. Ela foi oficialmente lançada para o mundo em 2012.&lt;br /&gt;
&lt;br /&gt;
Em uma entrevista, quando perguntaram a Alan o por quê do nome Julia, ele disse que numa conversa anos atrás alguém sugeriu que Julia seria um bom nome para uma linguagem de programação.&lt;br /&gt;
&lt;br /&gt;
Julia pode ser usada para propósitos gerais de programação, assim como Python, mas em sua criação foi visada a utilização de Julia para Cálculo Numérico.&lt;br /&gt;
&lt;br /&gt;
== Aspectos Gerais ==&lt;br /&gt;
&lt;br /&gt;
Julia é uma linguagem de alto nível, isso significa, de maneira sucinta, que ela não é executada utilizando somente o processador, assim como acontece com linguagens de baixo nível, como Assembly, por exemplo.&lt;br /&gt;
&lt;br /&gt;
É escrita em C, C++, e Scheme, usando a estrutura do compilador LLVM (para melhor entendimento, o compilador de C é o GCC, por exemplo), enquanto a maior parte da biblioteca padrão de Julia é implementada na própria Julia.&lt;br /&gt;
&lt;br /&gt;
Um fato importante sobre Julia para os programadores de Python é que todas as bibliotecas de Python são usáveis através de um comando simples: PyCall.&lt;br /&gt;
&lt;br /&gt;
Um fato importante sobre Julia para os programadores de C é que Julia possui APIs (Interfaces de Programação de Aplicativos) especiais para chamada de funções em C diretamente.&lt;br /&gt;
&lt;br /&gt;
== Velocidade ==&lt;br /&gt;
&lt;br /&gt;
De acordo com testes feitos pelos próprios criadores de Julia, sua velocidade é similar com a de C.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Arquivo:juliasvelocity.png|border]]&lt;br /&gt;
Fonte: [https://julialang.org/benchmarks/]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Testes de Velocidade ==&lt;br /&gt;
&lt;br /&gt;
A fim de pessoalmente testar a velocidade da linguagem de programação, foi escrito um programa em Julia de maneira similar ao programa de Python para o FTCS aplicado na Equação de Difusão (também conhecida como Equação do Calor). &lt;br /&gt;
&lt;br /&gt;
A Equação da Difusão em uma dimensão pode ser escrita da forma:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\frac{df}{dt}=\frac{d^{2}f}{dx^{2}}&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No método de FTCS (Forward-Time Central-Space) definimos a derivada em t na forma não simetrizada (forward) e as derivadas em x na forma simetrizada:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\frac{df}{dt} = \frac{f(x, t+dt) - f(x,t)}{dt}&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;\frac{d^{2}f}{dx^{2}} = \frac{f(x+dx, t) + f(x-dx, t) - 2f(x,t)}{dx^{2}}&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E substuindo na equação da difusão, em notação discreta temos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;math&amp;gt;f_{j}^{n+1} = f_{j}^{n} + D\frac{dt}{(dx)^{2}}[f_{j+1}^{n} + f_{j-1}^{n} - 2 f_{j}^{n}]&amp;lt;/math&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Observação:&#039;&#039;&#039; esse procedimento funciona bem se &amp;lt;math&amp;gt;k=D\frac{dt}{(dx)^{2}} &amp;lt;= 1/2&amp;lt;/math&amp;gt;, segundo análise de estabilidade do método.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dessa forma, foi escrito um programa para integrar a Equação de Difusão através do método de FTCS nas linguagens Python e Julia.&lt;br /&gt;
&lt;br /&gt;
Para &#039;&#039;&#039;Python&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# FTCS aplicado na equacao da difusao. Linguagem: PYTHON&lt;br /&gt;
&lt;br /&gt;
import copy&lt;br /&gt;
import numpy as np&lt;br /&gt;
import matplotlib.pyplot as plt&lt;br /&gt;
&lt;br /&gt;
def init():&lt;br /&gt;
	L=50;D=1.;dt=0.05;dx=1.;t=0;tmax=100.&lt;br /&gt;
	k=D*dt/(dx*dx)    &lt;br /&gt;
	return L,k,dt,t,tmax&lt;br /&gt;
&lt;br /&gt;
L,k,dt,t,tmax = init()&lt;br /&gt;
&lt;br /&gt;
x = np.arange(0,L,1)	&lt;br /&gt;
f = np.zeros(x.shape)&lt;br /&gt;
&lt;br /&gt;
a = int(L/3)&lt;br /&gt;
b = int(2*L/3)&lt;br /&gt;
f[a:b]=1.&lt;br /&gt;
f1 = copy.deepcopy(f)	&lt;br /&gt;
f2 = copy.deepcopy(f)&lt;br /&gt;
&lt;br /&gt;
while t&amp;lt;tmax:&lt;br /&gt;
    t+=dt&lt;br /&gt;
    f1[1:L-1]=f[1:L-1]+k*(f[0:L-2]+f[2:L]-2*f[1:L-1])&lt;br /&gt;
    f1[L-1]=f[L-1]+k*(f[L-2]+f[0]-2*f[L-1])	&lt;br /&gt;
    f1[0]=f[0]+k*(f[1]+f[L-1]-2*f[0])		&lt;br /&gt;
    f=copy.deepcopy(f1)		&lt;br /&gt;
&lt;br /&gt;
sum0=sum(f1)&lt;br /&gt;
sum1=sum(f2)	&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Integral em t=0: %7.4f&amp;quot; % sum0)&lt;br /&gt;
print(&amp;quot;Integral em tmax: %7.4f&amp;quot; % sum1)&lt;br /&gt;
&lt;br /&gt;
plt.plot(x,f,x,f2)&lt;br /&gt;
plt.show()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em &#039;&#039;&#039;Julia&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# FTCS aplicado na equacao da difusao. Linguagem: JULIA&lt;br /&gt;
&lt;br /&gt;
using PyPlot&lt;br /&gt;
&lt;br /&gt;
L=50&lt;br /&gt;
D=1.&lt;br /&gt;
dt=0.05&lt;br /&gt;
dx=1.&lt;br /&gt;
t=0&lt;br /&gt;
tmax=100.&lt;br /&gt;
k=D*dt/(dx*dx)  &lt;br /&gt;
&lt;br /&gt;
x = collect(0:1:L-1)&lt;br /&gt;
f = zeros(L)&lt;br /&gt;
f1 = zeros(L)&lt;br /&gt;
&lt;br /&gt;
a = trunc(Int, L/3) &lt;br /&gt;
b = trunc(Int, 2*L/3)&lt;br /&gt;
&lt;br /&gt;
f[a+1:b] .= 1.&lt;br /&gt;
f2 = deepcopy(f)&lt;br /&gt;
&lt;br /&gt;
while t&amp;lt;tmax&lt;br /&gt;
	global t+=dt	&lt;br /&gt;
	f1[2:L-1] = f[2:L-1] + k*(f[1:L-2] + f[3:L] - 2*f[2:L-1])		&lt;br /&gt;
	f1[L] = f[L] + k*(f[L-1] + f[1] - 2*f[L])&lt;br /&gt;
	f1[1] = f[1] + k*(f[2] + f[L] - 2*f[1])	&lt;br /&gt;
	global f = deepcopy(f1)		&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
sum0 = sum(f1)&lt;br /&gt;
sum1 = sum(f2)&lt;br /&gt;
&lt;br /&gt;
println(&amp;quot;Integral em t=0: &amp;quot;, sum0)&lt;br /&gt;
println(&amp;quot;Integral em tmax: &amp;quot;, sum1)&lt;br /&gt;
&lt;br /&gt;
plt.plot(x,f,x,f2)&lt;br /&gt;
plt.show()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Foi testado o tempo de execução da parte principal dos dois programas (isto é, sem fazer o gráfico dos resultados), através do timer do terminal, como mostra na próxima figura:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Arquivo:Ftcs_time.png|border]]&lt;br /&gt;
&#039;&#039;&#039;Legenda:&#039;&#039;&#039; Tempo de execução dos dois programas, em Julia e em Python, para o método de FTCS aplicado à Equação de Difusão&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É possível perceber, através da figura acima, que o tempo de execução de Python para o FTCS aplicado à Equação de Difusão é menor do que o de Julia. Em razão disso, foi testado um programa simples, como mostra abaixo, que incrementa uma variável 10 vezes, sendo o seu valor inicial 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Arquivo:For.png|border]]&lt;br /&gt;
&#039;&#039;&#039;Legenda:&#039;&#039;&#039; Programa para incrementar o valor de uma variável, nesse caso &#039;&#039;i&#039;&#039;, 10 vezes, escrito em Julia e em Python&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E posteriormente, novamente, foi testado o tempo de execução da parte principal dos programas através do terminal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Arquivo:For_time.png|border]]&lt;br /&gt;
&#039;&#039;&#039;Legenda:&#039;&#039;&#039; Tempo de execução dos dois programas, em Julia e em Python, para o programa que incrementa o valor da variável 10 vezes&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É possível perceber que para esse simples programa de incrementação, Python ainda obtém melhor performance do que Julia.&lt;br /&gt;
&lt;br /&gt;
== Performance de Julia ==&lt;br /&gt;
&lt;br /&gt;
Tentando entender o que traria tal performance em Cálculo Numérico para Julia, foi chegado à conclusão de que ser uma linguagem que se utilizada de &#039;&#039;variáveis dinâmicas&#039;&#039; e &#039;&#039;multi-métodos&#039;&#039; seria uma das grandes contribuições da linguagem.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Variáveis dinâmicas:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Em Python as variáveis são interpretadas em runtime, ou seja, &#039;&#039;&#039;tempo de execução&#039;&#039;&#039; =&amp;gt; o programa checa toda hora se a variável mudou e isso torna ele mais lento&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Variáveis estáticas:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Em C as variáveis são fixas, e isso é visto é em &#039;&#039;&#039;tempo de compilação&#039;&#039;&#039; =&amp;gt; precisa pensar nas variáveis e isso torna o tempo de programação mais lento&lt;br /&gt;
&lt;br /&gt;
Em Julia isso é basicamente opcional, não é preciso definir as variáveis, mas é possível, e elas podem mudar dinamicamente, em tempo de execução. E ainda, Julia se utiliza de multi-métodos para não ter que lidar com a constante checagem dos tipos das variáveis, como Python faz!&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Despacho único:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Em geral, em linguagens de programação funções podem ter o mesmo nome, portanto deve existir algum mecanismo que irá realizar o despacho da&lt;br /&gt;
chamada de tais funções, resolvendo o conflito dos nomes iguais.&lt;br /&gt;
&lt;br /&gt;
Na maioria das linguagens de programação populares (python, C++, javascript, C#), o despacho da chamada de funções ocorre apenas levando em consideração o primeiro argumento da mesma, tal mecanismo é chamado de &#039;&#039;&#039;despacho único&#039;&#039;&#039;. Como exemplo, vamos considerar o seguinte exemplo em python&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
class MyClass1:&lt;br /&gt;
    def some_function(self, a):&lt;br /&gt;
        print(&amp;quot;Value-1:&amp;quot;, a)&lt;br /&gt;
&lt;br /&gt;
class MyClass2:&lt;br /&gt;
    def some_function(self, a):&lt;br /&gt;
        print(&amp;quot;Value-2:&amp;quot;, a)&lt;br /&gt;
&lt;br /&gt;
my_obj_1 = MyClass1()&lt;br /&gt;
my_obj_2 = MyClass2()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Existem duas funções com o nome &amp;lt;code&amp;gt;some_function&amp;lt;/code&amp;gt;, e obviamente tentar chamá-las dessa forma &amp;lt;code&amp;gt;some_function(&amp;quot;some_text&amp;quot;)&amp;lt;/code&amp;gt; não funciona. A chamada correta é feita da seguinte forma: &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;my_obj_1.some_function(&amp;quot;some_text&amp;quot;)&amp;lt;/code&amp;gt;: Executa a função em &amp;lt;code&amp;gt;MyClass1&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;my_obj_2.some_function(&amp;quot;some_text&amp;quot;)&amp;lt;/code&amp;gt;: Executa a função em &amp;lt;code&amp;gt;MyClass2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A sintaxe para chamar funções &amp;lt;code&amp;gt;my_obj.some_function(...)&amp;lt;/code&amp;gt; é apenas o padrão adotado pelo python, mas ela é equivalente a &amp;lt;code&amp;gt;some_function(my_obj, ...) &amp;lt;/code&amp;gt;, ou seja, quem determina qual função é de fato executada, é o primeiro argumento da chamada, os demais argumentos não são levados em consideração no momento do despacho.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Despacho múltiplo:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Em Julia, o despacho da execução de funções leva em consideração todos os seus argumentos, não apenas o primeiro, esse mecanismo leva o nome de &#039;&#039;&#039;despacho múltiplo&#039;&#039;&#039;. Para ilustrar o despacho múltiplo em ação, considere que estamos trabalhando em um código de dinâmica de partículas, e estamos precisando escrever uma função para calcular a energia potencial do sistema, que depende das massas, então podemos implementar a seguinte função &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function potencial_energy(mass, positions, pars)&lt;br /&gt;
    println(&amp;quot;Calculando energia potencial&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que&lt;br /&gt;
&lt;br /&gt;
* mass: Massas das partícula.&lt;br /&gt;
* positions: Posições das partículas.&lt;br /&gt;
* pars: Parâmetros do potencial em questão.&lt;br /&gt;
&lt;br /&gt;
mas suponha que agora estamos interessados em explorar o sistemas quando todas as massas são iguais, e desejamos usar essa condição para melhorar o desempenho do cálculo da energia potencial. Poderíamos adicionar algumas estruturas condicionais dentro da função acima para isso, mas uma melhor forma é fazer com que a função &amp;lt;code&amp;gt;potencial_energy&amp;lt;/code&amp;gt; despache no argumento &amp;lt;code&amp;gt;mass&amp;lt;/code&amp;gt;, então, precisamos criar um tipo que represente massas iguais, que apenas vai possui um único atributo (a massa comum a todas as partículas) e um novo método para &amp;lt;code&amp;gt;potencial_energy&amp;lt;/code&amp;gt; que despacha utilizando esse tipo:  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
struct SameMass &lt;br /&gt;
    masss::Float64&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function potencial_energy(mass::SameMass, positions, pars)&lt;br /&gt;
    println(&amp;quot;Calculando energia potencial com otimização para massas iguais&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esse novo método possui uma implementação otimizada para o caso em que todas as massas são iguais. Nada precisa mudar no código que chama &amp;lt;code&amp;gt;potencial_energy&amp;lt;/code&amp;gt;, pois o despacho múltiplo vai fazer com que seja executado a implementação correta.&lt;br /&gt;
&lt;br /&gt;
Agora suponha que estamos interessado em outro potencial (Potencial2), ao invés de criar uma nova função para Potencial2, vamos fazer com que &amp;lt;code&amp;gt;potencial_energy&amp;lt;/code&amp;gt; despache no argumento &amp;lt;code&amp;gt;pars&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
struct Potencial2 &lt;br /&gt;
    par1::Int&lt;br /&gt;
    par2::Float64&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function potencial_energy(mass, positions, pars::Potencial2)&lt;br /&gt;
    println(&amp;quot;Calculando energia potencial para Potencial2&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ainda, podemos fazer um método para Potencial2 que é otimizado para todas as massas iguais&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
function potencial_energy(mass::SameMass, positions, pars::Potencial2)&lt;br /&gt;
    println(&amp;quot;&amp;quot;Calculando energia potencial com otimização para massas iguais para Potencial2&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora que estamos trabalhando com dois potencias, é inteligente também criar um tipo para o primeiro potencial, que vamos chamar de Potencial1:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
struct Potencial1&lt;br /&gt;
   par1::Float64&lt;br /&gt;
   par2::Float64&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O seguinte exemplo utiliza os métodos que criamos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;julia&amp;quot;&amp;gt;&lt;br /&gt;
positions = [] # Suponha que as posições das partículas estejam aqui&lt;br /&gt;
&lt;br /&gt;
pars_1 = Potencial1(3.14, 2.71)&lt;br /&gt;
pars_2 = Potencial2(137, 3.48)&lt;br /&gt;
&lt;br /&gt;
mass = [] # Suponha que as diferentes massas das partículas estejam aqui&lt;br /&gt;
same_mass = SameMass(1)&lt;br /&gt;
&lt;br /&gt;
potencial_energy(mass, positions, pars_1)&lt;br /&gt;
potencial_energy(mass, positions, pars_2)&lt;br /&gt;
potencial_energy(same_mass, positions, pars_1)&lt;br /&gt;
potencial_energy(same_mass, positions, pars_2)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
executando, temos a seguinte saída:&lt;br /&gt;
&lt;br /&gt;
  Calculando energia potencial&lt;br /&gt;
  Calculando energia potencial para Potencial2&lt;br /&gt;
  Calculando energia potencial com otimização para massas iguais&lt;br /&gt;
  Calculando energia potencial com otimização para massas iguais para Potencial2&lt;br /&gt;
&lt;br /&gt;
== Performance de Julia: na prática ==&lt;br /&gt;
Para resumir, temos: &lt;br /&gt;
&lt;br /&gt;
Python =&amp;gt; dynamic (variáveis dinâmicas) single dispatch (métodos únicos)&lt;br /&gt;
&lt;br /&gt;
C++ =&amp;gt; static (variáveis estáticas) single dispatch&lt;br /&gt;
&lt;br /&gt;
Julia =&amp;gt; dynamic multiple dispatch&lt;br /&gt;
&lt;br /&gt;
Na prática, é mostrado abaixo um exemplo da performance de Julia como linguagem de programação em dynamic multiple dispatch. &lt;br /&gt;
&lt;br /&gt;
O mesmo programa foi escrito em Julia e em C++. &lt;br /&gt;
&lt;br /&gt;
Em &#039;&#039;&#039;Julia&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
abstract type Animal end&lt;br /&gt;
&lt;br /&gt;
struct Cachorro &amp;lt;: Animal&lt;br /&gt;
    nome::String&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
struct Gato &amp;lt;: Animal&lt;br /&gt;
    nome::String&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
# Função de encontro que recebe tipo genérico de animal&lt;br /&gt;
function encontroDeAnimais(a::Animal, b::Animal)&lt;br /&gt;
    acao = encontro(a,b)&lt;br /&gt;
    println(&amp;quot;$(a.nome) encontra $(b.nome) e $acao&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
# Funções de expressão única que recebem diferentes tipos de animais&lt;br /&gt;
encontro(a::Cachorro, b::Cachorro) = &amp;quot;cheira&amp;quot; &lt;br /&gt;
encontro(a::Cachorro, b::Gato) = &amp;quot;persegue&amp;quot;&lt;br /&gt;
encontro(a::Gato, b::Gato) = &amp;quot;lambe&amp;quot;&lt;br /&gt;
encontro(a::Gato, b::Cachorro) = &amp;quot;ignora&amp;quot; &lt;br /&gt;
&lt;br /&gt;
# Instanciando os bichinhos&lt;br /&gt;
gato1 = Gato(&amp;quot;Luciene Maria&amp;quot;)&lt;br /&gt;
gato2 = Gato(&amp;quot;Mel&amp;quot;)&lt;br /&gt;
cachorro1 = Cachorro(&amp;quot;Batata&amp;quot;)&lt;br /&gt;
cachorro2 = Cachorro(&amp;quot;Snoopy&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Chamando função encontroDeAnimais&lt;br /&gt;
encontroDeAnimais(gato1, gato2)&lt;br /&gt;
encontroDeAnimais(gato1, cachorro2)&lt;br /&gt;
encontroDeAnimais(cachorro1, cachorro2)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Em &#039;&#039;&#039;C++&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
class Animal { &lt;br /&gt;
    public:&lt;br /&gt;
    string nome;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
string encontro(Animal a, Animal b) {}&lt;br /&gt;
&lt;br /&gt;
// Função de encontro que recebe tipo genérico de animal&lt;br /&gt;
void encontroDeAnimais(Animal a, Animal b) {&lt;br /&gt;
    string acao = encontro(a,b);&lt;br /&gt;
    cout &amp;lt;&amp;lt; a.nome &amp;lt;&amp;lt; &amp;quot; encontra &amp;quot; &amp;lt;&amp;lt; b.nome &amp;lt;&amp;lt; &amp;quot; e &amp;quot; &amp;lt;&amp;lt; acao &amp;lt;&amp;lt; endl;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class Cachorro:public Animal {};&lt;br /&gt;
class Gato:public Animal {};&lt;br /&gt;
&lt;br /&gt;
// Funções de expressão única que recebem diferentes tipos de animais&lt;br /&gt;
string encontro(Cachorro a, Cachorro b) { return &amp;quot;cheira&amp;quot;; }&lt;br /&gt;
string encontro(Cachorro a, Gato b) { return &amp;quot;persegue&amp;quot;; }&lt;br /&gt;
string encontro(Gato a, Gato b) { return &amp;quot;lambe&amp;quot;; }&lt;br /&gt;
string encontro(Gato a, Cachorro b) { return &amp;quot;ignora&amp;quot;; }&lt;br /&gt;
&lt;br /&gt;
int main() {&lt;br /&gt;
// Instanciando os bichinhos&lt;br /&gt;
Gato gato1;	gato1.nome = &amp;quot;Luciene Maria&amp;quot;;&lt;br /&gt;
Gato gato2;	gato2.nome = &amp;quot;Mel&amp;quot;;&lt;br /&gt;
Cachorro cachorro1;	cachorro1.nome = &amp;quot;Batata&amp;quot;;&lt;br /&gt;
Cachorro cachorro2;	cachorro2.nome = &amp;quot;Snoopy&amp;quot;;&lt;br /&gt;
  &lt;br /&gt;
// Chamando função encontroDeAnimais&lt;br /&gt;
encontroDeAnimais(gato1, gato2);&lt;br /&gt;
encontroDeAnimais(gato1, cachorro2);&lt;br /&gt;
encontroDeAnimais(cachorro1, cachorro2);&lt;br /&gt;
    &lt;br /&gt;
    return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para &#039;&#039;&#039;Julia&#039;&#039;&#039; nós obtemos o seguinte &#039;&#039;&#039;resultado&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Luciene Maria encontra Mel e lambe&lt;br /&gt;
Luciene Maria encontra Snoopy e ignora&lt;br /&gt;
Batata encontra Snoopy e cheira&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para &#039;&#039;&#039;C++&#039;&#039;&#039; o &#039;&#039;&#039;resultado&#039;&#039;&#039; é:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Luciene Maria encontra Mel e&lt;br /&gt;
Falha de Segmentação&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Isso acontece porque C++ não aceita que uma função utilize-se de uma variável sem antes saber qual o tipo dessa variável! Por isso, poder utilizar-se de variáveis dinâmicas quando há multi-métodos é um diferencial que acaba por incrementar a performance de Julia como linguagem de programação visada para o Cálculo Numérico.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Observação:&#039;&#039;&#039; é importante ressaltar que os testes feitos não são conclusivos para debater a performance de Julia, em termos estatísticos, e além disso, ser uma linguagem de programação que utiliza de variáveis dinâmicas e multi-métodos não é o único motivo pelo qual Julia poderia trazer tal performance em Cálculo Numérico. Podemos ainda contar com a sua capacidade de &#039;&#039;&#039;metaprogramação&#039;&#039;&#039;, ou seja, Julia pode usar macros e eles são aplicados em tempo de interpretação. Há ainda outros fatores da construção da linguagem que contribuem para sua performance que aqui não foram citados.&lt;br /&gt;
&lt;br /&gt;
== Aprendendo Julia ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ambiente de programação&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Após feita a instalação de Julia, para abri-la no seu terminal de comando é preciso apenas digitar: &amp;lt;pre&amp;gt;$julia&amp;lt;/pre&amp;gt; para entrar em seu ambiente de programação.&lt;br /&gt;
&lt;br /&gt;
É possível, também, programar em um arquivo de texto (salvo como .jl) e executar o programa pelo terminal, fazendo simplesmente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$julia programa.jl &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Impressão na tela&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
println(&amp;quot;Hello World&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
Hello World&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Variáveis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Variáveis são atribuídas dinamicamente e podem mudar.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
s = 1&lt;br /&gt;
s = &amp;quot;Oi&amp;quot;&lt;br /&gt;
println(s)&lt;br /&gt;
println(typeof(s))&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
Oi&lt;br /&gt;
String&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
s::String&lt;br /&gt;
s = 1&lt;br /&gt;
println(s)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
TypeError: in typeassert, expected String, got Int32&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Condicionais&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cats = 12&lt;br /&gt;
if cats &amp;lt; 1&lt;br /&gt;
println(&amp;quot;You should adopt a cat.&amp;quot;)&lt;br /&gt;
elseif cats &amp;gt;= 1 &amp;amp;&amp;amp; cats &amp;lt;=6&lt;br /&gt;
println(&amp;quot;Not enough cats.&amp;quot;)&lt;br /&gt;
elseif cats &amp;gt;= 7 &amp;amp;&amp;amp; cats &amp;lt;= 12&lt;br /&gt;
println(&amp;quot;Still not enough cats.&amp;quot;)&lt;br /&gt;
else&lt;br /&gt;
println(&amp;quot;Gato have more cats.&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
Still not enough cats.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
i = 0&lt;br /&gt;
while (i &amp;lt; 10)&lt;br /&gt;
global i += 1&lt;br /&gt;
println(i)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
1&lt;br /&gt;
2&lt;br /&gt;
3&lt;br /&gt;
4&lt;br /&gt;
5&lt;br /&gt;
6&lt;br /&gt;
7&lt;br /&gt;
8&lt;br /&gt;
9&lt;br /&gt;
10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for i = 1:10&lt;br /&gt;
println(i)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
1&lt;br /&gt;
2&lt;br /&gt;
3&lt;br /&gt;
4&lt;br /&gt;
5&lt;br /&gt;
6&lt;br /&gt;
7&lt;br /&gt;
8&lt;br /&gt;
9&lt;br /&gt;
10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for i in [1,2,3]&lt;br /&gt;
println(i)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
1&lt;br /&gt;
2&lt;br /&gt;
3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arrays&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Criando um array de zeros&lt;br /&gt;
a1 = zeros()&lt;br /&gt;
println(a1)&lt;br /&gt;
# Posso definir o tipo e o tamanho do Array (linhas, colunas) também&lt;br /&gt;
a1 = zeros(Int32, 1, 4)&lt;br /&gt;
println(a1)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
0.0&lt;br /&gt;
[0 0 0 0]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Criando um array do tipo inteiro&lt;br /&gt;
a2 = Array{Int32}&lt;br /&gt;
println(a2)&lt;br /&gt;
# Criando um array (de outra maneira) do tipo float&lt;br /&gt;
a3 = Float64[]&lt;br /&gt;
println(a3)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
Array{Int32,N} where N [...]&lt;br /&gt;
Float64[]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Criando um array e definindo valores&lt;br /&gt;
a4 = [1,2,3]&lt;br /&gt;
#Imprimindo a4&lt;br /&gt;
println(&amp;quot;Array: &amp;quot;, a4)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
Array: [1, 2, 3]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a4 = [1,2,3]&lt;br /&gt;
# Imprimindo valor de um indíce específico&lt;br /&gt;
println(&amp;quot;Imprimindo primeiro elemento: &amp;quot;, a4[1])&lt;br /&gt;
# Imprimindo último valor do array&lt;br /&gt;
println(&amp;quot;Imprimindo último elemento: &amp;quot;,a4[end])&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
Imprimindo primeiro elemento: 1&lt;br /&gt;
Imprimindo último elemento: 3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a4 = [1,2,3]&lt;br /&gt;
println(a4[2])&lt;br /&gt;
# Valores podem mudar (diferente de Tuplas, que veremos adiante)&lt;br /&gt;
a4[2] = 4&lt;br /&gt;
println(a4[2])&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
2&lt;br /&gt;
4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a4 = [1,2,3]&lt;br /&gt;
println(a4)&lt;br /&gt;
# Número de elementos&lt;br /&gt;
println(&amp;quot;Imprimindo número de elementos: &amp;quot;,length(a4))&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
[1, 2, 3]&lt;br /&gt;
Imprimindo número de elementos: 3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a4 = [1,2,3]&lt;br /&gt;
# Soma os valores do array&lt;br /&gt;
println(&amp;quot;Imprimindo soma dos elementos: &amp;quot;,sum(a4))&lt;br /&gt;
# Põe os valores começando no índice 2&lt;br /&gt;
splice!(a4, 2:1, [8,9])&lt;br /&gt;
println(&amp;quot;Imprimindo Array tendo feito splice!(a4, 2:1, [8,9]): &amp;quot;,a4)&lt;br /&gt;
# Remove os itens do índice 2 ao 3&lt;br /&gt;
4splice!(a4, 2:3)&lt;br /&gt;
println(&amp;quot;Imprimindo Array tendo feito splice!(a4, 2:3): &amp;quot;,a4)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
Imprimindo soma dos elementos: 6&lt;br /&gt;
Imprimindo Array tendo feito splice!(a4, 2:1, [8,9]): [1, 8, 9, 2, 3]&lt;br /&gt;
Imprimindo Array tendo feito splice!(a4, 2:3): [1, 2, 3]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
a4 = [1,2,3]&lt;br /&gt;
# Pegar valor máximo e valor mínimo&lt;br /&gt;
println(&amp;quot;Imprimindo valor máximo: &amp;quot;,maximum(a4))&lt;br /&gt;
println(&amp;quot;Imprimindo Array valor mínimo: &amp;quot;,minimum(a4))&lt;br /&gt;
# Multiplicando todos os elementos do array por outro número sem precisar de um for&lt;br /&gt;
println(&amp;quot;Imprimindo multiplicação dos elementos por 2: &amp;quot;,a4 * 2)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
Imprimindo valor máximo: 3&lt;br /&gt;
Imprimindo Array valor mínimo: 1&lt;br /&gt;
Imprimindo multiplicação dos elementos por 2: [2, 4, 6]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Arrays podem conter funções&lt;br /&gt;
a5 = [sin, cos, tan]&lt;br /&gt;
for n in a5&lt;br /&gt;
println(n(0))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
0.0&lt;br /&gt;
1.0&lt;br /&gt;
0.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Para os acostumados com range&lt;br /&gt;
a6 = collect(1:5)&lt;br /&gt;
println(a6)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
[1, 2, 3, 4, 5]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tuplas&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A maioria das funções de array funciona com tuplas.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Valores não podem mudar&lt;br /&gt;
t1 = (1,2,3,4)&lt;br /&gt;
println(t1[2])&lt;br /&gt;
t1[2] = 5&lt;br /&gt;
println(t1[2])&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
2&lt;br /&gt;
MethodError: no method matching setindex!(::NTuple{4,Int32}, ::Int32, ::Int32)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Imprimindo a tupla inteira&lt;br /&gt;
println(t1)&lt;br /&gt;
# Imprimindo a tupla inteira&lt;br /&gt;
for i in t1&lt;br /&gt;
println(i)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
(1, 2, 3, 4)&lt;br /&gt;
1&lt;br /&gt;
2&lt;br /&gt;
3&lt;br /&gt;
4&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dicionários&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A palavra-chave deve ser única.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
d1 = Dict(&amp;quot;pi&amp;quot;=&amp;gt;3.14, &amp;quot;e&amp;quot;=&amp;gt;2.718)&lt;br /&gt;
# Imprimir um valor&lt;br /&gt;
println(d1[&amp;quot;pi&amp;quot;])&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
3.14&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
d1 = Dict(&amp;quot;pi&amp;quot;=&amp;gt;3.14, &amp;quot;e&amp;quot;=&amp;gt;2.718)&lt;br /&gt;
# Imprimindo todas as palavras-chaves&lt;br /&gt;
println(keys(d1))&lt;br /&gt;
# Imprimindo todos os valores&lt;br /&gt;
println(values(d1))&lt;br /&gt;
# Adicionar uma palavra-chave&lt;br /&gt;
d1[&amp;quot;golden&amp;quot;] = 1.618&lt;br /&gt;
# Deleter uma palavra-chave&lt;br /&gt;
delete!(d1, &amp;quot;pi&amp;quot;)&lt;br /&gt;
# Imprimindo todas as palavras-chaves&lt;br /&gt;
println(keys(d1))&lt;br /&gt;
# Imprimindo todos os valores&lt;br /&gt;
println(values(d1))&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
[&amp;quot;pi&amp;quot;, &amp;quot;e&amp;quot;]&lt;br /&gt;
[3.14, 2.718]&lt;br /&gt;
[&amp;quot;e&amp;quot;, &amp;quot;golden&amp;quot;]&lt;br /&gt;
[2.718, 1.618]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
d1 = Dict(&amp;quot;pi&amp;quot;=&amp;gt;3.14, &amp;quot;e&amp;quot;=&amp;gt;2.718)&lt;br /&gt;
# Ver se a palavra-chave existe&lt;br /&gt;
println(haskey(d1, &amp;quot;pi&amp;quot;))&lt;br /&gt;
# Imprimindo palavras-chaves E valores&lt;br /&gt;
for kv in d1&lt;br /&gt;
println(kv)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
true&lt;br /&gt;
&amp;quot;pi&amp;quot; =&amp;gt; 3.14&lt;br /&gt;
&amp;quot;e&amp;quot; =&amp;gt; 2.718&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sets&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Sets são arrays com elementos únicos.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
st1 = Set([&amp;quot;Jim&amp;quot;, &amp;quot;Pam&amp;quot;, &amp;quot;Jim&amp;quot;])&lt;br /&gt;
# Ele não pega os elementos repetidos&lt;br /&gt;
println(st1)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
Set([&amp;quot;Pam&amp;quot;, &amp;quot;Jim&amp;quot;])&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
st1 = Set([&amp;quot;Jim&amp;quot;, &amp;quot;Pam&amp;quot;, &amp;quot;Jim&amp;quot;])&lt;br /&gt;
# Adicionando um elemento&lt;br /&gt;
push!(st1, &amp;quot;Michael&amp;quot;)&lt;br /&gt;
println(st1)&lt;br /&gt;
# Ver se um elemento está no Set&lt;br /&gt;
println(in(&amp;quot;Dwight&amp;quot;, st1))&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
Set([&amp;quot;Pam&amp;quot;, &amp;quot;Michael&amp;quot;, &amp;quot;Jim&amp;quot;])&lt;br /&gt;
false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
st1 = Set([&amp;quot;Jim&amp;quot;, &amp;quot;Pam&amp;quot;, &amp;quot;Jim&amp;quot;])&lt;br /&gt;
st2 = Set([&amp;quot;Stanley&amp;quot;, &amp;quot;Meredith&amp;quot;])&lt;br /&gt;
# Combinando Sets&lt;br /&gt;
println(union(st1, st2))&lt;br /&gt;
# Imprimindo todo o elemento que os dois Sets tem em comum&lt;br /&gt;
println(intersect(st1, st2))&lt;br /&gt;
# Imprimindo elementos que estão no primeiro Set, mas não no segundo&lt;br /&gt;
println(setdiff(st1, st2))&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
Set([&amp;quot;Jim&amp;quot;, &amp;quot;Meredith&amp;quot;, &amp;quot;Stanley&amp;quot;, &amp;quot;Pam&amp;quot;])&lt;br /&gt;
Set(String[])&lt;br /&gt;
Set([&amp;quot;Pam&amp;quot;, &amp;quot;Jim&amp;quot;])&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Funções&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
using Printf&lt;br /&gt;
# Função de expressão única&lt;br /&gt;
soma(x,y) = x + y&lt;br /&gt;
x, y = 1, 2&lt;br /&gt;
@printf(&amp;quot;%d + %d = %d\n&amp;quot;, x, y, x+y)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
1 + 2 = 3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Função de múltiplas expressões&lt;br /&gt;
function adoptACat(cats)&lt;br /&gt;
if cats &amp;lt;= 1&lt;br /&gt;
println(&amp;quot;You should adopt a cat.&amp;quot;)&lt;br /&gt;
else&lt;br /&gt;
println(&amp;quot;You should adopt a cat. They&#039;re cute.&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
end&lt;br /&gt;
adoptACat(2)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
You should adopt a cat. They&#039;re cute.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
v1 = 5&lt;br /&gt;
function changeV1(v1)&lt;br /&gt;
v1 = 10&lt;br /&gt;
end&lt;br /&gt;
changeV1(v1)&lt;br /&gt;
println(v1)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
v1 = 5&lt;br /&gt;
function changeV1(v1)&lt;br /&gt;
v1 = 10&lt;br /&gt;
return v1&lt;br /&gt;
end&lt;br /&gt;
changeV1(v1)&lt;br /&gt;
println(v1)&lt;br /&gt;
v2 = changeV1(v1)&lt;br /&gt;
println(v2)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
5&lt;br /&gt;
10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Usando variáveis globais dentro da função&lt;br /&gt;
v1 = 5&lt;br /&gt;
function changeV12()&lt;br /&gt;
global v1 = 10&lt;br /&gt;
end&lt;br /&gt;
changeV12()&lt;br /&gt;
println(v1)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Quando não sei quantos argumentos vou passar&lt;br /&gt;
function soma(args...)&lt;br /&gt;
sum = 0&lt;br /&gt;
for i in args&lt;br /&gt;
sum += i&lt;br /&gt;
end&lt;br /&gt;
println(sum)&lt;br /&gt;
end&lt;br /&gt;
soma(1,2,3)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
6&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Retornando mais de um valor&lt;br /&gt;
function retorna2(valor)&lt;br /&gt;
return (valor + 1, valor + 2)&lt;br /&gt;
end&lt;br /&gt;
println(retorna2(4))&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
(5, 6)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Map é uma função anônima que aplica uma função para cada elemento&lt;br /&gt;
v = map(x -&amp;gt; x * x, [1,2,3])&lt;br /&gt;
println(v)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
[1, 4, 9]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Structs&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
struct Estudante&lt;br /&gt;
name::String&lt;br /&gt;
saldoTRI::Float32&lt;br /&gt;
cartaoUFRGS::Int&lt;br /&gt;
end&lt;br /&gt;
# Criando um objeto&lt;br /&gt;
estudante1 = Estudante(&amp;quot;Raquel&amp;quot;, 10.50, 244449)&lt;br /&gt;
println(estudante1.name, &amp;quot;\n&amp;quot;, estudante1.saldoTRI, &amp;quot;\n&amp;quot;, estudante1.cartaoUFRGS)&lt;br /&gt;
&lt;br /&gt;
Saída:&lt;br /&gt;
Raquel&lt;br /&gt;
10.5&lt;br /&gt;
244449&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tipos Abstratos&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Tipos abstratos não podem ser instanciados como as Structs (instanciar =&amp;gt; fazer estudante1 =&lt;br /&gt;
Estudante(“Raquel”, 10.50, 244449) =&amp;gt; criar um objeto) MAS podem ter subTipos e isso é muito&lt;br /&gt;
útil!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
abstract type animal end&lt;br /&gt;
struct cachorro &amp;lt;: animal&lt;br /&gt;
nome::String&lt;br /&gt;
latido::String&lt;br /&gt;
end&lt;br /&gt;
struct gato &amp;lt;: animal&lt;br /&gt;
nome::String&lt;br /&gt;
miado::String&lt;br /&gt;
end&lt;br /&gt;
cachorro1 = cachorro(&amp;quot;Urso&amp;quot;, &amp;quot;Au Au&amp;quot;)&lt;br /&gt;
gato1 = gato(&amp;quot;Lucia Irene&amp;quot;, &amp;quot;Miau&amp;quot;)&lt;br /&gt;
# Criando funções pros subTipos&lt;br /&gt;
function fazerSom(animal::cachorro)&lt;br /&gt;
println(&amp;quot;$(animal.nome) diz $(animal.latido)&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
function fazerSom(animal::gato)&lt;br /&gt;
println(&amp;quot;$(animal.nome) diz $(animal.miado)&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
fazerSom(cachorro1)&lt;br /&gt;
fazerSom(gato1)&lt;br /&gt;
&lt;br /&gt;
Saída: &lt;br /&gt;
Urso diz Au Au&lt;br /&gt;
Lucia Irene diz Miau&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Modularizando códigos em Julia ==&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=P%C3%A1gina_principal&amp;diff=10793</id>
		<title>Página principal</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=P%C3%A1gina_principal&amp;diff=10793"/>
		<updated>2024-08-24T11:56:50Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: /* Ensino */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;A Wiki is a collaboratively edited Web site designed to promote the accumulation and refining of data with the least possible hassle. Any user viewing a Wiki can edit anything they see quickly and easily&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Bem vindos a &#039;&#039;&#039;ComplexWiki&#039;&#039;&#039;, ambiente de trabalho cooperativo para [[#Pesquisa]], [[#Ensino]] e dicas sobre [[#Linux]].&lt;br /&gt;
É preciso se cadastrar para fazer contribuições.&lt;br /&gt;
ComplexWiki está dentro do [http://www.if.ufrgs.br Instituto de Física].&lt;br /&gt;
-- &#039;&#039;Sebastián Gonçalves&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Visite também o [http://www.if.ufrgs.br/wiki wiki oficial] do Instituto de Física--&amp;gt;&lt;br /&gt;
Consulte [http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide User&#039;s Guide] para informações de como usar o software wiki (em inglês) e [[ComplexWiki:Sobre]] sobre o estilo local.&lt;br /&gt;
&lt;br /&gt;
== Pesquisa ==&lt;br /&gt;
&lt;br /&gt;
* [[Atrito]]&lt;br /&gt;
&lt;br /&gt;
* [[Ecologia]]&lt;br /&gt;
&lt;br /&gt;
* [[Econofísica]]&lt;br /&gt;
&lt;br /&gt;
* [[Epidemias]]&lt;br /&gt;
&lt;br /&gt;
* [[Laboratório de Estruturas Celulares]]&lt;br /&gt;
&lt;br /&gt;
* [[Teoria de Redes e Crime]]&lt;br /&gt;
&lt;br /&gt;
[[Instituições de pesquisa]] sobre complexidade no mundo&lt;br /&gt;
&lt;br /&gt;
[[Conferencias]]&lt;br /&gt;
&lt;br /&gt;
== Ensino ==&lt;br /&gt;
&lt;br /&gt;
===[[Métodos computacionais]]===&lt;br /&gt;
&lt;br /&gt;
===[[FIP20706 Tópicos em Física Estatística: redes e dinâmica de epidemias]]=== &lt;br /&gt;
&lt;br /&gt;
===[[Introdução a Sistemas Dinâmicos]]===&lt;br /&gt;
&lt;br /&gt;
===[[Dinâmica Molecular]]===&lt;br /&gt;
&lt;br /&gt;
===[[Monte Carlo]]===&lt;br /&gt;
&lt;br /&gt;
===[[FIS01183 - Física III-C]]===&lt;br /&gt;
&lt;br /&gt;
===Texto de Apoio ao Ensino de Física===&lt;br /&gt;
&lt;br /&gt;
* [[Ondas]]&lt;br /&gt;
 &lt;br /&gt;
* [[Raio X]]&lt;br /&gt;
&lt;br /&gt;
===[[Applets]]===&lt;br /&gt;
&lt;br /&gt;
===[[Dicas para apresentações]]===&lt;br /&gt;
&lt;br /&gt;
==Linux Forum==&lt;br /&gt;
&lt;br /&gt;
====Hardware====&lt;br /&gt;
&lt;br /&gt;
* [[Touchpad (Synaptic/ALPS)]]&lt;br /&gt;
&lt;br /&gt;
* [[Impressoras multifuncionais]]: instalando o scanner&lt;br /&gt;
&lt;br /&gt;
* [[linux &amp;amp; vaio sz]]&lt;br /&gt;
&lt;br /&gt;
====Software====&lt;br /&gt;
&lt;br /&gt;
* [[instalação de linux basica pela rede]]: procedimento&lt;br /&gt;
&lt;br /&gt;
* [[Reinstalando todos os pacotes de instalação antiga]]&lt;br /&gt;
&lt;br /&gt;
* [[sources.list]]: configurando automaticamente&lt;br /&gt;
&lt;br /&gt;
* [[kubuntu]]: como configurar senha de root&lt;br /&gt;
&lt;br /&gt;
* f90 da Intel: [[upgrade para Edgy]]&lt;br /&gt;
&lt;br /&gt;
* [[32 bits rodando em 64]]: como configurar&lt;br /&gt;
&lt;br /&gt;
* [[thunderbird &amp;amp; firefox]]: como escolher o navegador que abre os links do thunderbird&lt;br /&gt;
&lt;br /&gt;
* [[thunderbird]]: instalando dicionários &lt;br /&gt;
&lt;br /&gt;
* [[XFig]]: truques&lt;br /&gt;
&lt;br /&gt;
* [[pdf]]&lt;br /&gt;
&lt;br /&gt;
* [[latex, emacs, UTF-8 e acentos]]&lt;br /&gt;
&lt;br /&gt;
* [[c cedilha no Ubuntu]]&lt;br /&gt;
&lt;br /&gt;
* [[sincronizar estação]]&lt;br /&gt;
&lt;br /&gt;
* [[colocar legendas num video]]&lt;br /&gt;
&lt;br /&gt;
== Mix ==&lt;br /&gt;
&lt;br /&gt;
[[Distribuição Docente 2007]].&lt;br /&gt;
&lt;br /&gt;
== Consulta (wiki) ==&lt;br /&gt;
* [[mysql]]&lt;br /&gt;
* [http://meta.wikimedia.org/wiki/Setting_user_rights_in_MediaWiki Dando privilégio de Administrador (sysop ou OpSys) para um usuário]&lt;br /&gt;
* [[Mudando o titulo da página principal (mainpage)]]&lt;br /&gt;
* [[Modificando a barra de navegação (navigation bar)]]&lt;br /&gt;
* [http://meta.wikimedia.org/wiki/Page_access_restriction_with_MediaWiki#Get_the_patch Restringindo páginas]&lt;br /&gt;
* [[Fórmulas]] e [http://meta.wikimedia.org/wiki/Help:Table tabelas]&lt;br /&gt;
* [http://isaacnewton.princeton.edu/index.php/MediaWiki:Color_Names As cores do mediawiki]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Wikipedia:Extended_image_syntax#Location Imágens (avanzado)]&lt;br /&gt;
* [http://meta.wikimedia.org/wiki/Layout_customization Customization]&lt;br /&gt;
* [[Backup de servidor wiki]]&lt;br /&gt;
* [http://meta.wikimedia.org/wiki/Help:Upgrading_MediaWiki Upgrade do mediawiki]&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Help:Configuration_settings Configuration settings list]&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Help:FAQ MediaWiki FAQ]&lt;br /&gt;
* [http://mail.wikipedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]&lt;br /&gt;
* [http://meta.wikimedia.org/wiki/Gnuplot Extensão para Gnuplot]&lt;br /&gt;
* [[Moodle]]&lt;br /&gt;
* [[mediawiki: dicas]]&lt;br /&gt;
&lt;br /&gt;
== Novidades ==&lt;br /&gt;
&lt;br /&gt;
Adicionado suporte para Gnuplot (veja [[Espaço dos alunos]] )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Não mexer o que segue, do not touch below --&amp;gt;&lt;br /&gt;
&amp;lt;!-- linha para Google analytics, ponerla en cada pagina que quiero monitorar --&amp;gt;&lt;br /&gt;
&amp;lt;analytics uacct=&amp;quot;UA-379257-2&amp;quot;&amp;gt;&amp;lt;/analytics&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;--&#039;&#039;&#039;MediaWiki instalado com sucesso.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Consulte o [http://meta.wikimedia.org/wiki/Help:Contents Manual de Usuário] para informações de como usar o software wiki.&lt;br /&gt;
&lt;br /&gt;
== Começando ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Manual:Configuration_settings Lista de opções de configuração]&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Manual:FAQ FAQ do MediaWiki]&lt;br /&gt;
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista de discussão com avisos de novas versões do MediaWiki]&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=P%C3%A1gina_principal&amp;diff=10792</id>
		<title>Página principal</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=P%C3%A1gina_principal&amp;diff=10792"/>
		<updated>2024-08-24T11:53:07Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: /* Ensino */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;A Wiki is a collaboratively edited Web site designed to promote the accumulation and refining of data with the least possible hassle. Any user viewing a Wiki can edit anything they see quickly and easily&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Bem vindos a &#039;&#039;&#039;ComplexWiki&#039;&#039;&#039;, ambiente de trabalho cooperativo para [[#Pesquisa]], [[#Ensino]] e dicas sobre [[#Linux]].&lt;br /&gt;
É preciso se cadastrar para fazer contribuições.&lt;br /&gt;
ComplexWiki está dentro do [http://www.if.ufrgs.br Instituto de Física].&lt;br /&gt;
-- &#039;&#039;Sebastián Gonçalves&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Visite também o [http://www.if.ufrgs.br/wiki wiki oficial] do Instituto de Física--&amp;gt;&lt;br /&gt;
Consulte [http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide User&#039;s Guide] para informações de como usar o software wiki (em inglês) e [[ComplexWiki:Sobre]] sobre o estilo local.&lt;br /&gt;
&lt;br /&gt;
== Pesquisa ==&lt;br /&gt;
&lt;br /&gt;
* [[Atrito]]&lt;br /&gt;
&lt;br /&gt;
* [[Ecologia]]&lt;br /&gt;
&lt;br /&gt;
* [[Econofísica]]&lt;br /&gt;
&lt;br /&gt;
* [[Epidemias]]&lt;br /&gt;
&lt;br /&gt;
* [[Laboratório de Estruturas Celulares]]&lt;br /&gt;
&lt;br /&gt;
* [[Teoria de Redes e Crime]]&lt;br /&gt;
&lt;br /&gt;
[[Instituições de pesquisa]] sobre complexidade no mundo&lt;br /&gt;
&lt;br /&gt;
[[Conferencias]]&lt;br /&gt;
&lt;br /&gt;
== Ensino ==&lt;br /&gt;
&lt;br /&gt;
===[[Métodos computacionais]]===&lt;br /&gt;
&lt;br /&gt;
===[[FIP20706 Tópicos em Física Estatística: redes e dinâmica de epidemias]]=== &lt;br /&gt;
&lt;br /&gt;
===[[Introdução a Sistemas Dinâmicos]]===&lt;br /&gt;
&lt;br /&gt;
===[[Dinâmica Molecular]]===&lt;br /&gt;
&lt;br /&gt;
===[[Monte Carlo]]===&lt;br /&gt;
&lt;br /&gt;
===[[FIS01183 - Física III-C]]===&lt;br /&gt;
&lt;br /&gt;
===Texto de Apoio ao Ensino de Física===&lt;br /&gt;
&lt;br /&gt;
* [[Ondas]]&lt;br /&gt;
 &lt;br /&gt;
* [[Raio X]]&lt;br /&gt;
&lt;br /&gt;
===[[Applets]]===&lt;br /&gt;
&lt;br /&gt;
===[[Dicas para apresentações]]===&lt;br /&gt;
&lt;br /&gt;
===[[Julia]]===&lt;br /&gt;
&lt;br /&gt;
==Linux Forum==&lt;br /&gt;
&lt;br /&gt;
====Hardware====&lt;br /&gt;
&lt;br /&gt;
* [[Touchpad (Synaptic/ALPS)]]&lt;br /&gt;
&lt;br /&gt;
* [[Impressoras multifuncionais]]: instalando o scanner&lt;br /&gt;
&lt;br /&gt;
* [[linux &amp;amp; vaio sz]]&lt;br /&gt;
&lt;br /&gt;
====Software====&lt;br /&gt;
&lt;br /&gt;
* [[instalação de linux basica pela rede]]: procedimento&lt;br /&gt;
&lt;br /&gt;
* [[Reinstalando todos os pacotes de instalação antiga]]&lt;br /&gt;
&lt;br /&gt;
* [[sources.list]]: configurando automaticamente&lt;br /&gt;
&lt;br /&gt;
* [[kubuntu]]: como configurar senha de root&lt;br /&gt;
&lt;br /&gt;
* f90 da Intel: [[upgrade para Edgy]]&lt;br /&gt;
&lt;br /&gt;
* [[32 bits rodando em 64]]: como configurar&lt;br /&gt;
&lt;br /&gt;
* [[thunderbird &amp;amp; firefox]]: como escolher o navegador que abre os links do thunderbird&lt;br /&gt;
&lt;br /&gt;
* [[thunderbird]]: instalando dicionários &lt;br /&gt;
&lt;br /&gt;
* [[XFig]]: truques&lt;br /&gt;
&lt;br /&gt;
* [[pdf]]&lt;br /&gt;
&lt;br /&gt;
* [[latex, emacs, UTF-8 e acentos]]&lt;br /&gt;
&lt;br /&gt;
* [[c cedilha no Ubuntu]]&lt;br /&gt;
&lt;br /&gt;
* [[sincronizar estação]]&lt;br /&gt;
&lt;br /&gt;
* [[colocar legendas num video]]&lt;br /&gt;
&lt;br /&gt;
== Mix ==&lt;br /&gt;
&lt;br /&gt;
[[Distribuição Docente 2007]].&lt;br /&gt;
&lt;br /&gt;
== Consulta (wiki) ==&lt;br /&gt;
* [[mysql]]&lt;br /&gt;
* [http://meta.wikimedia.org/wiki/Setting_user_rights_in_MediaWiki Dando privilégio de Administrador (sysop ou OpSys) para um usuário]&lt;br /&gt;
* [[Mudando o titulo da página principal (mainpage)]]&lt;br /&gt;
* [[Modificando a barra de navegação (navigation bar)]]&lt;br /&gt;
* [http://meta.wikimedia.org/wiki/Page_access_restriction_with_MediaWiki#Get_the_patch Restringindo páginas]&lt;br /&gt;
* [[Fórmulas]] e [http://meta.wikimedia.org/wiki/Help:Table tabelas]&lt;br /&gt;
* [http://isaacnewton.princeton.edu/index.php/MediaWiki:Color_Names As cores do mediawiki]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Wikipedia:Extended_image_syntax#Location Imágens (avanzado)]&lt;br /&gt;
* [http://meta.wikimedia.org/wiki/Layout_customization Customization]&lt;br /&gt;
* [[Backup de servidor wiki]]&lt;br /&gt;
* [http://meta.wikimedia.org/wiki/Help:Upgrading_MediaWiki Upgrade do mediawiki]&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Help:Configuration_settings Configuration settings list]&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Help:FAQ MediaWiki FAQ]&lt;br /&gt;
* [http://mail.wikipedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]&lt;br /&gt;
* [http://meta.wikimedia.org/wiki/Gnuplot Extensão para Gnuplot]&lt;br /&gt;
* [[Moodle]]&lt;br /&gt;
* [[mediawiki: dicas]]&lt;br /&gt;
&lt;br /&gt;
== Novidades ==&lt;br /&gt;
&lt;br /&gt;
Adicionado suporte para Gnuplot (veja [[Espaço dos alunos]] )&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Não mexer o que segue, do not touch below --&amp;gt;&lt;br /&gt;
&amp;lt;!-- linha para Google analytics, ponerla en cada pagina que quiero monitorar --&amp;gt;&lt;br /&gt;
&amp;lt;analytics uacct=&amp;quot;UA-379257-2&amp;quot;&amp;gt;&amp;lt;/analytics&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;--&#039;&#039;&#039;MediaWiki instalado com sucesso.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Consulte o [http://meta.wikimedia.org/wiki/Help:Contents Manual de Usuário] para informações de como usar o software wiki.&lt;br /&gt;
&lt;br /&gt;
== Começando ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Manual:Configuration_settings Lista de opções de configuração]&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Manual:FAQ FAQ do MediaWiki]&lt;br /&gt;
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Lista de discussão com avisos de novas versões do MediaWiki]&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=P%C3%AAndulos_Estoc%C3%A1sticos&amp;diff=10693</id>
		<title>Pêndulos Estocásticos</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=P%C3%AAndulos_Estoc%C3%A1sticos&amp;diff=10693"/>
		<updated>2024-08-21T02:20:20Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: /* Pêndulo invertido */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Grupo :&#039;&#039;&#039; Gustavo H. Guesser, Joshua L. Kipper, Marcos Pasa.&lt;br /&gt;
&lt;br /&gt;
== Pêndulo Simples ==&lt;br /&gt;
===Equação de movimento===&lt;br /&gt;
Primeiramente vamos inserir ruído em um pêndulo simples, que é constituído de uma barra de comprimento &amp;lt;math&amp;gt;l&amp;lt;/math&amp;gt;, sem massa e rígida que contém uma massa &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; pontual em sua ponta, conforme ilustrado na figura a seguir.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Pendulo_simples.png|thumb|upright=2|center|Esquema de um pêndulo simples em um campo gravitacional constante.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando que o pêndulo está sob o efeito da gravidade e se encontra submerso em um fluido viscoso (como o ar), tal que a força de resistência que atua na massa é &amp;lt;math&amp;gt;-2b\vec v&amp;lt;/math&amp;gt;, a equação de movimento é dada por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta(t) = -\frac{2b}{m}\dot \theta - \frac{g}{l}sen(\theta) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos supor que existe uma força ruidosa atuando em &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt;, tal que sua componente tangencial (&amp;lt;math&amp;gt;F_{r}(t)&amp;lt;/math&amp;gt;) pode ser modelada por um ruído branco gaussiano &amp;lt;math&amp;gt;\xi(t)&amp;lt;/math&amp;gt; da seguinte forma&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_r(t) = m \alpha \xi(t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; é a intensidade do ruído. &amp;lt;math&amp;gt;\xi(t)&amp;lt;/math&amp;gt; é caracterizado pelas seguintes propriedades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\langle \xi(t) \rangle = 0,~~ \langle \xi(t_2)\xi(t_1) \rangle = \delta(t_2 -t_1)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adicionando essa nova força nas equações de movimento, ficamos com&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta(t) = -\frac{2b}{m}\dot \theta - \frac{g}{l}sen(\theta) + \frac{\alpha}{l}\xi(t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A partir de agora, por questão de simplicidade, vamos supor que &amp;lt;math&amp;gt;g = l = 1 &amp;lt;/math&amp;gt;, então&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta(t) = -2b\dot \theta - sen(\theta) + \alpha\xi(t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Método de integração===&lt;br /&gt;
Vamos montar um métodos para integrar o sistema no tempo. Primeiramente vamos dividir a equação em duas equações diferencias de primeira ordem, introduzindo a variável &amp;lt;math&amp;gt;\omega := \dot \theta &amp;lt;/math&amp;gt;, então ficamos com o seguinte sistema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\dot \theta &amp;amp;= \omega \\&lt;br /&gt;
\dot \omega &amp;amp;= -2b \omega - sen(\theta) + \alpha\xi(t)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que pode ser escrito na forma diferencial&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
d\theta &amp;amp;= \omega dt \\&lt;br /&gt;
d\omega &amp;amp;= (-2b \omega - sen(\theta))dt + \alpha\xi(t)dt&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mas &amp;lt;math&amp;gt;\xi(t)dt&amp;lt;/math&amp;gt; é o incremento do processo de Wiener (&amp;lt;math&amp;gt;W(t) = \int_0^t \xi(t&#039;)dt&#039; &amp;lt;/math&amp;gt;), então &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
d\theta &amp;amp;= \omega dt \\&lt;br /&gt;
d\omega &amp;amp;= (-2b\omega - sen(\theta))dt + \alpha dW(t)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Discretizando o tempo e lembrando que a densidade de probabilidade de transição de &amp;lt;math&amp;gt;W(t)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;W(t+\Delta t)&amp;lt;/math&amp;gt; tem desvio padrão igual a &amp;lt;math&amp;gt;\sqrt{\Delta t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\theta_{j+1} &amp;amp;= \theta_{j} + \omega_j \Delta t \\&lt;br /&gt;
\omega_{j+1} &amp;amp;= \omega_{j} + (-2b \omega_j - sen(\theta_j))\Delta t + \alpha {R_G}_j \sqrt{\Delta t}&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;R_G&amp;lt;/math&amp;gt; é uma amostra de uma distribuição gaussiana com média 0 e variância 1, e o método de Euler foi utilizado para a parte determinística da equação. &lt;br /&gt;
&lt;br /&gt;
Nas próximas seções será analisado a energia do sistema, e como o método de Euler não é muito bom para preservar a energia de sistemas conservativos, será utilizado o método preditor corretor (com adição do método de Heun para &amp;lt;math&amp;gt; \theta &amp;lt;/math&amp;gt;) para a parte determinística da equação, que consiste nos seguintes passos:&lt;br /&gt;
&lt;br /&gt;
* Calcular um theta intermediário:&lt;br /&gt;
    &amp;lt;math&amp;gt; \theta^{(2)}_{j+1} = \theta_j + \omega_j \Delta t &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Com &amp;lt;math&amp;gt; \theta^{(2)}_{j+1} &amp;lt;/math&amp;gt; calcular um theta médio e utilizá-lo para obter um omega intermediário:&lt;br /&gt;
    &amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\bar \theta_j &amp;amp;= \frac{\theta^{(2)}_{j+1} + \theta_j}{2} \\&lt;br /&gt;
\omega^{(2)}_{j+1} &amp;amp;= \omega_j + f(\bar \theta_j, \omega_j, {R_G}_j)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
:Em que &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; é a expressão do método de Euler visto logo acima.&lt;br /&gt;
&lt;br /&gt;
* Recalcular theta utilizando um omega intermediário&lt;br /&gt;
    &amp;lt;math&amp;gt; \begin{aligned}&lt;br /&gt;
\bar \omega_j &amp;amp;= \frac{\omega^{(2)}_{j+1} + \omega_j}{2} \\&lt;br /&gt;
\theta_{j+1} &amp;amp;= \theta_j + \bar \omega_j \Delta t &lt;br /&gt;
\end{aligned} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Recalcular omega com um theta intermediário atualizado&lt;br /&gt;
    &amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\bar \theta^{(2)}_j &amp;amp;= \frac{\theta_{j+1} + \theta_j}{2} \\&lt;br /&gt;
\omega_{j+1} &amp;amp;= \omega_j + f(\bar \theta^{(2)}_j, \bar \omega_j, {R_G}_j)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
:OBS: No cálculo de &amp;lt;math&amp;gt;\omega^{(2)}_{j+1}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\omega_{j+1}&amp;lt;/math&amp;gt; foi utilizado o mesmo &amp;lt;math&amp;gt;{R_G}_j&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Energia (Sem amortecimento)===&lt;br /&gt;
Logo após terminar a implementação do método numérico, rapidamente notamos que a adição do ruído aumento a energia mecânica do pêndulo (&amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt;), vamos explorar esse fenômeno, sempre utilizando &amp;lt;math&amp;gt;\beta = 0&amp;lt;/math&amp;gt;. Para ilustrar esse efeito, segue uma animação do pêndulo partindo do repouso na configuração de equilíbrio estável (&amp;lt;math&amp;gt;\theta(0) = 0,~ \omega(0)=0&amp;lt;/math&amp;gt;) com &amp;lt;math&amp;gt;\alpha = 0.1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Energy_demo.gif|frame|center|Pêndulo partindo do repouso com ruído.]]&lt;br /&gt;
&lt;br /&gt;
Para realizar uma exploração quantitativa, o seguinte procedimento foi feito para vários valores de &amp;lt;math&amp;gt; \alpha &amp;lt;/math&amp;gt;:&lt;br /&gt;
* Utilizando &amp;lt;math&amp;gt;\Delta t = 0.01&amp;lt;/math&amp;gt;, integrar o sistema até &amp;lt;math&amp;gt;t_f = 100&amp;lt;/math&amp;gt;, calculando e armazenando a energia em cada passo temporal. Repetir essa integração 700 vezes para fazer médias temporais. Como exemplo, segue os dados obtidos da energia em função do tempo (com a média temporal feita) para um determinado &amp;lt;math&amp;gt; \alpha &amp;lt;/math&amp;gt; utilizado&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Energy_example.png|thumb|upright=2|center|Energia média em função tempo.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:O gráfico nos indica que o ruído gera uma potência média sobre o pêndulo.&lt;br /&gt;
&lt;br /&gt;
* Realizar um ajuste linear nos dados &amp;lt;math&amp;gt;\langle E \rangle_t \times t&amp;lt;/math&amp;gt; para obter o coeficiente angular, que corresponde a potência média gerada pelo ruído (&amp;lt;math&amp;gt;\bar P&amp;lt;/math&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Com as simulações executadas, foi realizado o gráfico &amp;lt;math&amp;gt;\bar P \times \alpha&amp;lt;/math&amp;gt;. Notamos que os dados se alinham em linha reta com os eixos em escala logarítmica, ou seja, os mesmos seguem uma lei de potência &amp;lt;math&amp;gt;\bar P = ae^{b \alpha}&amp;lt;/math&amp;gt;), então foi realizado outro ajuste linear para encontra o expoente &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, a figura a seguir ilustra os dados e os resultados do ajuste:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Power.png|frame|center|Potência em função do ruído (&amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;). O painel da esquerda possui eixos em escala linear e o da direita em escala logarítmica.]]&lt;br /&gt;
&lt;br /&gt;
Portanto, &amp;lt;math&amp;gt;\bar P&amp;lt;/math&amp;gt; aumenta, aproximadamente, de forma quadrática com &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;. Por fim, gostaríamos de mostrar que mesmo para &amp;lt;math&amp;gt; \alpha&amp;lt;/math&amp;gt; muito pequeno, ainda existe energia sendo injetada no sistema com taxa constante, e isso não é um artefato da simulação. Para tal, foram realizadas 700 simulações com &amp;lt;math&amp;gt;\alpha=5\cdot10^{-4}&amp;lt;/math&amp;gt; e os resultados foram comparados com &amp;lt;math&amp;gt; \alpha = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Test_low_alpha.png|frame|center|Energia média para &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; muito pequeno comparado com &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; nulo.]]&lt;br /&gt;
&lt;br /&gt;
===Energia (Com amortecimento)===&lt;br /&gt;
Até o momento, o amortecimento foi negligenciado. Vamos, então, introduzi-lo e rodar várias simulações (700, neste caso) e observar como a média temporal da energia evolui ao longo do tempo, assim como foi feita na seção anterior. Utilizando &amp;lt;math&amp;gt;\beta =0.1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\alpha = 0.485&amp;lt;/math&amp;gt; foi obtido o seguinte resultado&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Energy_beta_example.png|frame|center|Energia mecânica média em função do tempo com amortecimento.]]&lt;br /&gt;
&lt;br /&gt;
claramente o comportamento neste caso é diferente do observado sem amortecimento, agora a anergia aumenta até um certo valor e permanecenele. Para explorar este novo fenômeno, os seguintes passos foram feitos para cada valor de &amp;lt;math&amp;gt;\beta = 0.01, 0.1, 0.2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Para diversos valores de &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;, executar 700 simulações até a energia estabilizar, salvando a média da energia entre as simulações.&lt;br /&gt;
* Para cada conjunto de dados gerados por um determinado &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;, selecionar um intervalo de tempo onde a energia está estabilizada e calcular a sua média (&amp;lt;math&amp;gt;\langle E \rangle&amp;lt;/math&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Produzindo o gráfico de &amp;lt;math&amp;gt;\langle E \rangle \times \alpha&amp;lt;/math&amp;gt; obtemos&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Power_beta_mosaic.png|frame|center|Energia estabilizada média em função de &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; para diferentes valores de amortecimento. Os painéis da esquerda possui eixos em escala linear e os da direita em escala logarítmica.]]&lt;br /&gt;
&lt;br /&gt;
as linhas vermelhas são os melhores ajustas de leis de potência na forma &amp;lt;math&amp;gt;\langle E \rangle = a \alpha^b &amp;lt;/math&amp;gt;. Para &amp;lt;math&amp;gt;\beta=0.1&amp;lt;/math&amp;gt; os dados utilizados no ajuste foram apenas até &amp;lt;math&amp;gt;\alpha = 0.6&amp;lt;/math&amp;gt; (indicado pela reta preta vertical no gráfico), pois após esse limite, a lei de potência deixa de ser um ótimo ajuste. É chamativo o fato de todos os coeficientes, independente de &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt;, serem aproximadamente 2.&lt;br /&gt;
&lt;br /&gt;
== Pêndulo invertido ==&lt;br /&gt;
O próximo pêndulo a ser considerado é um pêndulo invertido, que possui um potencial harmônico em seu ângulo, ou seja, um dos termos de sua energia potential é &amp;lt;math&amp;gt;\frac{k}{2}\theta^2 &amp;lt;/math&amp;gt;, sendo que agora &amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt; é zero quando a haste está apontando para cima, conforme ilustrado na figura a seguir&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Pendulo_invertido.png|thumb|upright=2|center|Esquema do pêndulo invertido com movimento vertical livre na base.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ainda, a base do pêndulo é livre para movimentar-se na direção vertical, é justamente nesse local onde será adicionado uma força ruidosa. A equação de movimento neste caso é&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta = \frac{-2b}{m}\dot \theta + \frac{1}{l}(g + \ddot u)sen(\theta) - \frac{k}{m}\theta&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O primeiro termo vem da resistência do ar, o segunda se origina da gravidade e do deslocamento de &amp;lt;math&amp;gt;u&amp;lt;/math&amp;gt; e o último provém da &amp;quot;mola&amp;quot; em &amp;lt;math&amp;gt;\theta &amp;lt;/math&amp;gt;. Vamos supor que existe um vínculo mantendo a base fixa, mas o local onda o pêndulo é fixado pode ser movimentar de forma aleatória na direção vertical, suponde que tal movimento pode ser modelado por ruído branco gaussiano, segue que &amp;lt;math&amp;gt;\ddot u(t) = \alpha \xi(t)&amp;lt;/math&amp;gt;. Introduzindo a variável &amp;lt;math&amp;gt;\omega := \dot \theta&amp;lt;/math&amp;gt;, ficamos com o seguinte sistemas de equações na forma diferencial&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
d\theta &amp;amp;= \omega dt \\ &lt;br /&gt;
d\omega &amp;amp;= (\frac{-2b}{m}\omega + \frac{g}{l}sen(\theta) - \frac{k}{m}\theta )dt  + sen(\theta) \frac{\alpha}{l}\overbrace{dW(t)}^{\xi(t)dt}&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note que agora o ruído é multiplicativo, em contraste com o ruído aditivo dos pêndulos anteriores, para lidar com esta complicação, no momento da integração vamos utilizar um &amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt; médio no argumento do seno que multiplica &amp;lt;math&amp;gt;dW&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\theta_{j+1} &amp;amp;= \theta_j + \omega_j \Delta t \\&lt;br /&gt;
\bar \theta_j &amp;amp;= (\theta_{j+1} + \theta_{j} ) / 2 \\ &lt;br /&gt;
\omega_{j+1} &amp;amp;= \omega_j + (\frac{-2b}{m}\omega_j + \frac{g}{l}sen(\bar \theta_j) - \frac{k}{m} \bar \theta_j ) \Delta t  + sen(\bar \theta_j) \frac{\alpha}{l} {R_G}_j \sqrt{\Delta t}&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esse tipo de pêndulo é de grande interesse em algumas áreas, como na engenharia estrutural, pois uma coluna comprimida pode ser modelada como um pêndulo invertido com uma mola na base, o ruído da base pode representar um terremoto. &lt;br /&gt;
&lt;br /&gt;
Uma questão interessante neste modelo é sobre a estabilidade da configuração &amp;lt;math&amp;gt;\theta_0 = \omega_0 = 0 &amp;lt;/math&amp;gt; quando é adicionado ruído e amortecimento. Se &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; é grande o suficiente, sem ruído, o equilíbrio é estável, mas é possível sair dessa configuração adicionando ruído, cujo valor limite vai depender do amortecimento. Podemos demostrar isso integrando o sistema, partindo da condição inicial &amp;lt;math&amp;gt;\theta_0 = 10^{-4}, \omega_0 = 0 &amp;lt;/math&amp;gt;, com valores de &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; muito próximos:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Inverted_no_exploded.png|upright=2|left|Esquema do pêndulo invertido com movimento vertical livre na base.]] [[Arquivo:Inverted_exploded.png|upright=2|right|Esquema do pêndulo invertido com movimento vertical livre na base.]]&lt;br /&gt;
&lt;br /&gt;
os seguintes valores foram utilzados&lt;br /&gt;
&lt;br /&gt;
* g = l = 1&lt;br /&gt;
* k = 1.1&lt;br /&gt;
&lt;br /&gt;
No gráfico da esquerda, o ângulo oscilou um pouco e permaneceu em 0, já no outro, eventualmente, o ângulo explodiu. Abaixo segue uma animação dessa situação, mas com &amp;lt;math&amp;gt;\alpha=1&amp;lt;/math&amp;gt; para o pêndulo sair do equilíbrio mais rápido&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Inverted_going_crazy.gif|frame|center|Pêndulo invertido partindo do equilíbrio com ruído.]]&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Inverted_going_crazy.gif&amp;diff=10692</id>
		<title>Arquivo:Inverted going crazy.gif</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Inverted_going_crazy.gif&amp;diff=10692"/>
		<updated>2024-08-21T02:16:33Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=P%C3%AAndulos_Estoc%C3%A1sticos&amp;diff=10691</id>
		<title>Pêndulos Estocásticos</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=P%C3%AAndulos_Estoc%C3%A1sticos&amp;diff=10691"/>
		<updated>2024-08-21T02:14:22Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: /* Equação de movimento */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Grupo :&#039;&#039;&#039; Gustavo H. Guesser, Joshua L. Kipper, Marcos Pasa.&lt;br /&gt;
&lt;br /&gt;
== Pêndulo Simples ==&lt;br /&gt;
===Equação de movimento===&lt;br /&gt;
Primeiramente vamos inserir ruído em um pêndulo simples, que é constituído de uma barra de comprimento &amp;lt;math&amp;gt;l&amp;lt;/math&amp;gt;, sem massa e rígida que contém uma massa &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; pontual em sua ponta, conforme ilustrado na figura a seguir.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Pendulo_simples.png|thumb|upright=2|center|Esquema de um pêndulo simples em um campo gravitacional constante.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando que o pêndulo está sob o efeito da gravidade e se encontra submerso em um fluido viscoso (como o ar), tal que a força de resistência que atua na massa é &amp;lt;math&amp;gt;-2b\vec v&amp;lt;/math&amp;gt;, a equação de movimento é dada por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta(t) = -\frac{2b}{m}\dot \theta - \frac{g}{l}sen(\theta) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos supor que existe uma força ruidosa atuando em &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt;, tal que sua componente tangencial (&amp;lt;math&amp;gt;F_{r}(t)&amp;lt;/math&amp;gt;) pode ser modelada por um ruído branco gaussiano &amp;lt;math&amp;gt;\xi(t)&amp;lt;/math&amp;gt; da seguinte forma&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_r(t) = m \alpha \xi(t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; é a intensidade do ruído. &amp;lt;math&amp;gt;\xi(t)&amp;lt;/math&amp;gt; é caracterizado pelas seguintes propriedades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\langle \xi(t) \rangle = 0,~~ \langle \xi(t_2)\xi(t_1) \rangle = \delta(t_2 -t_1)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adicionando essa nova força nas equações de movimento, ficamos com&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta(t) = -\frac{2b}{m}\dot \theta - \frac{g}{l}sen(\theta) + \frac{\alpha}{l}\xi(t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A partir de agora, por questão de simplicidade, vamos supor que &amp;lt;math&amp;gt;g = l = 1 &amp;lt;/math&amp;gt;, então&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta(t) = -2b\dot \theta - sen(\theta) + \alpha\xi(t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Método de integração===&lt;br /&gt;
Vamos montar um métodos para integrar o sistema no tempo. Primeiramente vamos dividir a equação em duas equações diferencias de primeira ordem, introduzindo a variável &amp;lt;math&amp;gt;\omega := \dot \theta &amp;lt;/math&amp;gt;, então ficamos com o seguinte sistema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\dot \theta &amp;amp;= \omega \\&lt;br /&gt;
\dot \omega &amp;amp;= -2b \omega - sen(\theta) + \alpha\xi(t)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que pode ser escrito na forma diferencial&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
d\theta &amp;amp;= \omega dt \\&lt;br /&gt;
d\omega &amp;amp;= (-2b \omega - sen(\theta))dt + \alpha\xi(t)dt&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mas &amp;lt;math&amp;gt;\xi(t)dt&amp;lt;/math&amp;gt; é o incremento do processo de Wiener (&amp;lt;math&amp;gt;W(t) = \int_0^t \xi(t&#039;)dt&#039; &amp;lt;/math&amp;gt;), então &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
d\theta &amp;amp;= \omega dt \\&lt;br /&gt;
d\omega &amp;amp;= (-2b\omega - sen(\theta))dt + \alpha dW(t)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Discretizando o tempo e lembrando que a densidade de probabilidade de transição de &amp;lt;math&amp;gt;W(t)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;W(t+\Delta t)&amp;lt;/math&amp;gt; tem desvio padrão igual a &amp;lt;math&amp;gt;\sqrt{\Delta t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\theta_{j+1} &amp;amp;= \theta_{j} + \omega_j \Delta t \\&lt;br /&gt;
\omega_{j+1} &amp;amp;= \omega_{j} + (-2b \omega_j - sen(\theta_j))\Delta t + \alpha {R_G}_j \sqrt{\Delta t}&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;R_G&amp;lt;/math&amp;gt; é uma amostra de uma distribuição gaussiana com média 0 e variância 1, e o método de Euler foi utilizado para a parte determinística da equação. &lt;br /&gt;
&lt;br /&gt;
Nas próximas seções será analisado a energia do sistema, e como o método de Euler não é muito bom para preservar a energia de sistemas conservativos, será utilizado o método preditor corretor (com adição do método de Heun para &amp;lt;math&amp;gt; \theta &amp;lt;/math&amp;gt;) para a parte determinística da equação, que consiste nos seguintes passos:&lt;br /&gt;
&lt;br /&gt;
* Calcular um theta intermediário:&lt;br /&gt;
    &amp;lt;math&amp;gt; \theta^{(2)}_{j+1} = \theta_j + \omega_j \Delta t &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Com &amp;lt;math&amp;gt; \theta^{(2)}_{j+1} &amp;lt;/math&amp;gt; calcular um theta médio e utilizá-lo para obter um omega intermediário:&lt;br /&gt;
    &amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\bar \theta_j &amp;amp;= \frac{\theta^{(2)}_{j+1} + \theta_j}{2} \\&lt;br /&gt;
\omega^{(2)}_{j+1} &amp;amp;= \omega_j + f(\bar \theta_j, \omega_j, {R_G}_j)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
:Em que &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; é a expressão do método de Euler visto logo acima.&lt;br /&gt;
&lt;br /&gt;
* Recalcular theta utilizando um omega intermediário&lt;br /&gt;
    &amp;lt;math&amp;gt; \begin{aligned}&lt;br /&gt;
\bar \omega_j &amp;amp;= \frac{\omega^{(2)}_{j+1} + \omega_j}{2} \\&lt;br /&gt;
\theta_{j+1} &amp;amp;= \theta_j + \bar \omega_j \Delta t &lt;br /&gt;
\end{aligned} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Recalcular omega com um theta intermediário atualizado&lt;br /&gt;
    &amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\bar \theta^{(2)}_j &amp;amp;= \frac{\theta_{j+1} + \theta_j}{2} \\&lt;br /&gt;
\omega_{j+1} &amp;amp;= \omega_j + f(\bar \theta^{(2)}_j, \bar \omega_j, {R_G}_j)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
:OBS: No cálculo de &amp;lt;math&amp;gt;\omega^{(2)}_{j+1}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\omega_{j+1}&amp;lt;/math&amp;gt; foi utilizado o mesmo &amp;lt;math&amp;gt;{R_G}_j&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Energia (Sem amortecimento)===&lt;br /&gt;
Logo após terminar a implementação do método numérico, rapidamente notamos que a adição do ruído aumento a energia mecânica do pêndulo (&amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt;), vamos explorar esse fenômeno, sempre utilizando &amp;lt;math&amp;gt;\beta = 0&amp;lt;/math&amp;gt;. Para ilustrar esse efeito, segue uma animação do pêndulo partindo do repouso na configuração de equilíbrio estável (&amp;lt;math&amp;gt;\theta(0) = 0,~ \omega(0)=0&amp;lt;/math&amp;gt;) com &amp;lt;math&amp;gt;\alpha = 0.1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Energy_demo.gif|frame|center|Pêndulo partindo do repouso com ruído.]]&lt;br /&gt;
&lt;br /&gt;
Para realizar uma exploração quantitativa, o seguinte procedimento foi feito para vários valores de &amp;lt;math&amp;gt; \alpha &amp;lt;/math&amp;gt;:&lt;br /&gt;
* Utilizando &amp;lt;math&amp;gt;\Delta t = 0.01&amp;lt;/math&amp;gt;, integrar o sistema até &amp;lt;math&amp;gt;t_f = 100&amp;lt;/math&amp;gt;, calculando e armazenando a energia em cada passo temporal. Repetir essa integração 700 vezes para fazer médias temporais. Como exemplo, segue os dados obtidos da energia em função do tempo (com a média temporal feita) para um determinado &amp;lt;math&amp;gt; \alpha &amp;lt;/math&amp;gt; utilizado&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Energy_example.png|thumb|upright=2|center|Energia média em função tempo.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:O gráfico nos indica que o ruído gera uma potência média sobre o pêndulo.&lt;br /&gt;
&lt;br /&gt;
* Realizar um ajuste linear nos dados &amp;lt;math&amp;gt;\langle E \rangle_t \times t&amp;lt;/math&amp;gt; para obter o coeficiente angular, que corresponde a potência média gerada pelo ruído (&amp;lt;math&amp;gt;\bar P&amp;lt;/math&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Com as simulações executadas, foi realizado o gráfico &amp;lt;math&amp;gt;\bar P \times \alpha&amp;lt;/math&amp;gt;. Notamos que os dados se alinham em linha reta com os eixos em escala logarítmica, ou seja, os mesmos seguem uma lei de potência &amp;lt;math&amp;gt;\bar P = ae^{b \alpha}&amp;lt;/math&amp;gt;), então foi realizado outro ajuste linear para encontra o expoente &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, a figura a seguir ilustra os dados e os resultados do ajuste:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Power.png|frame|center|Potência em função do ruído (&amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;). O painel da esquerda possui eixos em escala linear e o da direita em escala logarítmica.]]&lt;br /&gt;
&lt;br /&gt;
Portanto, &amp;lt;math&amp;gt;\bar P&amp;lt;/math&amp;gt; aumenta, aproximadamente, de forma quadrática com &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;. Por fim, gostaríamos de mostrar que mesmo para &amp;lt;math&amp;gt; \alpha&amp;lt;/math&amp;gt; muito pequeno, ainda existe energia sendo injetada no sistema com taxa constante, e isso não é um artefato da simulação. Para tal, foram realizadas 700 simulações com &amp;lt;math&amp;gt;\alpha=5\cdot10^{-4}&amp;lt;/math&amp;gt; e os resultados foram comparados com &amp;lt;math&amp;gt; \alpha = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Test_low_alpha.png|frame|center|Energia média para &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; muito pequeno comparado com &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; nulo.]]&lt;br /&gt;
&lt;br /&gt;
===Energia (Com amortecimento)===&lt;br /&gt;
Até o momento, o amortecimento foi negligenciado. Vamos, então, introduzi-lo e rodar várias simulações (700, neste caso) e observar como a média temporal da energia evolui ao longo do tempo, assim como foi feita na seção anterior. Utilizando &amp;lt;math&amp;gt;\beta =0.1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\alpha = 0.485&amp;lt;/math&amp;gt; foi obtido o seguinte resultado&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Energy_beta_example.png|frame|center|Energia mecânica média em função do tempo com amortecimento.]]&lt;br /&gt;
&lt;br /&gt;
claramente o comportamento neste caso é diferente do observado sem amortecimento, agora a anergia aumenta até um certo valor e permanecenele. Para explorar este novo fenômeno, os seguintes passos foram feitos para cada valor de &amp;lt;math&amp;gt;\beta = 0.01, 0.1, 0.2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Para diversos valores de &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;, executar 700 simulações até a energia estabilizar, salvando a média da energia entre as simulações.&lt;br /&gt;
* Para cada conjunto de dados gerados por um determinado &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;, selecionar um intervalo de tempo onde a energia está estabilizada e calcular a sua média (&amp;lt;math&amp;gt;\langle E \rangle&amp;lt;/math&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Produzindo o gráfico de &amp;lt;math&amp;gt;\langle E \rangle \times \alpha&amp;lt;/math&amp;gt; obtemos&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Power_beta_mosaic.png|frame|center|Energia estabilizada média em função de &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; para diferentes valores de amortecimento. Os painéis da esquerda possui eixos em escala linear e os da direita em escala logarítmica.]]&lt;br /&gt;
&lt;br /&gt;
as linhas vermelhas são os melhores ajustas de leis de potência na forma &amp;lt;math&amp;gt;\langle E \rangle = a \alpha^b &amp;lt;/math&amp;gt;. Para &amp;lt;math&amp;gt;\beta=0.1&amp;lt;/math&amp;gt; os dados utilizados no ajuste foram apenas até &amp;lt;math&amp;gt;\alpha = 0.6&amp;lt;/math&amp;gt; (indicado pela reta preta vertical no gráfico), pois após esse limite, a lei de potência deixa de ser um ótimo ajuste. É chamativo o fato de todos os coeficientes, independente de &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt;, serem aproximadamente 2.&lt;br /&gt;
&lt;br /&gt;
== Pêndulo invertido ==&lt;br /&gt;
O próximo pêndulo a ser considerado é um pêndulo invertido, que possui um potencial harmônico em seu ângulo, ou seja, um dos termos de sua energia potential é &amp;lt;math&amp;gt;\frac{k}{2}\theta^2 &amp;lt;/math&amp;gt;, sendo que agora &amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt; é zero quando a haste está apontando para cima, conforme ilustrado na figura a seguir&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Pendulo_invertido.png|thumb|upright=2|center|Esquema do pêndulo invertido com movimento vertical livre na base.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ainda, a base do pêndulo é livre para movimentar-se na direção vertical, é justamente nesse local onde será adicionado uma força ruidosa. A equação de movimento neste caso é&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta = \frac{-2b}{m}\dot \theta + \frac{1}{l}(g + \ddot u)sen(\theta) - \frac{k}{m}\theta&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O primeiro termo vem da resistência do ar, o segunda se origina da gravidade e do deslocamento de &amp;lt;math&amp;gt;u&amp;lt;/math&amp;gt; e o último provém da &amp;quot;mola&amp;quot; em &amp;lt;math&amp;gt;\theta &amp;lt;/math&amp;gt;. Vamos supor que existe um vínculo mantendo a base fixa, mas o local onda o pêndulo é fixado pode ser movimentar de forma aleatória na direção vertical, suponde que tal movimento pode ser modelado por ruído branco gaussiano, segue que &amp;lt;math&amp;gt;\ddot u(t) = \alpha \xi(t)&amp;lt;/math&amp;gt;. Introduzindo a variável &amp;lt;math&amp;gt;\omega := \dot \theta&amp;lt;/math&amp;gt;, ficamos com o seguinte sistemas de equações na forma diferencial&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
d\theta &amp;amp;= \omega dt \\ &lt;br /&gt;
d\omega &amp;amp;= (\frac{-2b}{m}\omega + \frac{g}{l}sen(\theta) - \frac{k}{m}\theta )dt  + sen(\theta) \frac{\alpha}{l}\overbrace{dW(t)}^{\xi(t)dt}&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note que agora o ruído é multiplicativo, em contraste com o ruído aditivo dos pêndulos anteriores, para lidar com esta complicação, no momento da integração vamos utilizar um &amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt; médio no argumento do seno que multiplica &amp;lt;math&amp;gt;dW&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\theta_{j+1} &amp;amp;= \theta_j + \omega_j \Delta t \\&lt;br /&gt;
\bar \theta_j &amp;amp;= (\theta_{j+1} + \theta_{j} ) / 2 \\ &lt;br /&gt;
\omega_{j+1} &amp;amp;= \omega_j + (\frac{-2b}{m}\omega_j + \frac{g}{l}sen(\bar \theta_j) - \frac{k}{m} \bar \theta_j ) \Delta t  + sen(\bar \theta_j) \frac{\alpha}{l} {R_G}_j \sqrt{\Delta t}&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esse tipo de pêndulo é de grande interesse em algumas áreas, como na engenharia estrutural, pois uma coluna comprimida pode ser modelada como um pêndulo invertido com uma mola na base, o ruído da base pode representar um terremoto. &lt;br /&gt;
&lt;br /&gt;
Uma questão interessante neste modelo é sobre a estabilidade da configuração &amp;lt;math&amp;gt;\theta_0 = \omega_0 = 0 &amp;lt;/math&amp;gt; quando é adicionado ruído e amortecimento. Se &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; é grande o suficiente, sem ruído, o equilíbrio é estável, mas é possível sair dessa configuração adicionando ruído, cujo valor limite vai depender do amortecimento. Podemos demostrar isso integrando o sistema, partindo da condição inicial &amp;lt;math&amp;gt;\theta_0 = 10^{-4}, \omega_0 = 0 &amp;lt;/math&amp;gt;, com valores de &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; muito próximos:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Inverted_no_exploded.png|upright=2|left|Esquema do pêndulo invertido com movimento vertical livre na base.]] [[Arquivo:Inverted_exploded.png|upright=2|right|Esquema do pêndulo invertido com movimento vertical livre na base.]]&lt;br /&gt;
&lt;br /&gt;
os seguintes valores foram utilzados&lt;br /&gt;
&lt;br /&gt;
* g = l = 1&lt;br /&gt;
* k = 1.1&lt;br /&gt;
&lt;br /&gt;
No gráfico da esquerda, o ângulo oscilou um pouco e permaneceu em 0, já no outro, eventualmente, o ângulo explodiu. Abaixo segue uma animação dessa situação, mas com &amp;lt;math&amp;gt;\alpha=1&amp;lt;/math&amp;gt; para o pêndulo sair do equilíbrio mais rápido&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=P%C3%AAndulos_Estoc%C3%A1sticos&amp;diff=10690</id>
		<title>Pêndulos Estocásticos</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=P%C3%AAndulos_Estoc%C3%A1sticos&amp;diff=10690"/>
		<updated>2024-08-21T02:11:40Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: /* Pêndulo invertido */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Grupo :&#039;&#039;&#039; Gustavo H. Guesser, Joshua L. Kipper, Marcos Pasa.&lt;br /&gt;
&lt;br /&gt;
== Pêndulo Simples ==&lt;br /&gt;
===Equação de movimento===&lt;br /&gt;
Primeiramente vamos inserir ruído em um pêndulo simples, que é constituído de uma barra de comprimento &amp;lt;math&amp;gt;l&amp;lt;/math&amp;gt;, sem massa e rígida que contém uma massa &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; pontual em sua ponta, conforme ilustrado na figura a seguir.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Pendulo_simples.png|thumb|upright=2|center|Esquema de um pêndulo simples em um campo gravitacional constante.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando que o pêndulo está sob o efeito da gravidade e se encontra submerso em um fluido viscoso (como o ar), tal que a força de resistência que atua na massa é &amp;lt;math&amp;gt;-2b\vec v&amp;lt;/math&amp;gt;, a equação de movimento é dada por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta(t) = -\frac{2b}{m}\dot \theta - \frac{g}{l}sen(\theta) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos supor que existe uma força ruidosa atuando em &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;F_r(t)&amp;lt;/math&amp;gt;), que pode ser modelada por um ruído branco gaussiano &amp;lt;math&amp;gt;\xi(t)&amp;lt;/math&amp;gt; da seguinte forma&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_r(t) = m \alpha \xi(t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; é a intensidade do ruído. &amp;lt;math&amp;gt;\xi(t)&amp;lt;/math&amp;gt; é caracterizado pelas seguintes propriedades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\langle \xi(t) \rangle = 0,~~ \langle \xi(t_2)\xi(t_1) \rangle = \delta(t_2 -t_1)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adicionando essa nova força nas equações de movimento, ficamos com&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta(t) = -\frac{2b}{m}\dot \theta - \frac{g}{l}sen(\theta) + \frac{\alpha}{l}\xi(t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A partir de agora, por questão de simplicidade, vamos supor que &amp;lt;math&amp;gt;g = l = 1 &amp;lt;/math&amp;gt;, então&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta(t) = -2b\dot \theta - sen(\theta) + \alpha\xi(t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Método de integração===&lt;br /&gt;
Vamos montar um métodos para integrar o sistema no tempo. Primeiramente vamos dividir a equação em duas equações diferencias de primeira ordem, introduzindo a variável &amp;lt;math&amp;gt;\omega := \dot \theta &amp;lt;/math&amp;gt;, então ficamos com o seguinte sistema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\dot \theta &amp;amp;= \omega \\&lt;br /&gt;
\dot \omega &amp;amp;= -2b \omega - sen(\theta) + \alpha\xi(t)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que pode ser escrito na forma diferencial&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
d\theta &amp;amp;= \omega dt \\&lt;br /&gt;
d\omega &amp;amp;= (-2b \omega - sen(\theta))dt + \alpha\xi(t)dt&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mas &amp;lt;math&amp;gt;\xi(t)dt&amp;lt;/math&amp;gt; é o incremento do processo de Wiener (&amp;lt;math&amp;gt;W(t) = \int_0^t \xi(t&#039;)dt&#039; &amp;lt;/math&amp;gt;), então &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
d\theta &amp;amp;= \omega dt \\&lt;br /&gt;
d\omega &amp;amp;= (-2b\omega - sen(\theta))dt + \alpha dW(t)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Discretizando o tempo e lembrando que a densidade de probabilidade de transição de &amp;lt;math&amp;gt;W(t)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;W(t+\Delta t)&amp;lt;/math&amp;gt; tem desvio padrão igual a &amp;lt;math&amp;gt;\sqrt{\Delta t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\theta_{j+1} &amp;amp;= \theta_{j} + \omega_j \Delta t \\&lt;br /&gt;
\omega_{j+1} &amp;amp;= \omega_{j} + (-2b \omega_j - sen(\theta_j))\Delta t + \alpha {R_G}_j \sqrt{\Delta t}&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;R_G&amp;lt;/math&amp;gt; é uma amostra de uma distribuição gaussiana com média 0 e variância 1, e o método de Euler foi utilizado para a parte determinística da equação. &lt;br /&gt;
&lt;br /&gt;
Nas próximas seções será analisado a energia do sistema, e como o método de Euler não é muito bom para preservar a energia de sistemas conservativos, será utilizado o método preditor corretor (com adição do método de Heun para &amp;lt;math&amp;gt; \theta &amp;lt;/math&amp;gt;) para a parte determinística da equação, que consiste nos seguintes passos:&lt;br /&gt;
&lt;br /&gt;
* Calcular um theta intermediário:&lt;br /&gt;
    &amp;lt;math&amp;gt; \theta^{(2)}_{j+1} = \theta_j + \omega_j \Delta t &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Com &amp;lt;math&amp;gt; \theta^{(2)}_{j+1} &amp;lt;/math&amp;gt; calcular um theta médio e utilizá-lo para obter um omega intermediário:&lt;br /&gt;
    &amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\bar \theta_j &amp;amp;= \frac{\theta^{(2)}_{j+1} + \theta_j}{2} \\&lt;br /&gt;
\omega^{(2)}_{j+1} &amp;amp;= \omega_j + f(\bar \theta_j, \omega_j, {R_G}_j)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
:Em que &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; é a expressão do método de Euler visto logo acima.&lt;br /&gt;
&lt;br /&gt;
* Recalcular theta utilizando um omega intermediário&lt;br /&gt;
    &amp;lt;math&amp;gt; \begin{aligned}&lt;br /&gt;
\bar \omega_j &amp;amp;= \frac{\omega^{(2)}_{j+1} + \omega_j}{2} \\&lt;br /&gt;
\theta_{j+1} &amp;amp;= \theta_j + \bar \omega_j \Delta t &lt;br /&gt;
\end{aligned} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Recalcular omega com um theta intermediário atualizado&lt;br /&gt;
    &amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\bar \theta^{(2)}_j &amp;amp;= \frac{\theta_{j+1} + \theta_j}{2} \\&lt;br /&gt;
\omega_{j+1} &amp;amp;= \omega_j + f(\bar \theta^{(2)}_j, \bar \omega_j, {R_G}_j)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
:OBS: No cálculo de &amp;lt;math&amp;gt;\omega^{(2)}_{j+1}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\omega_{j+1}&amp;lt;/math&amp;gt; foi utilizado o mesmo &amp;lt;math&amp;gt;{R_G}_j&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Energia (Sem amortecimento)===&lt;br /&gt;
Logo após terminar a implementação do método numérico, rapidamente notamos que a adição do ruído aumento a energia mecânica do pêndulo (&amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt;), vamos explorar esse fenômeno, sempre utilizando &amp;lt;math&amp;gt;\beta = 0&amp;lt;/math&amp;gt;. Para ilustrar esse efeito, segue uma animação do pêndulo partindo do repouso na configuração de equilíbrio estável (&amp;lt;math&amp;gt;\theta(0) = 0,~ \omega(0)=0&amp;lt;/math&amp;gt;) com &amp;lt;math&amp;gt;\alpha = 0.1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Energy_demo.gif|frame|center|Pêndulo partindo do repouso com ruído.]]&lt;br /&gt;
&lt;br /&gt;
Para realizar uma exploração quantitativa, o seguinte procedimento foi feito para vários valores de &amp;lt;math&amp;gt; \alpha &amp;lt;/math&amp;gt;:&lt;br /&gt;
* Utilizando &amp;lt;math&amp;gt;\Delta t = 0.01&amp;lt;/math&amp;gt;, integrar o sistema até &amp;lt;math&amp;gt;t_f = 100&amp;lt;/math&amp;gt;, calculando e armazenando a energia em cada passo temporal. Repetir essa integração 700 vezes para fazer médias temporais. Como exemplo, segue os dados obtidos da energia em função do tempo (com a média temporal feita) para um determinado &amp;lt;math&amp;gt; \alpha &amp;lt;/math&amp;gt; utilizado&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Energy_example.png|thumb|upright=2|center|Energia média em função tempo.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:O gráfico nos indica que o ruído gera uma potência média sobre o pêndulo.&lt;br /&gt;
&lt;br /&gt;
* Realizar um ajuste linear nos dados &amp;lt;math&amp;gt;\langle E \rangle_t \times t&amp;lt;/math&amp;gt; para obter o coeficiente angular, que corresponde a potência média gerada pelo ruído (&amp;lt;math&amp;gt;\bar P&amp;lt;/math&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Com as simulações executadas, foi realizado o gráfico &amp;lt;math&amp;gt;\bar P \times \alpha&amp;lt;/math&amp;gt;. Notamos que os dados se alinham em linha reta com os eixos em escala logarítmica, ou seja, os mesmos seguem uma lei de potência &amp;lt;math&amp;gt;\bar P = ae^{b \alpha}&amp;lt;/math&amp;gt;), então foi realizado outro ajuste linear para encontra o expoente &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, a figura a seguir ilustra os dados e os resultados do ajuste:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Power.png|frame|center|Potência em função do ruído (&amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;). O painel da esquerda possui eixos em escala linear e o da direita em escala logarítmica.]]&lt;br /&gt;
&lt;br /&gt;
Portanto, &amp;lt;math&amp;gt;\bar P&amp;lt;/math&amp;gt; aumenta, aproximadamente, de forma quadrática com &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;. Por fim, gostaríamos de mostrar que mesmo para &amp;lt;math&amp;gt; \alpha&amp;lt;/math&amp;gt; muito pequeno, ainda existe energia sendo injetada no sistema com taxa constante, e isso não é um artefato da simulação. Para tal, foram realizadas 700 simulações com &amp;lt;math&amp;gt;\alpha=5\cdot10^{-4}&amp;lt;/math&amp;gt; e os resultados foram comparados com &amp;lt;math&amp;gt; \alpha = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Test_low_alpha.png|frame|center|Energia média para &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; muito pequeno comparado com &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; nulo.]]&lt;br /&gt;
&lt;br /&gt;
===Energia (Com amortecimento)===&lt;br /&gt;
Até o momento, o amortecimento foi negligenciado. Vamos, então, introduzi-lo e rodar várias simulações (700, neste caso) e observar como a média temporal da energia evolui ao longo do tempo, assim como foi feita na seção anterior. Utilizando &amp;lt;math&amp;gt;\beta =0.1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\alpha = 0.485&amp;lt;/math&amp;gt; foi obtido o seguinte resultado&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Energy_beta_example.png|frame|center|Energia mecânica média em função do tempo com amortecimento.]]&lt;br /&gt;
&lt;br /&gt;
claramente o comportamento neste caso é diferente do observado sem amortecimento, agora a anergia aumenta até um certo valor e permanecenele. Para explorar este novo fenômeno, os seguintes passos foram feitos para cada valor de &amp;lt;math&amp;gt;\beta = 0.01, 0.1, 0.2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Para diversos valores de &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;, executar 700 simulações até a energia estabilizar, salvando a média da energia entre as simulações.&lt;br /&gt;
* Para cada conjunto de dados gerados por um determinado &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;, selecionar um intervalo de tempo onde a energia está estabilizada e calcular a sua média (&amp;lt;math&amp;gt;\langle E \rangle&amp;lt;/math&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Produzindo o gráfico de &amp;lt;math&amp;gt;\langle E \rangle \times \alpha&amp;lt;/math&amp;gt; obtemos&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Power_beta_mosaic.png|frame|center|Energia estabilizada média em função de &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; para diferentes valores de amortecimento. Os painéis da esquerda possui eixos em escala linear e os da direita em escala logarítmica.]]&lt;br /&gt;
&lt;br /&gt;
as linhas vermelhas são os melhores ajustas de leis de potência na forma &amp;lt;math&amp;gt;\langle E \rangle = a \alpha^b &amp;lt;/math&amp;gt;. Para &amp;lt;math&amp;gt;\beta=0.1&amp;lt;/math&amp;gt; os dados utilizados no ajuste foram apenas até &amp;lt;math&amp;gt;\alpha = 0.6&amp;lt;/math&amp;gt; (indicado pela reta preta vertical no gráfico), pois após esse limite, a lei de potência deixa de ser um ótimo ajuste. É chamativo o fato de todos os coeficientes, independente de &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt;, serem aproximadamente 2.&lt;br /&gt;
&lt;br /&gt;
== Pêndulo invertido ==&lt;br /&gt;
O próximo pêndulo a ser considerado é um pêndulo invertido, que possui um potencial harmônico em seu ângulo, ou seja, um dos termos de sua energia potential é &amp;lt;math&amp;gt;\frac{k}{2}\theta^2 &amp;lt;/math&amp;gt;, sendo que agora &amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt; é zero quando a haste está apontando para cima, conforme ilustrado na figura a seguir&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Pendulo_invertido.png|thumb|upright=2|center|Esquema do pêndulo invertido com movimento vertical livre na base.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ainda, a base do pêndulo é livre para movimentar-se na direção vertical, é justamente nesse local onde será adicionado uma força ruidosa. A equação de movimento neste caso é&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta = \frac{-2b}{m}\dot \theta + \frac{1}{l}(g + \ddot u)sen(\theta) - \frac{k}{m}\theta&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O primeiro termo vem da resistência do ar, o segunda se origina da gravidade e do deslocamento de &amp;lt;math&amp;gt;u&amp;lt;/math&amp;gt; e o último provém da &amp;quot;mola&amp;quot; em &amp;lt;math&amp;gt;\theta &amp;lt;/math&amp;gt;. Vamos supor que existe um vínculo mantendo a base fixa, mas o local onda o pêndulo é fixado pode ser movimentar de forma aleatória na direção vertical, suponde que tal movimento pode ser modelado por ruído branco gaussiano, segue que &amp;lt;math&amp;gt;\ddot u(t) = \alpha \xi(t)&amp;lt;/math&amp;gt;. Introduzindo a variável &amp;lt;math&amp;gt;\omega := \dot \theta&amp;lt;/math&amp;gt;, ficamos com o seguinte sistemas de equações na forma diferencial&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
d\theta &amp;amp;= \omega dt \\ &lt;br /&gt;
d\omega &amp;amp;= (\frac{-2b}{m}\omega + \frac{g}{l}sen(\theta) - \frac{k}{m}\theta )dt  + sen(\theta) \frac{\alpha}{l}\overbrace{dW(t)}^{\xi(t)dt}&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note que agora o ruído é multiplicativo, em contraste com o ruído aditivo dos pêndulos anteriores, para lidar com esta complicação, no momento da integração vamos utilizar um &amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt; médio no argumento do seno que multiplica &amp;lt;math&amp;gt;dW&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\theta_{j+1} &amp;amp;= \theta_j + \omega_j \Delta t \\&lt;br /&gt;
\bar \theta_j &amp;amp;= (\theta_{j+1} + \theta_{j} ) / 2 \\ &lt;br /&gt;
\omega_{j+1} &amp;amp;= \omega_j + (\frac{-2b}{m}\omega_j + \frac{g}{l}sen(\bar \theta_j) - \frac{k}{m} \bar \theta_j ) \Delta t  + sen(\bar \theta_j) \frac{\alpha}{l} {R_G}_j \sqrt{\Delta t}&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esse tipo de pêndulo é de grande interesse em algumas áreas, como na engenharia estrutural, pois uma coluna comprimida pode ser modelada como um pêndulo invertido com uma mola na base, o ruído da base pode representar um terremoto. &lt;br /&gt;
&lt;br /&gt;
Uma questão interessante neste modelo é sobre a estabilidade da configuração &amp;lt;math&amp;gt;\theta_0 = \omega_0 = 0 &amp;lt;/math&amp;gt; quando é adicionado ruído e amortecimento. Se &amp;lt;math&amp;gt;k&amp;lt;/math&amp;gt; é grande o suficiente, sem ruído, o equilíbrio é estável, mas é possível sair dessa configuração adicionando ruído, cujo valor limite vai depender do amortecimento. Podemos demostrar isso integrando o sistema, partindo da condição inicial &amp;lt;math&amp;gt;\theta_0 = 10^{-4}, \omega_0 = 0 &amp;lt;/math&amp;gt;, com valores de &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; muito próximos:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Inverted_no_exploded.png|upright=2|left|Esquema do pêndulo invertido com movimento vertical livre na base.]] [[Arquivo:Inverted_exploded.png|upright=2|right|Esquema do pêndulo invertido com movimento vertical livre na base.]]&lt;br /&gt;
&lt;br /&gt;
os seguintes valores foram utilzados&lt;br /&gt;
&lt;br /&gt;
* g = l = 1&lt;br /&gt;
* k = 1.1&lt;br /&gt;
&lt;br /&gt;
No gráfico da esquerda, o ângulo oscilou um pouco e permaneceu em 0, já no outro, eventualmente, o ângulo explodiu. Abaixo segue uma animação dessa situação, mas com &amp;lt;math&amp;gt;\alpha=1&amp;lt;/math&amp;gt; para o pêndulo sair do equilíbrio mais rápido&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Inverted_exploded.png&amp;diff=10689</id>
		<title>Arquivo:Inverted exploded.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Inverted_exploded.png&amp;diff=10689"/>
		<updated>2024-08-21T01:57:30Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Inverted_no_exploded.png&amp;diff=10688</id>
		<title>Arquivo:Inverted no exploded.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Inverted_no_exploded.png&amp;diff=10688"/>
		<updated>2024-08-21T01:57:01Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=P%C3%AAndulos_Estoc%C3%A1sticos&amp;diff=10687</id>
		<title>Pêndulos Estocásticos</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=P%C3%AAndulos_Estoc%C3%A1sticos&amp;diff=10687"/>
		<updated>2024-08-20T17:52:33Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: /* Pêndulo invertido */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Grupo :&#039;&#039;&#039; Gustavo H. Guesser, Joshua L. Kipper, Marcos Pasa.&lt;br /&gt;
&lt;br /&gt;
== Pêndulo Simples ==&lt;br /&gt;
===Equação de movimento===&lt;br /&gt;
Primeiramente vamos inserir ruído em um pêndulo simples, que é constituído de uma barra de comprimento &amp;lt;math&amp;gt;l&amp;lt;/math&amp;gt;, sem massa e rígida que contém uma massa &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; pontual em sua ponta, conforme ilustrado na figura a seguir.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Pendulo_simples.png|thumb|upright=2|center|Esquema de um pêndulo simples em um campo gravitacional constante.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando que o pêndulo está sob o efeito da gravidade e se encontra submerso em um fluido viscoso (como o ar), tal que a força de resistência que atua na massa é &amp;lt;math&amp;gt;-2b\vec v&amp;lt;/math&amp;gt;, a equação de movimento é dada por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta(t) = -\frac{2b}{m}\dot \theta - \frac{g}{l}sen(\theta) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos supor que existe uma força ruidosa atuando em &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;F_r(t)&amp;lt;/math&amp;gt;), que pode ser modelada por um ruído branco gaussiano &amp;lt;math&amp;gt;\xi(t)&amp;lt;/math&amp;gt; da seguinte forma&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_r(t) = m \alpha \xi(t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; é a intensidade do ruído. &amp;lt;math&amp;gt;\xi(t)&amp;lt;/math&amp;gt; é caracterizado pelas seguintes propriedades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\langle \xi(t) \rangle = 0,~~ \langle \xi(t_2)\xi(t_1) \rangle = \delta(t_2 -t_1)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adicionando essa nova força nas equações de movimento, ficamos com&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta(t) = -\frac{2b}{m}\dot \theta - \frac{g}{l}sen(\theta) + \frac{\alpha}{l}\xi(t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A partir de agora, por questão de simplicidade, vamos supor que &amp;lt;math&amp;gt;g = l = 1 &amp;lt;/math&amp;gt;, então&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta(t) = -2b\dot \theta - sen(\theta) + \alpha\xi(t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Método de integração===&lt;br /&gt;
Vamos montar um métodos para integrar o sistema no tempo. Primeiramente vamos dividir a equação em duas equações diferencias de primeira ordem, introduzindo a variável &amp;lt;math&amp;gt;\omega := \dot \theta &amp;lt;/math&amp;gt;, então ficamos com o seguinte sistema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\dot \theta &amp;amp;= \omega \\&lt;br /&gt;
\dot \omega &amp;amp;= -2b \omega - sen(\theta) + \alpha\xi(t)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que pode ser escrito na forma diferencial&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
d\theta &amp;amp;= \omega dt \\&lt;br /&gt;
d\omega &amp;amp;= (-2b \omega - sen(\theta))dt + \alpha\xi(t)dt&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mas &amp;lt;math&amp;gt;\xi(t)dt&amp;lt;/math&amp;gt; é o incremento do processo de Wiener (&amp;lt;math&amp;gt;W(t) = \int_0^t \xi(t&#039;)dt&#039; &amp;lt;/math&amp;gt;), então &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
d\theta &amp;amp;= \omega dt \\&lt;br /&gt;
d\omega &amp;amp;= (-2b\omega - sen(\theta))dt + \alpha dW(t)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Discretizando o tempo e lembrando que a densidade de probabilidade de transição de &amp;lt;math&amp;gt;W(t)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;W(t+\Delta t)&amp;lt;/math&amp;gt; tem desvio padrão igual a &amp;lt;math&amp;gt;\sqrt{\Delta t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\theta_{j+1} &amp;amp;= \theta_{j} + \omega_j \Delta t \\&lt;br /&gt;
\omega_{j+1} &amp;amp;= \omega_{j} + (-2b \omega_j - sen(\theta_j))\Delta t + \alpha {R_G}_j \sqrt{\Delta t}&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;R_G&amp;lt;/math&amp;gt; é uma amostra de uma distribuição gaussiana com média 0 e variância 1, e o método de Euler foi utilizado para a parte determinística da equação. &lt;br /&gt;
&lt;br /&gt;
Nas próximas seções será analisado a energia do sistema, e como o método de Euler não é muito bom para preservar a energia de sistemas conservativos, será utilizado o método preditor corretor (com adição do método de Heun para &amp;lt;math&amp;gt; \theta &amp;lt;/math&amp;gt;) para a parte determinística da equação, que consiste nos seguintes passos:&lt;br /&gt;
&lt;br /&gt;
* Calcular um theta intermediário:&lt;br /&gt;
    &amp;lt;math&amp;gt; \theta^{(2)}_{j+1} = \theta_j + \omega_j \Delta t &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Com &amp;lt;math&amp;gt; \theta^{(2)}_{j+1} &amp;lt;/math&amp;gt; calcular um theta médio e utilizá-lo para obter um omega intermediário:&lt;br /&gt;
    &amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\bar \theta_j &amp;amp;= \frac{\theta^{(2)}_{j+1} + \theta_j}{2} \\&lt;br /&gt;
\omega^{(2)}_{j+1} &amp;amp;= \omega_j + f(\bar \theta_j, \omega_j, {R_G}_j)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
:Em que &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; é a expressão do método de Euler visto logo acima.&lt;br /&gt;
&lt;br /&gt;
* Recalcular theta utilizando um omega intermediário&lt;br /&gt;
    &amp;lt;math&amp;gt; \begin{aligned}&lt;br /&gt;
\bar \omega_j &amp;amp;= \frac{\omega^{(2)}_{j+1} + \omega_j}{2} \\&lt;br /&gt;
\theta_{j+1} &amp;amp;= \theta_j + \bar \omega_j \Delta t &lt;br /&gt;
\end{aligned} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Recalcular omega com um theta intermediário atualizado&lt;br /&gt;
    &amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\bar \theta^{(2)}_j &amp;amp;= \frac{\theta_{j+1} + \theta_j}{2} \\&lt;br /&gt;
\omega_{j+1} &amp;amp;= \omega_j + f(\bar \theta^{(2)}_j, \bar \omega_j, {R_G}_j)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
:OBS: No cálculo de &amp;lt;math&amp;gt;\omega^{(2)}_{j+1}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\omega_{j+1}&amp;lt;/math&amp;gt; foi utilizado o mesmo &amp;lt;math&amp;gt;{R_G}_j&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Energia (Sem amortecimento)===&lt;br /&gt;
Logo após terminar a implementação do método numérico, rapidamente notamos que a adição do ruído aumento a energia mecânica do pêndulo (&amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt;), vamos explorar esse fenômeno, sempre utilizando &amp;lt;math&amp;gt;\beta = 0&amp;lt;/math&amp;gt;. Para ilustrar esse efeito, segue uma animação do pêndulo partindo do repouso na configuração de equilíbrio estável (&amp;lt;math&amp;gt;\theta(0) = 0,~ \omega(0)=0&amp;lt;/math&amp;gt;) com &amp;lt;math&amp;gt;\alpha = 0.1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Energy_demo.gif|frame|center|Pêndulo partindo do repouso com ruído.]]&lt;br /&gt;
&lt;br /&gt;
Para realizar uma exploração quantitativa, o seguinte procedimento foi feito para vários valores de &amp;lt;math&amp;gt; \alpha &amp;lt;/math&amp;gt;:&lt;br /&gt;
* Utilizando &amp;lt;math&amp;gt;\Delta t = 0.01&amp;lt;/math&amp;gt;, integrar o sistema até &amp;lt;math&amp;gt;t_f = 100&amp;lt;/math&amp;gt;, calculando e armazenando a energia em cada passo temporal. Repetir essa integração 700 vezes para fazer médias temporais. Como exemplo, segue os dados obtidos da energia em função do tempo (com a média temporal feita) para um determinado &amp;lt;math&amp;gt; \alpha &amp;lt;/math&amp;gt; utilizado&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Energy_example.png|thumb|upright=2|center|Energia média em função tempo.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:O gráfico nos indica que o ruído gera uma potência média sobre o pêndulo.&lt;br /&gt;
&lt;br /&gt;
* Realizar um ajuste linear nos dados &amp;lt;math&amp;gt;\langle E \rangle_t \times t&amp;lt;/math&amp;gt; para obter o coeficiente angular, que corresponde a potência média gerada pelo ruído (&amp;lt;math&amp;gt;\bar P&amp;lt;/math&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Com as simulações executadas, foi realizado o gráfico &amp;lt;math&amp;gt;\bar P \times \alpha&amp;lt;/math&amp;gt;. Notamos que os dados se alinham em linha reta com os eixos em escala logarítmica, ou seja, os mesmos seguem uma lei de potência &amp;lt;math&amp;gt;\bar P = ae^{b \alpha}&amp;lt;/math&amp;gt;), então foi realizado outro ajuste linear para encontra o expoente &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, a figura a seguir ilustra os dados e os resultados do ajuste:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Power.png|frame|center|Potência em função do ruído (&amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;). O painel da esquerda possui eixos em escala linear e o da direita em escala logarítmica.]]&lt;br /&gt;
&lt;br /&gt;
Portanto, &amp;lt;math&amp;gt;\bar P&amp;lt;/math&amp;gt; aumenta, aproximadamente, de forma quadrática com &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;. Por fim, gostaríamos de mostrar que mesmo para &amp;lt;math&amp;gt; \alpha&amp;lt;/math&amp;gt; muito pequeno, ainda existe energia sendo injetada no sistema com taxa constante, e isso não é um artefato da simulação. Para tal, foram realizadas 700 simulações com &amp;lt;math&amp;gt;\alpha=5\cdot10^{-4}&amp;lt;/math&amp;gt; e os resultados foram comparados com &amp;lt;math&amp;gt; \alpha = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Test_low_alpha.png|frame|center|Energia média para &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; muito pequeno comparado com &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; nulo.]]&lt;br /&gt;
&lt;br /&gt;
===Energia (Com amortecimento)===&lt;br /&gt;
Até o momento, o amortecimento foi negligenciado. Vamos, então, introduzi-lo e rodar várias simulações (700, neste caso) e observar como a média temporal da energia evolui ao longo do tempo, assim como foi feita na seção anterior. Utilizando &amp;lt;math&amp;gt;\beta =0.1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\alpha = 0.485&amp;lt;/math&amp;gt; foi obtido o seguinte resultado&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Energy_beta_example.png|frame|center|Energia mecânica média em função do tempo com amortecimento.]]&lt;br /&gt;
&lt;br /&gt;
claramente o comportamento neste caso é diferente do observado sem amortecimento, agora a anergia aumenta até um certo valor e permanecenele. Para explorar este novo fenômeno, os seguintes passos foram feitos para cada valor de &amp;lt;math&amp;gt;\beta = 0.01, 0.1, 0.2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Para diversos valores de &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;, executar 700 simulações até a energia estabilizar, salvando a média da energia entre as simulações.&lt;br /&gt;
* Para cada conjunto de dados gerados por um determinado &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;, selecionar um intervalo de tempo onde a energia está estabilizada e calcular a sua média (&amp;lt;math&amp;gt;\langle E \rangle&amp;lt;/math&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Produzindo o gráfico de &amp;lt;math&amp;gt;\langle E \rangle \times \alpha&amp;lt;/math&amp;gt; obtemos&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Power_beta_mosaic.png|frame|center|Energia estabilizada média em função de &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; para diferentes valores de amortecimento. Os painéis da esquerda possui eixos em escala linear e os da direita em escala logarítmica.]]&lt;br /&gt;
&lt;br /&gt;
as linhas vermelhas são os melhores ajustas de leis de potência na forma &amp;lt;math&amp;gt;\langle E \rangle = a \alpha^b &amp;lt;/math&amp;gt;. Para &amp;lt;math&amp;gt;\beta=0.1&amp;lt;/math&amp;gt; os dados utilizados no ajuste foram apenas até &amp;lt;math&amp;gt;\alpha = 0.6&amp;lt;/math&amp;gt; (indicado pela reta preta vertical no gráfico), pois após esse limite, a lei de potência deixa de ser um ótimo ajuste. É chamativo o fato de todos os coeficientes, independente de &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt;, serem aproximadamente 2.&lt;br /&gt;
&lt;br /&gt;
== Pêndulo invertido ==&lt;br /&gt;
O próximo pêndulo a ser considerado é um pêndulo invertido, que possui um potencial harmônico em seu ângulo, ou seja, um dos termos de sua energia potential é &amp;lt;math&amp;gt;\frac{k}{2}\theta^2 &amp;lt;/math&amp;gt;, sendo que agora &amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt; é zero quando a haste está apontando para cima, conforme ilustrado na figura a seguir&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Pendulo_invertido.png|thumb|upright=2|center|Esquema do pêndulo invertido com movimento vertical livre na base.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ainda, a base do pêndulo é livre para movimentar-se na direção vertical, é justamente nesse local onde será adicionado uma força ruidosa. A equação de movimento neste caso é&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta = \frac{-2b}{m}\dot \theta + \frac{1}{l}(g + \ddot u)sen(\theta) - \frac{k}{m}\theta&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O primeiro termo vem da resistência do ar, o segunda se origina da gravidade e do deslocamento de &amp;lt;math&amp;gt;u&amp;lt;/math&amp;gt; e o último provém da &amp;quot;mola&amp;quot; em &amp;lt;math&amp;gt;\theta &amp;lt;/math&amp;gt;. Vamos supor que existe um vínculo mantendo a base fixa, mas o local onda o pêndulo é fixado pode ser movimentar de forma aleatória na direção vertical, suponde que tal movimento pode ser modelado por ruído branco gaussiano, segue que &amp;lt;math&amp;gt;\ddot u(t) = \alpha \xi(t)&amp;lt;/math&amp;gt;. Introduzindo a variável &amp;lt;math&amp;gt;\omega := \dot \theta&amp;lt;/math&amp;gt;, ficamos com o seguinte sistemas de equações na forma diferencial&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
d\theta &amp;amp;= \omega dt \\ &lt;br /&gt;
d\omega &amp;amp;= (\frac{-2b}{m}\omega + \frac{g}{l}sen(\theta) - \frac{k}{m}\theta )dt  + sen(\theta) \frac{\alpha}{l}\overbrace{dW(t)}^{\xi(t)dt}&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note que agora o ruído é multiplicativo, em contraste com o ruído aditivo dos pêndulos anteriores, para lidar com esta complicação, no momento da integração vamos utilizar um &amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt; médio no argumento do seno que multiplica &amp;lt;math&amp;gt;dW&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\theta_{j+1} &amp;amp;= \theta_j + \omega_j \Delta t \\&lt;br /&gt;
\bar \theta_j &amp;amp;= (\theta_{j+1} + \theta_{j} ) / 2 \\ &lt;br /&gt;
\omega_{j+1} &amp;amp;= \omega_j + (\frac{-2b}{m}\omega_j + \frac{g}{l}sen(\bar \theta_j) - \frac{k}{m} \bar \theta_j ) \Delta t  + sen(\bar \theta_j) \frac{\alpha}{l} {R_G}_j \sqrt{\Delta t}&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esse tipo de pêndulo é de grande interesse em algumas áreas, como na engenharia estrutural, pois uma coluna pode ser modelada como um pêndulo invertido com uma mola no ângulo, o ruído da base pode representar um terremoto.&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=P%C3%AAndulos_Estoc%C3%A1sticos&amp;diff=10686</id>
		<title>Pêndulos Estocásticos</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=P%C3%AAndulos_Estoc%C3%A1sticos&amp;diff=10686"/>
		<updated>2024-08-20T03:18:56Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Grupo :&#039;&#039;&#039; Gustavo H. Guesser, Joshua L. Kipper, Marcos Pasa.&lt;br /&gt;
&lt;br /&gt;
== Pêndulo Simples ==&lt;br /&gt;
===Equação de movimento===&lt;br /&gt;
Primeiramente vamos inserir ruído em um pêndulo simples, que é constituído de uma barra de comprimento &amp;lt;math&amp;gt;l&amp;lt;/math&amp;gt;, sem massa e rígida que contém uma massa &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; pontual em sua ponta, conforme ilustrado na figura a seguir.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Pendulo_simples.png|thumb|upright=2|center|Esquema de um pêndulo simples em um campo gravitacional constante.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando que o pêndulo está sob o efeito da gravidade e se encontra submerso em um fluido viscoso (como o ar), tal que a força de resistência que atua na massa é &amp;lt;math&amp;gt;-2b\vec v&amp;lt;/math&amp;gt;, a equação de movimento é dada por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta(t) = -\frac{2b}{m}\dot \theta - \frac{g}{l}sen(\theta) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos supor que existe uma força ruidosa atuando em &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;F_r(t)&amp;lt;/math&amp;gt;), que pode ser modelada por um ruído branco gaussiano &amp;lt;math&amp;gt;\xi(t)&amp;lt;/math&amp;gt; da seguinte forma&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_r(t) = m \alpha \xi(t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; é a intensidade do ruído. &amp;lt;math&amp;gt;\xi(t)&amp;lt;/math&amp;gt; é caracterizado pelas seguintes propriedades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\langle \xi(t) \rangle = 0,~~ \langle \xi(t_2)\xi(t_1) \rangle = \delta(t_2 -t_1)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adicionando essa nova força nas equações de movimento, ficamos com&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta(t) = -\frac{2b}{m}\dot \theta - \frac{g}{l}sen(\theta) + \frac{\alpha}{l}\xi(t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A partir de agora, por questão de simplicidade, vamos supor que &amp;lt;math&amp;gt;g = l = 1 &amp;lt;/math&amp;gt;, então&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta(t) = -2b\dot \theta - sen(\theta) + \alpha\xi(t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Método de integração===&lt;br /&gt;
Vamos montar um métodos para integrar o sistema no tempo. Primeiramente vamos dividir a equação em duas equações diferencias de primeira ordem, introduzindo a variável &amp;lt;math&amp;gt;\omega := \dot \theta &amp;lt;/math&amp;gt;, então ficamos com o seguinte sistema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\dot \theta &amp;amp;= \omega \\&lt;br /&gt;
\dot \omega &amp;amp;= -2b \omega - sen(\theta) + \alpha\xi(t)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que pode ser escrito na forma diferencial&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
d\theta &amp;amp;= \omega dt \\&lt;br /&gt;
d\omega &amp;amp;= (-2b \omega - sen(\theta))dt + \alpha\xi(t)dt&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mas &amp;lt;math&amp;gt;\xi(t)dt&amp;lt;/math&amp;gt; é o incremento do processo de Wiener (&amp;lt;math&amp;gt;W(t) = \int_0^t \xi(t&#039;)dt&#039; &amp;lt;/math&amp;gt;), então &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
d\theta &amp;amp;= \omega dt \\&lt;br /&gt;
d\omega &amp;amp;= (-2b\omega - sen(\theta))dt + \alpha dW(t)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Discretizando o tempo e lembrando que a densidade de probabilidade de transição de &amp;lt;math&amp;gt;W(t)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;W(t+\Delta t)&amp;lt;/math&amp;gt; tem desvio padrão igual a &amp;lt;math&amp;gt;\sqrt{\Delta t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\theta_{j+1} &amp;amp;= \theta_{j} + \omega_j \Delta t \\&lt;br /&gt;
\omega_{j+1} &amp;amp;= \omega_{j} + (-2b \omega_j - sen(\theta_j))\Delta t + \alpha {R_G}_j \sqrt{\Delta t}&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;R_G&amp;lt;/math&amp;gt; é uma amostra de uma distribuição gaussiana com média 0 e variância 1, e o método de Euler foi utilizado para a parte determinística da equação. &lt;br /&gt;
&lt;br /&gt;
Nas próximas seções será analisado a energia do sistema, e como o método de Euler não é muito bom para preservar a energia de sistemas conservativos, será utilizado o método preditor corretor (com adição do método de Heun para &amp;lt;math&amp;gt; \theta &amp;lt;/math&amp;gt;) para a parte determinística da equação, que consiste nos seguintes passos:&lt;br /&gt;
&lt;br /&gt;
* Calcular um theta intermediário:&lt;br /&gt;
    &amp;lt;math&amp;gt; \theta^{(2)}_{j+1} = \theta_j + \omega_j \Delta t &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Com &amp;lt;math&amp;gt; \theta^{(2)}_{j+1} &amp;lt;/math&amp;gt; calcular um theta médio e utilizá-lo para obter um omega intermediário:&lt;br /&gt;
    &amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\bar \theta_j &amp;amp;= \frac{\theta^{(2)}_{j+1} + \theta_j}{2} \\&lt;br /&gt;
\omega^{(2)}_{j+1} &amp;amp;= \omega_j + f(\bar \theta_j, \omega_j, {R_G}_j)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
:Em que &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; é a expressão do método de Euler visto logo acima.&lt;br /&gt;
&lt;br /&gt;
* Recalcular theta utilizando um omega intermediário&lt;br /&gt;
    &amp;lt;math&amp;gt; \begin{aligned}&lt;br /&gt;
\bar \omega_j &amp;amp;= \frac{\omega^{(2)}_{j+1} + \omega_j}{2} \\&lt;br /&gt;
\theta_{j+1} &amp;amp;= \theta_j + \bar \omega_j \Delta t &lt;br /&gt;
\end{aligned} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Recalcular omega com um theta intermediário atualizado&lt;br /&gt;
    &amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\bar \theta^{(2)}_j &amp;amp;= \frac{\theta_{j+1} + \theta_j}{2} \\&lt;br /&gt;
\omega_{j+1} &amp;amp;= \omega_j + f(\bar \theta^{(2)}_j, \bar \omega_j, {R_G}_j)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
:OBS: No cálculo de &amp;lt;math&amp;gt;\omega^{(2)}_{j+1}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\omega_{j+1}&amp;lt;/math&amp;gt; foi utilizado o mesmo &amp;lt;math&amp;gt;{R_G}_j&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Energia (Sem amortecimento)===&lt;br /&gt;
Logo após terminar a implementação do método numérico, rapidamente notamos que a adição do ruído aumento a energia mecânica do pêndulo (&amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt;), vamos explorar esse fenômeno, sempre utilizando &amp;lt;math&amp;gt;\beta = 0&amp;lt;/math&amp;gt;. Para ilustrar esse efeito, segue uma animação do pêndulo partindo do repouso na configuração de equilíbrio estável (&amp;lt;math&amp;gt;\theta(0) = 0,~ \omega(0)=0&amp;lt;/math&amp;gt;) com &amp;lt;math&amp;gt;\alpha = 0.1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Energy_demo.gif|frame|center|Pêndulo partindo do repouso com ruído.]]&lt;br /&gt;
&lt;br /&gt;
Para realizar uma exploração quantitativa, o seguinte procedimento foi feito para vários valores de &amp;lt;math&amp;gt; \alpha &amp;lt;/math&amp;gt;:&lt;br /&gt;
* Utilizando &amp;lt;math&amp;gt;\Delta t = 0.01&amp;lt;/math&amp;gt;, integrar o sistema até &amp;lt;math&amp;gt;t_f = 100&amp;lt;/math&amp;gt;, calculando e armazenando a energia em cada passo temporal. Repetir essa integração 700 vezes para fazer médias temporais. Como exemplo, segue os dados obtidos da energia em função do tempo (com a média temporal feita) para um determinado &amp;lt;math&amp;gt; \alpha &amp;lt;/math&amp;gt; utilizado&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Energy_example.png|thumb|upright=2|center|Energia média em função tempo.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:O gráfico nos indica que o ruído gera uma potência média sobre o pêndulo.&lt;br /&gt;
&lt;br /&gt;
* Realizar um ajuste linear nos dados &amp;lt;math&amp;gt;\langle E \rangle_t \times t&amp;lt;/math&amp;gt; para obter o coeficiente angular, que corresponde a potência média gerada pelo ruído (&amp;lt;math&amp;gt;\bar P&amp;lt;/math&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Com as simulações executadas, foi realizado o gráfico &amp;lt;math&amp;gt;\bar P \times \alpha&amp;lt;/math&amp;gt;. Notamos que os dados se alinham em linha reta com os eixos em escala logarítmica, ou seja, os mesmos seguem uma lei de potência &amp;lt;math&amp;gt;\bar P = ae^{b \alpha}&amp;lt;/math&amp;gt;), então foi realizado outro ajuste linear para encontra o expoente &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, a figura a seguir ilustra os dados e os resultados do ajuste:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Power.png|frame|center|Potência em função do ruído (&amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;). O painel da esquerda possui eixos em escala linear e o da direita em escala logarítmica.]]&lt;br /&gt;
&lt;br /&gt;
Portanto, &amp;lt;math&amp;gt;\bar P&amp;lt;/math&amp;gt; aumenta, aproximadamente, de forma quadrática com &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;. Por fim, gostaríamos de mostrar que mesmo para &amp;lt;math&amp;gt; \alpha&amp;lt;/math&amp;gt; muito pequeno, ainda existe energia sendo injetada no sistema com taxa constante, e isso não é um artefato da simulação. Para tal, foram realizadas 700 simulações com &amp;lt;math&amp;gt;\alpha=5\cdot10^{-4}&amp;lt;/math&amp;gt; e os resultados foram comparados com &amp;lt;math&amp;gt; \alpha = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Test_low_alpha.png|frame|center|Energia média para &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; muito pequeno comparado com &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; nulo.]]&lt;br /&gt;
&lt;br /&gt;
===Energia (Com amortecimento)===&lt;br /&gt;
Até o momento, o amortecimento foi negligenciado. Vamos, então, introduzi-lo e rodar várias simulações (700, neste caso) e observar como a média temporal da energia evolui ao longo do tempo, assim como foi feita na seção anterior. Utilizando &amp;lt;math&amp;gt;\beta =0.1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\alpha = 0.485&amp;lt;/math&amp;gt; foi obtido o seguinte resultado&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Energy_beta_example.png|frame|center|Energia mecânica média em função do tempo com amortecimento.]]&lt;br /&gt;
&lt;br /&gt;
claramente o comportamento neste caso é diferente do observado sem amortecimento, agora a anergia aumenta até um certo valor e permanecenele. Para explorar este novo fenômeno, os seguintes passos foram feitos para cada valor de &amp;lt;math&amp;gt;\beta = 0.01, 0.1, 0.2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Para diversos valores de &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;, executar 700 simulações até a energia estabilizar, salvando a média da energia entre as simulações.&lt;br /&gt;
* Para cada conjunto de dados gerados por um determinado &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;, selecionar um intervalo de tempo onde a energia está estabilizada e calcular a sua média (&amp;lt;math&amp;gt;\langle E \rangle&amp;lt;/math&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Produzindo o gráfico de &amp;lt;math&amp;gt;\langle E \rangle \times \alpha&amp;lt;/math&amp;gt; obtemos&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Power_beta_mosaic.png|frame|center|Energia estabilizada média em função de &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; para diferentes valores de amortecimento. Os painéis da esquerda possui eixos em escala linear e os da direita em escala logarítmica.]]&lt;br /&gt;
&lt;br /&gt;
as linhas vermelhas são os melhores ajustas de leis de potência na forma &amp;lt;math&amp;gt;\langle E \rangle = a \alpha^b &amp;lt;/math&amp;gt;. Para &amp;lt;math&amp;gt;\beta=0.1&amp;lt;/math&amp;gt; os dados utilizados no ajuste foram apenas até &amp;lt;math&amp;gt;\alpha = 0.6&amp;lt;/math&amp;gt; (indicado pela reta preta vertical no gráfico), pois após esse limite, a lei de potência deixa de ser um ótimo ajuste. É chamativo o fato de todos os coeficientes, independente de &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt;, serem aproximadamente 2.&lt;br /&gt;
&lt;br /&gt;
== Pêndulo invertido ==&lt;br /&gt;
O próximo pêndulo a ser considerado é um pêndulo invertido, que possui um potencial harmônico em seu ângulo, ou seja, um dos termos de sua energia potential é &amp;lt;math&amp;gt;\frac{k}{2}\theta^2 &amp;lt;/math&amp;gt;, sendo que agora &amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt; é zero quando a haste está apontando para cima, conforme ilustrado na figura a seguir&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Pendulo_invertido.png|thumb|upright=2|center|Esquema do pêndulo invertido com movimento vertical livre na base.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ainda, a base do pêndulo é livre para movimentar-se na direção vertical, é justamente nesse local onde será adicionado uma força ruidosa. A equação de movimento neste caso é&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta = \frac{-2b}{m}\dot \theta + \frac{1}{l}(g + \ddot u)sen(\theta) - \frac{k}{m}\theta&lt;br /&gt;
&amp;lt;/math&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O primeiro termo vem da resistência do ar, o segunda se origina da gravidade e do deslocamento de &amp;lt;math&amp;gt;u&amp;lt;/math&amp;gt; e o último provém da &amp;quot;mola&amp;quot; em &amp;lt;math&amp;gt;\theta &amp;lt;/math&amp;gt;. Vamos supor que existe uma força atuando na base que pode ser modelada, novamente, por ruído branco gaussiano &amp;lt;math&amp;gt;f_u(t) = \alpha \xi(t)&amp;lt;/math&amp;gt;, ou seja, temos que &amp;lt;math&amp;gt;\ddot u(t) =\frac{f_u}{m} = \frac{\alpha}{m}\xi(t)&amp;lt;/math&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Pendulo_invertido.png&amp;diff=10685</id>
		<title>Arquivo:Pendulo invertido.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Pendulo_invertido.png&amp;diff=10685"/>
		<updated>2024-08-20T03:15:05Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=P%C3%AAndulos_Estoc%C3%A1sticos&amp;diff=10684</id>
		<title>Pêndulos Estocásticos</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=P%C3%AAndulos_Estoc%C3%A1sticos&amp;diff=10684"/>
		<updated>2024-08-20T03:01:12Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: /* Pêndulo Simples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Grupo :&#039;&#039;&#039; Gustavo H. Guesser, Joshua L. Kipper, Marcos Pasa.&lt;br /&gt;
&lt;br /&gt;
== Pêndulo Simples ==&lt;br /&gt;
===Equação de movimento===&lt;br /&gt;
Primeiramente vamos inserir ruído em um pêndulo simples, que é constituído de uma barra de comprimento &amp;lt;math&amp;gt;l&amp;lt;/math&amp;gt;, sem massa e rígida que contém uma massa &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; pontual em sua ponta, conforme ilustrado na figura a seguir.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Pendulo_simples.png|thumb|upright=2|center|Esquema de um pêndulos simples em um campo gravitacional constante.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando que o pêndulo está sob o efeito da gravidade e se encontra submerso em um fluido viscoso (como o ar), tal que a força de resistência que atua na massa é &amp;lt;math&amp;gt;-2b\vec v&amp;lt;/math&amp;gt;, a equação de movimento é dada por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta(t) = -\frac{2b}{m}\dot \theta - \frac{g}{l}sen(\theta) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos supor que existe uma força ruidosa atuando em &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;F_r(t)&amp;lt;/math&amp;gt;), que pode ser modelada por um ruído branco gaussiano &amp;lt;math&amp;gt;\xi(t)&amp;lt;/math&amp;gt; da seguinte forma&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_r(t) = m \alpha \xi(t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; é a intensidade do ruído. &amp;lt;math&amp;gt;\xi(t)&amp;lt;/math&amp;gt; é caracterizado pelas seguintes propriedades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\langle \xi(t) \rangle = 0,~~ \langle \xi(t_2)\xi(t_1) \rangle = \delta(t_2 -t_1)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adicionando essa nova força nas equações de movimento, ficamos com&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta(t) = -\frac{2b}{m}\dot \theta - \frac{g}{l}sen(\theta) + \frac{\alpha}{l}\xi(t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A partir de agora, por questão de simplicidade, vamos supor que &amp;lt;math&amp;gt;g = l = 1 &amp;lt;/math&amp;gt;, então&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta(t) = -2b\dot \theta - sen(\theta) + \alpha\xi(t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Método de integração===&lt;br /&gt;
Vamos montar um métodos para integrar o sistema no tempo. Primeiramente vamos dividir a equação em duas equações diferencias de primeira ordem, introduzindo a variável &amp;lt;math&amp;gt;\omega := \dot \theta &amp;lt;/math&amp;gt;, então ficamos com o seguinte sistema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\dot \theta &amp;amp;= \omega \\&lt;br /&gt;
\dot \omega &amp;amp;= -2b \omega - sen(\theta) + \alpha\xi(t)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que pode ser escrito na forma diferencial&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
d\theta &amp;amp;= \omega dt \\&lt;br /&gt;
d\omega &amp;amp;= (-2b \omega - sen(\theta))dt + \alpha\xi(t)dt&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mas &amp;lt;math&amp;gt;\xi(t)dt&amp;lt;/math&amp;gt; é o incremento do processo de Wiener (&amp;lt;math&amp;gt;W(t) = \int_0^t \xi(t&#039;)dt&#039; &amp;lt;/math&amp;gt;), então &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
d\theta &amp;amp;= \omega dt \\&lt;br /&gt;
d\omega &amp;amp;= (-2b\omega - sen(\theta))dt + \alpha dW(t)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Discretizando o tempo e lembrando que a densidade de probabilidade de transição de &amp;lt;math&amp;gt;W(t)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;W(t+\Delta t)&amp;lt;/math&amp;gt; tem desvio padrão igual a &amp;lt;math&amp;gt;\sqrt{\Delta t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\theta_{j+1} &amp;amp;= \theta_{j} + \omega_j \Delta t \\&lt;br /&gt;
\omega_{j+1} &amp;amp;= \omega_{j} + (-2b \omega_j - sen(\theta_j))\Delta t + \alpha {R_G}_j \sqrt{\Delta t}&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;R_G&amp;lt;/math&amp;gt; é uma amostra de uma distribuição gaussiana com média 0 e variância 1, e o método de Euler foi utilizado para a parte determinística da equação. &lt;br /&gt;
&lt;br /&gt;
Nas próximas seções será analisado a energia do sistema, e como o método de Euler não é muito bom para preservar a energia de sistemas conservativos, será utilizado o método preditor corretor (com adição do método de Heun para &amp;lt;math&amp;gt; \theta &amp;lt;/math&amp;gt;) para a parte determinística da equação, que consiste nos seguintes passos:&lt;br /&gt;
&lt;br /&gt;
* Calcular um theta intermediário:&lt;br /&gt;
    &amp;lt;math&amp;gt; \theta^{(2)}_{j+1} = \theta_j + \omega_j \Delta t &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Com &amp;lt;math&amp;gt; \theta^{(2)}_{j+1} &amp;lt;/math&amp;gt; calcular um theta médio e utilizá-lo para obter um omega intermediário:&lt;br /&gt;
    &amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\bar \theta_j &amp;amp;= \frac{\theta^{(2)}_{j+1} + \theta_j}{2} \\&lt;br /&gt;
\omega^{(2)}_{j+1} &amp;amp;= \omega_j + f(\bar \theta_j, \omega_j, {R_G}_j)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
:Em que &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; é a expressão do método de Euler visto logo acima.&lt;br /&gt;
&lt;br /&gt;
* Recalcular theta utilizando um omega intermediário&lt;br /&gt;
    &amp;lt;math&amp;gt; \begin{aligned}&lt;br /&gt;
\bar \omega_j &amp;amp;= \frac{\omega^{(2)}_{j+1} + \omega_j}{2} \\&lt;br /&gt;
\theta_{j+1} &amp;amp;= \theta_j + \bar \omega_j \Delta t &lt;br /&gt;
\end{aligned} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Recalcular omega com um theta intermediário atualizado&lt;br /&gt;
    &amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\bar \theta^{(2)}_j &amp;amp;= \frac{\theta_{j+1} + \theta_j}{2} \\&lt;br /&gt;
\omega_{j+1} &amp;amp;= \omega_j + f(\bar \theta^{(2)}_j, \bar \omega_j, {R_G}_j)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
:OBS: No cálculo de &amp;lt;math&amp;gt;\omega^{(2)}_{j+1}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\omega_{j+1}&amp;lt;/math&amp;gt; foi utilizado o mesmo &amp;lt;math&amp;gt;{R_G}_j&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Energia (Sem amortecimento)===&lt;br /&gt;
Logo após terminar a implementação do método numérico, rapidamente notamos que a adição do ruído aumento a energia mecânica do pêndulo (&amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt;), vamos explorar esse fenômeno, sempre utilizando &amp;lt;math&amp;gt;\beta = 0&amp;lt;/math&amp;gt;. Para ilustrar esse efeito, segue uma animação do pêndulo partindo do repouso na configuração de equilíbrio estável (&amp;lt;math&amp;gt;\theta(0) = 0,~ \omega(0)=0&amp;lt;/math&amp;gt;) com &amp;lt;math&amp;gt;\alpha = 0.1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Energy_demo.gif|frame|center|Pêndulo partindo do repouso com ruído.]]&lt;br /&gt;
&lt;br /&gt;
Para realizar uma exploração quantitativa, o seguinte procedimento foi feito para vários valores de &amp;lt;math&amp;gt; \alpha &amp;lt;/math&amp;gt;:&lt;br /&gt;
* Utilizando &amp;lt;math&amp;gt;\Delta t = 0.01&amp;lt;/math&amp;gt;, integrar o sistema até &amp;lt;math&amp;gt;t_f = 100&amp;lt;/math&amp;gt;, calculando e armazenando a energia em cada passo temporal. Repetir essa integração 700 vezes para fazer médias temporais. Como exemplo, segue os dados obtidos da energia em função do tempo (com a média temporal feita) para um determinado &amp;lt;math&amp;gt; \alpha &amp;lt;/math&amp;gt; utilizado&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Energy_example.png|thumb|upright=2|center|Energia média em função tempo.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:O gráfico nos indica que o ruído gera uma potência média sobre o pêndulo.&lt;br /&gt;
&lt;br /&gt;
* Realizar um ajuste linear nos dados &amp;lt;math&amp;gt;\langle E \rangle_t \times t&amp;lt;/math&amp;gt; para obter o coeficiente angular, que corresponde a potência média gerada pelo ruído (&amp;lt;math&amp;gt;\bar P&amp;lt;/math&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Com as simulações executadas, foi realizado o gráfico &amp;lt;math&amp;gt;\bar P \times \alpha&amp;lt;/math&amp;gt;. Notamos que os dados se alinham em linha reta com os eixos em escala logarítmica, ou seja, os mesmos seguem uma lei de potência &amp;lt;math&amp;gt;\bar P = ae^{b \alpha}&amp;lt;/math&amp;gt;), então foi realizado outro ajuste linear para encontra o expoente &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, a figura a seguir ilustra os dados e os resultados do ajuste:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Power.png|frame|center|Potência em função do ruído (&amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;). O painel da esquerda possui eixos em escala linear e o da direita em escala logarítmica.]]&lt;br /&gt;
&lt;br /&gt;
Portanto, &amp;lt;math&amp;gt;\bar P&amp;lt;/math&amp;gt; aumenta, aproximadamente, de forma quadrática com &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;. Por fim, gostaríamos de mostrar que mesmo para &amp;lt;math&amp;gt; \alpha&amp;lt;/math&amp;gt; muito pequeno, ainda existe energia sendo injetada no sistema com taxa constante, e isso não é um artefato da simulação. Para tal, foram realizadas 700 simulações com &amp;lt;math&amp;gt;\alpha=5\cdot10^{-4}&amp;lt;/math&amp;gt; e os resultados foram comparados com &amp;lt;math&amp;gt; \alpha = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Test_low_alpha.png|frame|center|Energia média para &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; muito pequeno comparado com &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; nulo.]]&lt;br /&gt;
&lt;br /&gt;
===Energia (Com amortecimento)===&lt;br /&gt;
Até o momento, o amortecimento foi negligenciado. Vamos, então, introduzi-lo e rodar várias simulações (700, neste caso) e observar como a média temporal da energia evolui ao longo do tempo, assim como foi feita na seção anterior. Utilizando &amp;lt;math&amp;gt;\beta =0.1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\alpha = 0.485&amp;lt;/math&amp;gt; foi obtido o seguinte resultado&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Energy_beta_example.png|frame|center|Energia mecânica média em função do tempo com amortecimento.]]&lt;br /&gt;
&lt;br /&gt;
claramente o comportamento neste caso é diferente do observado sem amortecimento, agora a anergia aumenta até um certo valor e permanecenele. Para explorar este novo fenômeno, os seguintes passos foram feitos para cada valor de &amp;lt;math&amp;gt;\beta = 0.01, 0.1, 0.2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Para diversos valores de &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;, executar 700 simulações até a energia estabilizar, salvando a média da energia entre as simulações.&lt;br /&gt;
* Para cada conjunto de dados gerados por um determinado &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;, selecionar um intervalo de tempo onde a energia está estabilizada e calcular a sua média (&amp;lt;math&amp;gt;\langle E \rangle&amp;lt;/math&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Produzindo o gráfico de &amp;lt;math&amp;gt;\langle E \rangle \times \alpha&amp;lt;/math&amp;gt; obtemos&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Power_beta_mosaic.png|frame|center|Energia estabilizada média em função de &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; para diferentes valores de amortecimento. Os painéis da esquerda possui eixos em escala linear e os da direita em escala logarítmica.]]&lt;br /&gt;
&lt;br /&gt;
as linhas vermelhas são os melhores ajustas de leis de potência na forma &amp;lt;math&amp;gt;\langle E \rangle = a \alpha^b &amp;lt;/math&amp;gt;. Para &amp;lt;math&amp;gt;\beta=0.1&amp;lt;/math&amp;gt; os dados utilizados no ajuste foram apenas até &amp;lt;math&amp;gt;\alpha = 0.6&amp;lt;/math&amp;gt; (indicado pela reta preta vertical no gráfico), pois após esse limite, a lei de potência deixa de ser um ótimo ajuste. É chamativo o fato de todos os coeficientes, independente de &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt;, serem aproximadamente 2.&lt;br /&gt;
&lt;br /&gt;
== Pêndulo invertido ==&lt;br /&gt;
O próximo pêndulo a ser considerado é um pêndulo invertido, que possui um potencial harmônico em seu ângulo, ou seja, um dos termos de sua energia potential é &amp;lt;math&amp;gt;\frac{k}{2}\theta^2 &amp;lt;/math&amp;gt;), sendo que agora &amp;lt;math&amp;gt;\theta&amp;lt;/math&amp;gt; é zero quando a haste está apontando para cima, conforme ilustrado na figura a seguir&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ainda, a base do pêndulo é livre para movimentar-se na direção vertical, é justamente nesse local onde será adicionado uma força ruidosa. A equação de movimento neste caso é&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt; &amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta = \frac{-2b}{m}\dot \theta + \frac{1}{l}(g + \ddot u)sen(\theta) - \frac{k}{m}\theta&lt;br /&gt;
&amp;lt;/center&amp;gt; &amp;lt;/math&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=P%C3%AAndulos_Estoc%C3%A1sticos&amp;diff=10683</id>
		<title>Pêndulos Estocásticos</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=P%C3%AAndulos_Estoc%C3%A1sticos&amp;diff=10683"/>
		<updated>2024-08-20T02:47:20Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: /* Pêndulo Simples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Grupo :&#039;&#039;&#039; Gustavo H. Guesser, Joshua L. Kipper, Marcos Pasa.&lt;br /&gt;
&lt;br /&gt;
== Pêndulo Simples ==&lt;br /&gt;
===Equação de movimento===&lt;br /&gt;
Primeiramente vamos inserir ruído em um pêndulo simples, que é constituído de uma barra de comprimento &amp;lt;math&amp;gt;l&amp;lt;/math&amp;gt;, sem massa e rígida que contém uma massa &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; pontual em sua ponta, conforme ilustrado na figura a seguir.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Pendulo_simples.png|thumb|upright=2|center|Esquema de um pêndulos simples em um campo gravitacional constante.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando que o pêndulo está sob o efeito da gravidade e se encontra submerso em um fluido viscoso (como o ar), tal que a força de resistência que atua na massa é &amp;lt;math&amp;gt;-2b\vec v&amp;lt;/math&amp;gt;, a equação de movimento é dada por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta(t) = -\frac{2b}{m}\dot \theta - \frac{g}{l}sen(\theta) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos supor que existe uma força ruidosa atuando em &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;F_r(t)&amp;lt;/math&amp;gt;), que pode ser modelada por um ruído branco gaussiano &amp;lt;math&amp;gt;\xi(t)&amp;lt;/math&amp;gt; da seguinte forma&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_r(t) = m \alpha \xi(t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; é a intensidade do ruído. &amp;lt;math&amp;gt;\xi(t)&amp;lt;/math&amp;gt; é caracterizado pelas seguintes propriedades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\langle \xi(t) \rangle = 0,~~ \langle \xi(t_2)\xi(t_1) \rangle = \delta(t_2 -t_1)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adicionando essa nova força nas equações de movimento, ficamos com&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta(t) = -\frac{2b}{m}\dot \theta - \frac{g}{l}sen(\theta) + \frac{\alpha}{l}\xi(t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A partir de agora, por questão de simplicidade, vamos supor que &amp;lt;math&amp;gt;g = l = 1 &amp;lt;/math&amp;gt;, então&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta(t) = -2b\dot \theta - sen(\theta) + \alpha\xi(t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Método de integração===&lt;br /&gt;
Vamos montar um métodos para integrar o sistema no tempo. Primeiramente vamos dividir a equação em duas equações diferencias de primeira ordem, introduzindo a variável &amp;lt;math&amp;gt;\omega := \dot \theta &amp;lt;/math&amp;gt;, então ficamos com o seguinte sistema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\dot \theta &amp;amp;= \omega \\&lt;br /&gt;
\dot \omega &amp;amp;= -2b \omega - sen(\theta) + \alpha\xi(t)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que pode ser escrito na forma diferencial&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
d\theta &amp;amp;= \omega dt \\&lt;br /&gt;
d\omega &amp;amp;= (-2b \omega - sen(\theta))dt + \alpha\xi(t)dt&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mas &amp;lt;math&amp;gt;\xi(t)dt&amp;lt;/math&amp;gt; é o incremento do processo de Wiener (&amp;lt;math&amp;gt;W(t) = \int_0^t \xi(t&#039;)dt&#039; &amp;lt;/math&amp;gt;), então &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
d\theta &amp;amp;= \omega dt \\&lt;br /&gt;
d\omega &amp;amp;= (-2b\omega - sen(\theta))dt + \alpha dW(t)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Discretizando o tempo e lembrando que a densidade de probabilidade de transição de &amp;lt;math&amp;gt;W(t)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;W(t+\Delta t)&amp;lt;/math&amp;gt; tem desvio padrão igual a &amp;lt;math&amp;gt;\sqrt{\Delta t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\theta_{j+1} &amp;amp;= \theta_{j} + \omega_j \Delta t \\&lt;br /&gt;
\omega_{j+1} &amp;amp;= \omega_{j} + (-2b \omega_j - sen(\theta_j))\Delta t + \alpha {R_G}_j \sqrt{\Delta t}&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;R_G&amp;lt;/math&amp;gt; é uma amostra de uma distribuição gaussiana com média 0 e variância 1, e o método de Euler foi utilizado para a parte determinística da equação. &lt;br /&gt;
&lt;br /&gt;
Nas próximas seções será analisado a energia do sistema, e como o método de Euler não é muito bom para preservar a energia de sistemas conservativos, será utilizado o método preditor corretor (com adição do método de Heun para &amp;lt;math&amp;gt; \theta &amp;lt;/math&amp;gt;) para a parte determinística da equação, que consiste nos seguintes passos:&lt;br /&gt;
&lt;br /&gt;
* Calcular um theta intermediário:&lt;br /&gt;
    &amp;lt;math&amp;gt; \theta^{(2)}_{j+1} = \theta_j + \omega_j \Delta t &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Com &amp;lt;math&amp;gt; \theta^{(2)}_{j+1} &amp;lt;/math&amp;gt; calcular um theta médio e utilizá-lo para obter um omega intermediário:&lt;br /&gt;
    &amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\bar \theta_j &amp;amp;= \frac{\theta^{(2)}_{j+1} + \theta_j}{2} \\&lt;br /&gt;
\omega^{(2)}_{j+1} &amp;amp;= \omega_j + f(\bar \theta_j, \omega_j, {R_G}_j)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
:Em que &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; é a expressão do método de Euler visto logo acima.&lt;br /&gt;
&lt;br /&gt;
* Recalcular theta utilizando um omega intermediário&lt;br /&gt;
    &amp;lt;math&amp;gt; \begin{aligned}&lt;br /&gt;
\bar \omega_j &amp;amp;= \frac{\omega^{(2)}_{j+1} + \omega_j}{2} \\&lt;br /&gt;
\theta_{j+1} &amp;amp;= \theta_j + \bar \omega_j \Delta t &lt;br /&gt;
\end{aligned} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Recalcular omega com um theta intermediário atualizado&lt;br /&gt;
    &amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\bar \theta^{(2)}_j &amp;amp;= \frac{\theta_{j+1} + \theta_j}{2} \\&lt;br /&gt;
\omega_{j+1} &amp;amp;= \omega_j + f(\bar \theta^{(2)}_j, \bar \omega_j, {R_G}_j)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
:OBS: No cálculo de &amp;lt;math&amp;gt;\omega^{(2)}_{j+1}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\omega_{j+1}&amp;lt;/math&amp;gt; foi utilizado o mesmo &amp;lt;math&amp;gt;{R_G}_j&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Energia (Sem amortecimento)===&lt;br /&gt;
Logo após terminar a implementação do método numérico, rapidamente notamos que a adição do ruído aumento a energia mecânica do pêndulo (&amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt;), vamos explorar esse fenômeno, sempre utilizando &amp;lt;math&amp;gt;\beta = 0&amp;lt;/math&amp;gt;. Para ilustrar esse efeito, segue uma animação do pêndulo partindo do repouso na configuração de equilíbrio estável (&amp;lt;math&amp;gt;\theta(0) = 0,~ \omega(0)=0&amp;lt;/math&amp;gt;) com &amp;lt;math&amp;gt;\alpha = 0.1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Energy_demo.gif|frame|center|Pêndulo partindo do repouso com ruído.]]&lt;br /&gt;
&lt;br /&gt;
Para realizar uma exploração quantitativa, o seguinte procedimento foi feito para vários valores de &amp;lt;math&amp;gt; \alpha &amp;lt;/math&amp;gt;:&lt;br /&gt;
* Utilizando &amp;lt;math&amp;gt;\Delta t = 0.01&amp;lt;/math&amp;gt;, integrar o sistema até &amp;lt;math&amp;gt;t_f = 100&amp;lt;/math&amp;gt;, calculando e armazenando a energia em cada passo temporal. Repetir essa integração 700 vezes para fazer médias temporais. Como exemplo, segue os dados obtidos da energia em função do tempo (com a média temporal feita) para um determinado &amp;lt;math&amp;gt; \alpha &amp;lt;/math&amp;gt; utilizado&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Energy_example.png|thumb|upright=2|center|Energia média em função tempo.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:O gráfico nos indica que o ruído gera uma potência média sobre o pêndulo.&lt;br /&gt;
&lt;br /&gt;
* Realizar um ajuste linear nos dados &amp;lt;math&amp;gt;\langle E \rangle_t \times t&amp;lt;/math&amp;gt; para obter o coeficiente angular, que corresponde a potência média gerada pelo ruído (&amp;lt;math&amp;gt;\bar P&amp;lt;/math&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Com as simulações executadas, foi realizado o gráfico &amp;lt;math&amp;gt;\bar P \times \alpha&amp;lt;/math&amp;gt;. Notamos que os dados se alinham em linha reta com os eixos em escala logarítmica, ou seja, os mesmos seguem uma lei de potência &amp;lt;math&amp;gt;\bar P = ae^{b \alpha}&amp;lt;/math&amp;gt;), então foi realizado outro ajuste linear para encontra o expoente &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, a figura a seguir ilustra os dados e os resultados do ajuste:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Power.png|frame|center|Potência em função do ruído (&amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;). O painel da esquerda possui eixos em escala linear e o da direita em escala logarítmica.]]&lt;br /&gt;
&lt;br /&gt;
Portanto, &amp;lt;math&amp;gt;\bar P&amp;lt;/math&amp;gt; aumenta, aproximadamente, de forma quadrática com &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;. Por fim, gostaríamos de mostrar que mesmo para &amp;lt;math&amp;gt; \alpha&amp;lt;/math&amp;gt; muito pequeno, ainda existe energia sendo injetada no sistema com taxa constante, e isso não é um artefato da simulação. Para tal, foram realizadas 700 simulações com &amp;lt;math&amp;gt;\alpha=5\cdot10^{-4}&amp;lt;/math&amp;gt; e os resultados foram comparados com &amp;lt;math&amp;gt; \alpha = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Test_low_alpha.png|frame|center|Energia média para &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; muito pequeno comparado com &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; nulo.]]&lt;br /&gt;
&lt;br /&gt;
===Energia (Com amortecimento)===&lt;br /&gt;
Até o momento, o amortecimento foi negligenciado. Vamos, então, introduzi-lo e rodar várias simulações (700, neste caso) e observar como a média temporal da energia evolui ao longo do tempo, assim como foi feita na seção anterior. Utilizando &amp;lt;math&amp;gt;\beta =0.1&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\alpha = 0.485&amp;lt;/math&amp;gt; foi obtido o seguinte resultado&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Energy_beta_example.png|frame|center|Energia mecânica média em função do tempo com amortecimento.]]&lt;br /&gt;
&lt;br /&gt;
claramente o comportamento neste caso é diferente do observado sem amortecimento, agora a anergia aumenta até um certo valor e permanece nele. Para explorar este novo fenômeno, os seguintes passos foram feitos para cada valor de &amp;lt;math&amp;gt;\beta = 0.01, 0.1, 0.2 &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Para diversos valores de &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;, executar 700 simulações até a energia estabilizar, salvando a média da energia entre as simulações.&lt;br /&gt;
* Para cada conjunto de dados gerados por um determinado &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;, selecionar um intervalo de tempo onde a energia está estabilizada e calcular a sua média (&amp;lt;math&amp;gt;\langle E \rangle&amp;lt;/math&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Produzindo o gráfico de &amp;lt;math&amp;gt;\langle E \rangle \times \alpha&amp;lt;/math&amp;gt; obtemos&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Power_beta_mosaic.png|frame|center|Energia estabilizada média em função de &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; para diferentes valores de amortecimento. Os painéis da esquerda possui eixos em escala linear e os da direita em escala logarítmica.]]&lt;br /&gt;
&lt;br /&gt;
as linhas vermelhas são os melhores ajustas de leis de potência na forma &amp;lt;math&amp;gt;\langle E \rangle = a \alpha^b &amp;lt;/math&amp;gt;. Para &amp;lt;math&amp;gt;\beta=0.1&amp;lt;/math&amp;gt; os dados utilizados no ajuste foram apenas até &amp;lt;math&amp;gt;\alpha = 0.6&amp;lt;/math&amp;gt; (indicado pela reta preta vertical no gráfico), pois após esse limite, a lei de potência deixa de ser um ótimo ajuste. É chamativo o fato de todos os coeficientes, independente de &amp;lt;math&amp;gt;\beta&amp;lt;/math&amp;gt;, serem aproximadamente 2.&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Test_low_alpha.png&amp;diff=10682</id>
		<title>Arquivo:Test low alpha.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Test_low_alpha.png&amp;diff=10682"/>
		<updated>2024-08-20T02:40:33Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Power_beta_mosaic.png&amp;diff=10681</id>
		<title>Arquivo:Power beta mosaic.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Power_beta_mosaic.png&amp;diff=10681"/>
		<updated>2024-08-20T02:26:15Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: Marcospasa carregada uma nova versão de Arquivo:Power beta mosaic.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Power_beta_mosaic.png&amp;diff=10680</id>
		<title>Arquivo:Power beta mosaic.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Power_beta_mosaic.png&amp;diff=10680"/>
		<updated>2024-08-20T01:52:31Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Energy_beta_example.png&amp;diff=10679</id>
		<title>Arquivo:Energy beta example.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Energy_beta_example.png&amp;diff=10679"/>
		<updated>2024-08-20T01:39:22Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=P%C3%AAndulos_Estoc%C3%A1sticos&amp;diff=10668</id>
		<title>Pêndulos Estocásticos</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=P%C3%AAndulos_Estoc%C3%A1sticos&amp;diff=10668"/>
		<updated>2024-08-18T21:24:55Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: /* Pêndulo Simples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Grupo :&#039;&#039;&#039; Gustavo H. Guesser, Joshua L. Kipper, Marcos Pasa.&lt;br /&gt;
&lt;br /&gt;
== Pêndulo Simples ==&lt;br /&gt;
===Equação de movimento===&lt;br /&gt;
Primeiramente vamos inserir ruído em um pêndulo simples, que é constituído de uma barra de comprimento &amp;lt;math&amp;gt;l&amp;lt;/math&amp;gt;, sem massa e rígida que contém uma massa &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; pontual em sua ponta, conforme ilustrado na figura a seguir.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Pendulo_simples.png|thumb|upright=2|center|Esquema de um pêndulos simples em um campo gravitacional constante.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando que o pêndulo está sob o efeito da gravidade e se encontra submerso em um fluido viscoso (como o ar), tal que a força de resistência que atua na massa é &amp;lt;math&amp;gt;-2b\vec v&amp;lt;/math&amp;gt;, a equação de movimento é dada por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta(t) = -\frac{2b}{m}\dot \theta - \frac{g}{l}sen(\theta) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos supor que existe uma força ruidosa atuando em &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;F_r(t)&amp;lt;/math&amp;gt;), que pode ser modelada por um ruído branco gaussiano &amp;lt;math&amp;gt;\xi(t)&amp;lt;/math&amp;gt; da seguinte forma&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_r(t) = m \alpha \xi(t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; é a intensidade do ruído. &amp;lt;math&amp;gt;\xi(t)&amp;lt;/math&amp;gt; é caracterizado pelas seguintes propriedades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\langle \xi(t) \rangle = 0,~~ \langle \xi(t_2)\xi(t_1) \rangle = \delta(t_2 -t_1)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adicionando essa nova força nas equações de movimento, ficamos com&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta(t) = -\frac{2b}{m}\dot \theta - \frac{g}{l}sen(\theta) + \frac{\alpha}{l}\xi(t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A partir de agora, por questão de simplicidade, vamos supor que &amp;lt;math&amp;gt;g = l = 1 &amp;lt;/math&amp;gt;, então&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta(t) = -2b\dot \theta - sen(\theta) + \alpha\xi(t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Método de integração===&lt;br /&gt;
Vamos montar um métodos para integrar o sistema no tempo. Primeiramente vamos dividir a equação em duas equações diferencias de primeira ordem, introduzindo a variável &amp;lt;math&amp;gt;\omega := \dot \theta &amp;lt;/math&amp;gt;, então ficamos com o seguinte sistema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\dot \theta &amp;amp;= \omega \\&lt;br /&gt;
\dot \omega &amp;amp;= -2b \omega - sen(\theta) + \alpha\xi(t)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que pode ser escrito na forma diferencial&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
d\theta &amp;amp;= \omega dt \\&lt;br /&gt;
d\omega &amp;amp;= (-2b \omega - sen(\theta))dt + \alpha\xi(t)dt&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mas &amp;lt;math&amp;gt;\xi(t)dt&amp;lt;/math&amp;gt; é o incremento do processo de Wiener (&amp;lt;math&amp;gt;W(t) = \int_0^t \xi(t&#039;)dt&#039; &amp;lt;/math&amp;gt;), então &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
d\theta &amp;amp;= \omega dt \\&lt;br /&gt;
d\omega &amp;amp;= (-2b\omega - sen(\theta))dt + \alpha dW(t)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Discretizando o tempo e lembrando que a densidade de probabilidade de transição de &amp;lt;math&amp;gt;W(t)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;W(t+\Delta t)&amp;lt;/math&amp;gt; tem desvio padrão igual a &amp;lt;math&amp;gt;\sqrt{\Delta t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\theta_{j+1} &amp;amp;= \theta_{j} + \omega_j \Delta t \\&lt;br /&gt;
\omega_{j+1} &amp;amp;= \omega_{j} + (-2b \omega_j - sen(\theta_j))\Delta t + \alpha {R_G}_j \sqrt{\Delta t}&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;R_G&amp;lt;/math&amp;gt; é uma amostra de uma distribuição gaussiana com média 0 e variância 1, e o método de Euler foi utilizado para a parte determinística da equação. &lt;br /&gt;
&lt;br /&gt;
Nas próximas seções será analisado a energia do sistema, e como o método de Euler não é muito bom para preservar a energia de sistemas conservativos, será utilizado o método preditor corretor (com adição do método de Heun para &amp;lt;math&amp;gt; \theta &amp;lt;/math&amp;gt;) para a parte determinística da equação, que consiste nos seguintes passos:&lt;br /&gt;
&lt;br /&gt;
* Calcular um theta intermediário:&lt;br /&gt;
    &amp;lt;math&amp;gt; \theta^{(2)}_{j+1} = \theta_j + \omega_j \Delta t &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Com &amp;lt;math&amp;gt; \theta^{(2)}_{j+1} &amp;lt;/math&amp;gt; calcular um theta médio e utilizá-lo para obter um omega intermediário:&lt;br /&gt;
    &amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\bar \theta_j &amp;amp;= \frac{\theta^{(2)}_{j+1} + \theta_j}{2} \\&lt;br /&gt;
\omega^{(2)}_{j+1} &amp;amp;= \omega_j + f(\bar \theta_j, \omega_j, {R_G}_j)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
:Em que &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; é a expressão do método de Euler visto logo acima.&lt;br /&gt;
&lt;br /&gt;
* Recalcular theta utilizando um omega intermediário&lt;br /&gt;
    &amp;lt;math&amp;gt; \begin{aligned}&lt;br /&gt;
\bar \omega_j &amp;amp;= \frac{\omega^{(2)}_{j+1} + \omega_j}{2} \\&lt;br /&gt;
\theta_{j+1} &amp;amp;= \theta_j + \bar \omega_j \Delta t &lt;br /&gt;
\end{aligned} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Recalcular omega com um theta intermediário atualizado&lt;br /&gt;
    &amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\bar \theta^{(2)}_j &amp;amp;= \frac{\theta_{j+1} + \theta_j}{2} \\&lt;br /&gt;
\omega_{j+1} &amp;amp;= \omega_j + f(\bar \theta^{(2)}_j, \bar \omega_j, {R_G}_j)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
:OBS: No cálculo de &amp;lt;math&amp;gt;\omega^{(2)}_{j+1}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\omega_{j+1}&amp;lt;/math&amp;gt; foi utilizado o mesmo &amp;lt;math&amp;gt;{R_G}_j&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Energia (Sem amortecimento)===&lt;br /&gt;
Logo após terminar a implementação do método numérico, rapidamente notamos que a adição do ruído aumento a energia mecânica do pêndulo (&amp;lt;math&amp;gt;E&amp;lt;/math&amp;gt;), vamos explorar esse fenômeno, sempre utilizando &amp;lt;math&amp;gt;\beta = 0&amp;lt;/math&amp;gt;. Para ilustrar esse efeito, segue uma animação do pêndulo partindo do repouso na configuração de equilíbrio estável (&amp;lt;math&amp;gt;\theta(0) = 0,~ \omega(0)=0&amp;lt;/math&amp;gt;) com &amp;lt;math&amp;gt;\alpha = 0.1&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Energy_demo.gif|frame|center|Pêndulo partindo do repouso com ruído.]]&lt;br /&gt;
&lt;br /&gt;
Para realizar uma exploração quantitativa, o seguinte procedimento foi feito para vários valores de &amp;lt;math&amp;gt; \alpha &amp;lt;/math&amp;gt;:&lt;br /&gt;
* Utilizando &amp;lt;math&amp;gt;\Delta t = 0.01&amp;lt;/math&amp;gt;, integrar o sistema até &amp;lt;math&amp;gt;t_f = 100&amp;lt;/math&amp;gt;, calculando e armazenando a energia em cada passo temporal. Repetir essa integração 700 vezes para fazer médias temporais. Como exemplo, segue os dados obtidos da energia em função do tempo (com a média temporal feita) para um determinado &amp;lt;math&amp;gt; \alpha &amp;lt;/math&amp;gt; utilizado&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Energy_example.png|thumb|upright=2|center|Energia média em função tempo.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:O gráfico nos indica que o ruído gera uma potência média sobre o pêndulo.&lt;br /&gt;
&lt;br /&gt;
* Realizar um ajuste linear nos dados &amp;lt;math&amp;gt;\langle E \rangle_t \times t&amp;lt;/math&amp;gt; para obter o coeficiente angular, que corresponde a potência média gerada pelo ruído (&amp;lt;math&amp;gt;\bar P&amp;lt;/math&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Com as simulações executadas, foi realizado o gráfico &amp;lt;math&amp;gt;\bar P \times \alpha&amp;lt;/math&amp;gt;. Notamos que os dados se alinham em linha reta com os eixos em escala logarítmica, ou seja, os mesmos seguem uma lei de potência &amp;lt;math&amp;gt;\bar P = ae^{b \alpha}&amp;lt;/math&amp;gt;), então foi realizado outro ajuste linear para encontra o expoente &amp;lt;math&amp;gt;b&amp;lt;/math&amp;gt;, a figura a seguir ilustra os dados e os resultados do ajuste:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Power.png|frame|center|Potência em função do ruído (&amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;). O painel da esquerda possui eixos em escala linear e o da direita em escala logarítmica.]]&lt;br /&gt;
&lt;br /&gt;
Portanto, &amp;lt;math&amp;gt;\bar P&amp;lt;/math&amp;gt; aumenta, aproximadamente, de forma quadrática com &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Energia (Com amortecimento)===&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Power.png&amp;diff=10667</id>
		<title>Arquivo:Power.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Power.png&amp;diff=10667"/>
		<updated>2024-08-18T21:06:46Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Energy_example.png&amp;diff=10666</id>
		<title>Arquivo:Energy example.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Energy_example.png&amp;diff=10666"/>
		<updated>2024-08-18T20:51:22Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Energy_demo.gif&amp;diff=10665</id>
		<title>Arquivo:Energy demo.gif</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Energy_demo.gif&amp;diff=10665"/>
		<updated>2024-08-18T20:42:15Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=P%C3%AAndulos_Estoc%C3%A1sticos&amp;diff=10664</id>
		<title>Pêndulos Estocásticos</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=P%C3%AAndulos_Estoc%C3%A1sticos&amp;diff=10664"/>
		<updated>2024-08-18T20:15:01Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: /* Pêndulo Simples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Grupo :&#039;&#039;&#039; Gustavo H. Guesser, Joshua L. Kipper, Marcos Pasa.&lt;br /&gt;
&lt;br /&gt;
== Pêndulo Simples ==&lt;br /&gt;
===Equação de movimento===&lt;br /&gt;
Primeiramente vamos inserir ruído em um pêndulo simples, que é constituído de uma barra de comprimento &amp;lt;math&amp;gt;l&amp;lt;/math&amp;gt;, sem massa e rígida que contém uma massa &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; pontual em sua ponta, conforme ilustrado na figura a seguir.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Pendulo_simples.png|thumb|upright=2|center|Esquema de um pêndulos simples em um campo gravitacional constante.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando que o pêndulo está sob o efeito da gravidade e se encontra submerso em um fluido viscoso (como o ar), tal que a força de resistência que atua na massa é &amp;lt;math&amp;gt;-2b\vec v&amp;lt;/math&amp;gt;, a equação de movimento é dada por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta(t) = -\frac{2b}{m}\dot \theta - \frac{g}{l}sen(\theta) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos supor que existe uma força ruidosa atuando em &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;F_r(t)&amp;lt;/math&amp;gt;), que pode ser modelada por um ruído branco gaussiano &amp;lt;math&amp;gt;\xi(t)&amp;lt;/math&amp;gt; da seguinte forma&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_r(t) = m \alpha \xi(t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; é a intensidade do ruído. &amp;lt;math&amp;gt;\xi(t)&amp;lt;/math&amp;gt; é caracterizado pelas seguintes propriedades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\langle \xi(t) \rangle = 0,~~ \langle \xi(t_2)\xi(t_1) \rangle = \delta(t_2 -t_1)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adicionando essa nova força nas equações de movimento, ficamos com&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta(t) = -\frac{2b}{m}\dot \theta - \frac{g}{l}sen(\theta) + \frac{\alpha}{l}\xi(t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A partir de agora, por questão de simplicidade, vamos supor que &amp;lt;math&amp;gt;g = l = 1 &amp;lt;/math&amp;gt;, então&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta(t) = -2b\dot \theta - sen(\theta) + \alpha\xi(t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Método de integração===&lt;br /&gt;
Vamos montar um métodos para integrar o sistema no tempo. Primeiramente vamos dividir a equação em duas equações diferencias de primeira ordem, introduzindo a variável &amp;lt;math&amp;gt;\omega := \dot \theta &amp;lt;/math&amp;gt;, então ficamos com o seguinte sistema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\dot \theta &amp;amp;= \omega \\&lt;br /&gt;
\dot \omega &amp;amp;= -2b \omega - sen(\theta) + \alpha\xi(t)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que pode ser escrito na forma diferencial&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
d\theta &amp;amp;= \omega dt \\&lt;br /&gt;
d\omega &amp;amp;= (-2b \omega - sen(\theta))dt + \alpha\xi(t)dt&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mas &amp;lt;math&amp;gt;\xi(t)dt&amp;lt;/math&amp;gt; é o incremento do processo de Wiener (&amp;lt;math&amp;gt;W(t) = \int_0^t \xi(t&#039;)dt&#039; &amp;lt;/math&amp;gt;), então &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
d\theta &amp;amp;= \omega dt \\&lt;br /&gt;
d\omega &amp;amp;= (-2b\omega - sen(\theta))dt + \alpha dW(t)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Discretizando o tempo e lembrando que a densidade de probabilidade de transição de &amp;lt;math&amp;gt;W(t)&amp;lt;/math&amp;gt; para &amp;lt;math&amp;gt;W(t+\Delta t)&amp;lt;/math&amp;gt; tem desvio padrão igual a &amp;lt;math&amp;gt;\sqrt{\Delta t}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\theta_{j+1} &amp;amp;= \theta_{j} + \omega_j \Delta t \\&lt;br /&gt;
\omega_{j+1} &amp;amp;= \omega_{j} + (-2b \omega_j - sen(\theta_j))\Delta t + \alpha {R_G}_j \sqrt{\Delta t}&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;R_G&amp;lt;/math&amp;gt; é uma amostra de uma distribuição gaussiana com média 0 e variância 1, e o método de Euler foi utilizado para a parte determinística da equação. &lt;br /&gt;
&lt;br /&gt;
Nas próximas seções será analisado a energia do sistema, e como o método de Euler não é muito bom para preservar a energia de sistemas conservativos, será utilizado o método preditor corretor (com adição do método de Heun para &amp;lt;math&amp;gt; \theta &amp;lt;/math&amp;gt;) para a parte determinística da equação, que consiste nos seguintes passos:&lt;br /&gt;
&lt;br /&gt;
* Calcular um theta intermediário:&lt;br /&gt;
    &amp;lt;math&amp;gt; \theta^{(2)}_{j+1} = \theta_j + \omega_j \Delta t &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Com &amp;lt;math&amp;gt; \theta^{(2)}_{j+1} &amp;lt;/math&amp;gt; calcular um theta médio e utilizá-lo para obter um omega intermediário:&lt;br /&gt;
    &amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\bar \theta_j &amp;amp;= \frac{\theta^{(2)}_{j+1} + \theta_j}{2} \\&lt;br /&gt;
\omega^{(2)}_{j+1} &amp;amp;= \omega_j + f(\bar \theta_j, \omega_j, {R_G}_j)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
:Em que &amp;lt;math&amp;gt;f&amp;lt;/math&amp;gt; é a expressão do método de Euler visto logo acima.&lt;br /&gt;
&lt;br /&gt;
* Recalcular theta utilizando um omega intermediário&lt;br /&gt;
    &amp;lt;math&amp;gt; \begin{aligned}&lt;br /&gt;
\bar \omega_j &amp;amp;= \frac{\omega^{(2)}_{j+1} + \omega_j}{2} \\&lt;br /&gt;
\theta_{j+1} &amp;amp;= \theta_j + \bar \omega_j \Delta t &lt;br /&gt;
\end{aligned} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Recalcular omega com um theta intermediário atualizado&lt;br /&gt;
    &amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\bar \theta^{(2)}_j &amp;amp;= \frac{\theta_{j+1} + \theta_j}{2} \\&lt;br /&gt;
\omega_{j+1} &amp;amp;= \omega_j + f(\bar \theta^{(2)}_j, \bar \omega_j, {R_G}_j)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
:OBS: No cálculo de &amp;lt;math&amp;gt;\omega^{(2)}_{j+1}&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\omega_{j+1}&amp;lt;/math&amp;gt; foi utilizado o mesmo &amp;lt;math&amp;gt;{R_G}_j&amp;lt;/math&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=P%C3%AAndulos_Estoc%C3%A1sticos&amp;diff=10663</id>
		<title>Pêndulos Estocásticos</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=P%C3%AAndulos_Estoc%C3%A1sticos&amp;diff=10663"/>
		<updated>2024-08-18T19:30:24Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: /* Pêndulo Simples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Grupo :&#039;&#039;&#039; Gustavo H. Guesser, Joshua L. Kipper, Marcos Pasa.&lt;br /&gt;
&lt;br /&gt;
== Pêndulo Simples ==&lt;br /&gt;
===Equação de movimento===&lt;br /&gt;
Primeiramente vamos inserir ruído em um pêndulo simples, que é constituído de uma barra de comprimento &amp;lt;math&amp;gt;l&amp;lt;/math&amp;gt;, sem massa e rígida que contém uma massa &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; pontual em sua ponta, conforme ilustrado na figura a seguir.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Pendulo_simples.png|thumb|upright=2|center|Esquema de um pêndulos simples em um campo gravitacional constante.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando que o pêndulo está sob o efeito da gravidade e se encontra submerso em um fluido viscoso (como o ar), tal que a força de resistência que atua na massa é &amp;lt;math&amp;gt;-2b\vec v&amp;lt;/math&amp;gt;, a equação de movimento é dada por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta(t) = -\frac{2b}{m}\dot \theta - \frac{g}{l}sen(\theta) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos supor que existe uma força ruidosa atuando em &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;F_r(t)&amp;lt;/math&amp;gt;), que pode ser modelada por um ruído branco gaussiano &amp;lt;math&amp;gt;\xi(t)&amp;lt;/math&amp;gt; da seguinte forma&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_r(t) = m \alpha \xi(t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; é a intensidade do ruído. &amp;lt;math&amp;gt;\xi(t)&amp;lt;/math&amp;gt; é caracterizado pelas seguintes propriedades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\langle \xi(t) \rangle = 0,~~ \langle \xi(t_2)\xi(t_1) \rangle = \delta(t_2 -t_1)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adicionando essa nova força nas equações de movimento, ficamos com&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta(t) = -\frac{2b}{m}\dot \theta - \frac{g}{l}sen(\theta) + \frac{\alpha}{l}\xi(t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A partir de agora, por questão de simplicidade, vamos supor que &amp;lt;math&amp;gt;g = l = 1 &amp;lt;/math&amp;gt;, então&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta(t) = -2b\dot \theta - sen(\theta) + \alpha\xi(t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Método de integração===&lt;br /&gt;
Vamos montar um métodos para integrar o sistema no tempo. Primeiramente vamos dividir a equação em duas equações diferencias de primeira ordem, introduzindo a variável &amp;lt;math&amp;gt;\omega := \dot \theta &amp;lt;/math&amp;gt;, então ficamos com o seguinte sistema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\dot \theta &amp;amp;= \omega \\&lt;br /&gt;
\dot \omega &amp;amp;= -2b\dot \theta - sen(\theta) + \alpha\xi(t)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
que pode ser escrito na forma diferencial&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
d\theta &amp;amp;= \omega dt \\&lt;br /&gt;
d\omega &amp;amp;= (-2b\dot \theta - sen(\theta))dt + \alpha\xi(t)dt&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=P%C3%AAndulos_Estoc%C3%A1sticos&amp;diff=10662</id>
		<title>Pêndulos Estocásticos</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=P%C3%AAndulos_Estoc%C3%A1sticos&amp;diff=10662"/>
		<updated>2024-08-18T19:29:07Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: /* Pêndulo Simples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Grupo :&#039;&#039;&#039; Gustavo H. Guesser, Joshua L. Kipper, Marcos Pasa.&lt;br /&gt;
&lt;br /&gt;
== Pêndulo Simples ==&lt;br /&gt;
===Equação de movimento===&lt;br /&gt;
Primeiramente vamos inserir ruído em um pêndulo simples, que é constituído de uma barra de comprimento &amp;lt;math&amp;gt;l&amp;lt;/math&amp;gt;, sem massa e rígida que contém uma massa &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; pontual em sua ponta, conforme ilustrado na figura a seguir.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Pendulo_simples.png|thumb|upright=2|center|Esquema de um pêndulos simples em um campo gravitacional constante.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando que o pêndulo está sob o efeito da gravidade e se encontra submerso em um fluido viscoso (como o ar), tal que a força de resistência que atua na massa é &amp;lt;math&amp;gt;-2b\vec v&amp;lt;/math&amp;gt;, a equação de movimento é dada por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta(t) = -\frac{2b}{m}\dot \theta - \frac{g}{l}sen(\theta) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos supor que existe uma força ruidosa atuando em &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; (&amp;lt;math&amp;gt;F_r(t)&amp;lt;/math&amp;gt;), que pode ser modelada por um ruído branco gaussiano &amp;lt;math&amp;gt;\xi(t)&amp;lt;/math&amp;gt; da seguinte forma&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_r(t) = m \alpha \xi(t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;\alpha&amp;lt;/math&amp;gt; é a intensidade do ruído. &amp;lt;math&amp;gt;\xi(t)&amp;lt;/math&amp;gt; é caracterizado pelas seguintes propriedades:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\langle \xi(t) \rangle = 0,~~ \langle \xi(t_2)\xi(t_1) \rangle = \delta(t_2 -t_1)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adicionando essa nova força nas equações de movimento, ficamos com&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta(t) = -\frac{2b}{m}\dot \theta - \frac{g}{l}sen(\theta) + \frac{\alpha}{l}\xi(t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A partir de agora, por questão de simplicidade, vamos supor que &amp;lt;math&amp;gt;g = l = 1 &amp;lt;/math&amp;gt;, então&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\ddot \theta(t) = -2b\dot \theta - sen(\theta) + \alpha\xi(t) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Método de integração===&lt;br /&gt;
Vamos montar um métodos para integrar o sistema no tempo. Primeiramente vamos dividir a equação em duas equações diferencias de primeira ordem, introduzindo a variável &amp;lt;math&amp;gt;\omega := \dot \theta &amp;lt;/math&amp;gt;, então ficamos com o seguinte sistema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\dot \theta &amp;amp;= \omega \\&lt;br /&gt;
\dot \omega &amp;amp;= -2b\dot \theta - sen(\theta) + \alpha\xi(t)&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=P%C3%AAndulos_Estoc%C3%A1sticos&amp;diff=10607</id>
		<title>Pêndulos Estocásticos</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=P%C3%AAndulos_Estoc%C3%A1sticos&amp;diff=10607"/>
		<updated>2024-08-17T11:25:38Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: Criou página com &amp;#039;&amp;#039;&amp;#039;&amp;#039;Grupo :&amp;#039;&amp;#039;&amp;#039; Gustavo H. Guesser, Joshua L. Kipper, Marcos Pasa.  == Pêndulo Simples == Primeiramente vamos inserir ruído em um pêndulo simples, que é constituído de uma barra de comprimento &amp;lt;math&amp;gt;l&amp;lt;/math&amp;gt;, sem massa e rígida que contém uma massa &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; pontual em sua ponta, conforme ilustrado na figura a seguir.  &amp;lt;center&amp;gt; Esquema de um pêndulos simples em um campo gravitacional constante. &amp;lt;/center&amp;gt;...&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Grupo :&#039;&#039;&#039; Gustavo H. Guesser, Joshua L. Kipper, Marcos Pasa.&lt;br /&gt;
&lt;br /&gt;
== Pêndulo Simples ==&lt;br /&gt;
Primeiramente vamos inserir ruído em um pêndulo simples, que é constituído de uma barra de comprimento &amp;lt;math&amp;gt;l&amp;lt;/math&amp;gt;, sem massa e rígida que contém uma massa &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; pontual em sua ponta, conforme ilustrado na figura a seguir.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Pendulo_simples.png|thumb|upright=2|center|Esquema de um pêndulos simples em um campo gravitacional constante.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando que a força de resistência que atua na massa é &amp;lt;math&amp;gt;-2bl\dot \theta &amp;lt;/math&amp;gt;&lt;br /&gt;
A equação de movimente para esse pêndulo é:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\theta(t) = -\frac{2b}{m}\dot \theta - \frac{g}{l}sen(\theta) &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Pendulo_simples.png&amp;diff=10601</id>
		<title>Arquivo:Pendulo simples.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Pendulo_simples.png&amp;diff=10601"/>
		<updated>2024-08-15T18:05:10Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Trabalhos_2024/1&amp;diff=10600</id>
		<title>Trabalhos 2024/1</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Trabalhos_2024/1&amp;diff=10600"/>
		<updated>2024-08-15T17:50:01Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== [[Pêndulos Estocásticos]] ==&lt;br /&gt;
&lt;br /&gt;
== [[Corda Vibrante]] ==&lt;br /&gt;
&lt;br /&gt;
== [[Equação de Ginzburg-Landau complexa]] ==&lt;br /&gt;
&lt;br /&gt;
== [[Equação de Dirac]] ==&lt;br /&gt;
&lt;br /&gt;
== [[Equação de Schrödinger Unidimensional]] ==&lt;br /&gt;
&lt;br /&gt;
== [[Equação de Liouville-Bratu-Gelfand]] ==&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Corda_Vibrante&amp;diff=10244</id>
		<title>Corda Vibrante</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Corda_Vibrante&amp;diff=10244"/>
		<updated>2024-04-24T13:40:19Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: /* Potência espectral */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Grupo :&#039;&#039;&#039; Gustavo H. Guesser, Joshua L. Kipper, Marcos Pasa.&lt;br /&gt;
&lt;br /&gt;
== A equação da onda ==&lt;br /&gt;
No estudo das oscilações, é comum entre os físicos o emprego de modelos simples como representações &amp;quot;prototípicas&amp;quot; de certos padrões básicos observados na natureza. A eficácia desses modelos simples decorre de duas características fundamentais: a capacidade de serem compreendidos em detalhes minuciosos e a habilidade de reproduzir comportamentos semelhantes aos de situações reais e mais complexas, auxiliando na compreensão destas, pelo menos em termos qualitativos.&lt;br /&gt;
&lt;br /&gt;
Quando se trata de comportamentos oscilatórios, o modelo mais comumente utilizado é o do sistema massa-mola. Por outro lado, para descrever comportamentos ondulatórios unidimensionais, o modelo simples mais difundido é o da corda vibrante.&lt;br /&gt;
&lt;br /&gt;
=== Dedução ===&lt;br /&gt;
Consideremos uma corda esticada, como a corda de um violão, por exemplo. Suponhamos que esta corda tenha um comprimento &amp;lt;math&amp;gt; L &amp;lt;/math&amp;gt; e que suas extremidades estejam fixas nos pontos &amp;lt;math&amp;gt; x = 0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; x = L &amp;lt;/math&amp;gt;. Além disso, vamos supor que a corda tenha uma densidade linear uniforme representada por &amp;lt;math&amp;gt; \mu = \frac{dm}{dx} &amp;lt;/math&amp;gt;, e que esteja sob uma tensão constante &amp;lt;math&amp;gt; T &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Assumindo que a corda realize vibrações transversais apenas na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt; (embora possa ter vibrações transversais na direção &amp;lt;math&amp;gt; z &amp;lt;/math&amp;gt;, as quais vamos ignorar aqui), podemos representar a configuração da corda em qualquer instante de tempo no plano &amp;lt;math&amp;gt; xy &amp;lt;/math&amp;gt; por uma função &amp;lt;math&amp;gt; y(x,t) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vamos considerar mais algumas suposições:&lt;br /&gt;
&lt;br /&gt;
I) A tensão &amp;lt;math&amp;gt; T &amp;lt;/math&amp;gt; que estica a corda é tão alta que podemos negligenciar a força gravitacional sobre ela;&lt;br /&gt;
&lt;br /&gt;
II) A corda é perfeitamente elástica, ou seja, não oferece resistência a dobras;&lt;br /&gt;
&lt;br /&gt;
III) Os deslocamentos da corda, que ocorrem apenas na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt;, são de pequena amplitude.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com essas suposições em mente, estamos prontos para abordar o problema da corda vibrante. Em qualquer instante de tempo, um segmento arbitrário da corda estará na posição geral indicada pela figura abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:posicao_generica.png|400px|thumb|center|Posição genérica de um pedaço qualquer da corda]]&lt;br /&gt;
&lt;br /&gt;
A massa do pequeno segmento de corda de comprimento &amp;lt;math&amp;gt; \Delta{x} &amp;lt;/math&amp;gt; é&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\Delta{m} = \mu \Delta{x}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As componentes horizontal e vertical da força resultante atuando sobre esse segmento são:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_x = T \cos{(\theta + \Delta{\theta})} - T \cos{(\theta)}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
e&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_y = T \sin{(\theta + \Delta{\theta})} - T \sin{(\theta)}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Estamos assumindo que a corda não se move na direção &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; (apenas na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt;). Isso implica que a força resultante na direção &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; é nula (&amp;lt;math&amp;gt; F_x = 0 &amp;lt;/math&amp;gt;). Substituindo essa condição na equação, obtemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\cos{(\theta + \Delta{\theta})} = \cos{(\theta)}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E a força resultante na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; F_y &amp;lt;/math&amp;gt;, é dada de acordo com a segunda lei de Newton:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_y = (\mu \Delta{x})a_y = (\mu \Delta{x}) \frac{\partial^2{y}}{\partial{t^2}},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
então:&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
T \sin{(\theta + \Delta{\theta})} - T \sin{(\theta)} = (\mu \Delta{x}) \frac{\partial^2{y}}{\partial{t^2}},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
ou&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\sin{(\theta + \Delta{\theta})} - \sin{(\theta)} = \Delta{x} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos prosseguir dividindo os dois lados da equação acima pelo termo &amp;lt;math&amp;gt; \cos{(\theta)} &amp;lt;/math&amp;gt;, sabendo que &amp;lt;math&amp;gt; \cos{(\theta)} = \cos{(\theta + \Delta{\theta})} &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\sin{(\theta + \Delta{\theta})}}{\cos{(\theta + \Delta{\theta})}} - \frac{\sin{(\theta)}}{\cos{(\theta)}} = \frac{\Delta{x}}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}} \to \tan{(\theta + \Delta{\theta})} - \tan{(\theta)} = \frac{\Delta{x}}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando que o coeficiente angular da reta tangente a uma função em um dado ponto do seu domínio é igual à derivada da função nesse ponto, temos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial{y}}{\partial{x}} (x + \Delta{x}, t) - \frac{\partial{y}}{\partial{x}} (x, t) = \frac{\Delta{x}}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dividindo ambos os lados por &amp;lt;math&amp;gt; \Delta{x} &amp;lt;/math&amp;gt;, teremos do lado esquerdo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\frac{\partial{y}}{\partial{x}} (x + \Delta{x}, t) - \frac{\partial{y}}{\partial{x}} (x, t)}{\Delta{x}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e no limite que &amp;lt;math&amp;gt; \Delta{x} \to 0 &amp;lt;/math&amp;gt;, a expressão se torna uma derivada parcial segunda &amp;lt;math&amp;gt; \frac{\partial^2{y}}{\partial{x^2}} &amp;lt;/math&amp;gt;, nos permitindo reescrever a equação como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2{y}}{\partial{x^2}} (x, t) = \frac{1}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}} (x, t).&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E, como última manipulação, vamos supor agora que os deslocamentos da corda são pequenos, o que implica que os ângulos associados a esses deslocamentos também são pequenos: &amp;lt;math&amp;gt; \theta &amp;lt;&amp;lt; 1 &amp;lt;/math&amp;gt;. Com essa condição, &amp;lt;math&amp;gt; \cos{(\theta)} \approx 1 &amp;lt;/math&amp;gt; e chegamos em:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2{y}}{\partial{x^2}} (x, t) = \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}} (x, t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde o termo &amp;lt;math&amp;gt; \frac{\mu}{T} &amp;lt;/math&amp;gt; tem dimensão de &amp;lt;math&amp;gt; \frac{1}{c^2} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; c &amp;lt;/math&amp;gt; é a velocidade de propagação de ondas na corda esticada:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2{y}}{\partial{x^2}} (x, t) = \frac{1}{c^2} \frac{\partial^2{y}}{\partial{t^2}} (x, t) \Leftrightarrow \frac{\partial^2{y}}{\partial{t^2}} (x, t) = &lt;br /&gt;
c^2 \frac{\partial^2{y}}{\partial{x^2}} (x, t) \Leftrightarrow y_{tt} = c^2 y_{xx}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Chegando a conlusão de que essa é a expressão para a corda vibrante e que a velocidade de propagação aumenta com a tensão na corda e diminui com a sua inércia (massa por unidade de comprimento).&lt;br /&gt;
&lt;br /&gt;
=== Solução Analítica ===&lt;br /&gt;
Começaremos tomando as condições de contorno da corda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y(0,t) = 0 &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y(L,t) = 0 &lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
indicando que as extremidades da corda permanecem fixas.&lt;br /&gt;
&lt;br /&gt;
Além disso, tomaremos também as seguintes condições iniciais para a posição e velocidade da corda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y(x,0) = f(x) &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; 0 \leq x \leq L &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial{y}}{\partial{t}} (x,0) = y_t = g(x) &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; 0 \leq x \leq L&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; f(x) &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; g(x) &amp;lt;/math&amp;gt; são funções tais que &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
f(0) = f(L) = 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
g(0) = g(L) = 0.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Iniciaremos o estudo das vibrações em uma corda elástica admitindo que a velocidade inicial da corda é nula, ou seja:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
g(x) = 0 &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; \forall 0 \leq x \leq L.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, estamos tratando do problema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\begin{cases}  &lt;br /&gt;
y_{tt} = c^2 y_{xx},\\&lt;br /&gt;
y(0,t) = 0, \\&lt;br /&gt;
y(L,t) = 0,\\&lt;br /&gt;
y(x,0) = f(x), &amp;amp; 0\leq x \leq L,\\&lt;br /&gt;
y_t = g(x), &amp;amp; 0\leq x \leq L.\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em que &amp;lt;math&amp;gt; f(0) = f(L) = 0 &amp;lt;/math&amp;gt; descreve a configuração da corda no início.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Usaremos o método da separação de variáveis para resolver o problema admitindo que &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt; pode ser escrita como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y(x,t) = X(x)T(t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
na qual &amp;lt;math&amp;gt; X &amp;lt;/math&amp;gt; depende apenas de &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; T &amp;lt;/math&amp;gt; depende apenas de &amp;lt;math&amp;gt; t &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Aplicando na equação diferencial parcial, temos:&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{X&#039;&#039;}{X} = \frac{1}{c^2} \frac{T&#039;&#039;}{T} = - \lambda,&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; \lambda &amp;lt;/math&amp;gt; é uma constante de separação.&lt;br /&gt;
&lt;br /&gt;
Logo, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
X&#039;&#039; + \lambda X = 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
T&#039;&#039; + c^2 \lambda T = 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicando as condições de contorno, encontramos o problema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
X&#039;&#039; + \lambda X = 0 &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; X(0) = X(L) = 0,&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cuja solução é dada por&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
X_n (x) = \sin{\left(\frac{n \pi x}{L} \right)}, \ {\lambda}_n = \left(\frac{n \pi}{L} \right)^2, \ n = 1, 2, 3, ...&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com as constantes de separação acima, podemos obter a EDO&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
T&#039;&#039; + {\omega}^2 T = 0, \ \omega = \frac{n \pi a}{L},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cujas soluções são&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
T(t) = k_1 \cos{(\omega t)} + k_2 \sin{(\omega t)}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pelo fato da velocidade inicial da corda ser nula, deduzimos que&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_t (x,0) = X(x)T&#039;(0) = 0, \ \forall 0 \leq x \leq L, \ \Rightarrow T&#039;(0) = 0.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
T&#039;(t) = - \omega k_1 \sin{(\omega t)} + \omega k_2 \cos{(\omega t)},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
temos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
T&#039;(0) = 0 \ \Rightarrow k_2 = 0.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assim, as soluções fundamentais da equação da onda, envolvendo as condições de contorno e a segunda condição inicial são dadas por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_n (x,t) = \sin{\left(\frac{n \pi x}{L} \right)} \cos{(\omega t)} = \sin{\left(\frac{n \pi x}{L} \right)} \cos{\left(\frac{n \pi a t}{L} \right)},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
para &amp;lt;math&amp;gt; n = 1, 2, 3, ... &amp;lt;/math&amp;gt; &amp;lt;ref name=&amp;quot;y_periodica&amp;quot;/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por fim, a superposição das soluções fundamentais nos fornece&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y(x,t) = \sum^{\infty}_{n=1} c_n \sin{\left(\frac{n \pi x}{L} \right)} \cos{\left(\frac{n \pi a t}{L} \right)}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e a condição inicial &amp;lt;math&amp;gt; y(x,0) = f(x) &amp;lt;/math&amp;gt; fornece&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y(x,0) = \sum^{\infty}_{n=1} c_n \sin{\left(\frac{n \pi x}{L} \right)} = f(x).&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Então, admitindo que &amp;lt;math&amp;gt; f(x) &amp;lt;/math&amp;gt; é uma função ímpar com período &amp;lt;math&amp;gt; T = 2L &amp;lt;/math&amp;gt;, concluímos que os coeficientes satisfazem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
c_n = \frac{2}{L} \int^{L}_{0} f(x) \sin{\left(\frac{n \pi x}{L} \right)} dx, \ n = 1, 2, 3, ...&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Juntando as informações, temos que a solução do problema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\begin{cases}  &lt;br /&gt;
y_{tt} = c^2 y_{xx},\\&lt;br /&gt;
y(0,t) = 0, \\&lt;br /&gt;
y(L,t) = 0,\\&lt;br /&gt;
y(x,0) = f(x), &amp;amp; 0\leq x \leq L,\\&lt;br /&gt;
y_t = g(x), &amp;amp; 0\leq x \leq L.\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
é dada por&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y(x,t) = \sum^{\infty}_{n=1} c_n \sin{\left(\frac{n \pi x}{L} \right)} \cos{\left(\frac{n \pi a t}{L} \right)},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;freq_nat&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
c_n = \frac{2}{L} \int^{L}_{0} f(x) \sin{\left(\frac{n \pi x}{L} \right)} dx, \ n = 1, 2, 3, ...&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adaptação da equação da onda para uma corda real ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} = c^{2}\left ( \frac{\partial^2 y}{\partial x^2} - \epsilon L^{2}\frac{\partial^4 y}{\partial x^4} \right ) - 2b\frac{\partial y}{\partial t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
## o termo 4º vem da rigidez da corda e o epsilon controla a rigidez&lt;br /&gt;
## -2b é o amortecimento&lt;br /&gt;
&lt;br /&gt;
== Método FTCS ==&lt;br /&gt;
&lt;br /&gt;
O método FTCS (Forward Time Central Space) é uma abordagem progressiva no tempo e centrada no espaço. Em outras palavras, ao lidarmos com uma função de duas variáveis, buscamos uma solução futura em termos do tempo, centrada em uma vizinhança espacial. Para a resolução numérica da equação diferencial unidimensional da onda, optamos por trabalhar exclusivamente com o método explícito.&lt;br /&gt;
&lt;br /&gt;
=== Corda Ideal ===&lt;br /&gt;
&lt;br /&gt;
==== Método Explícito ====&lt;br /&gt;
&lt;br /&gt;
Para aplicar o método, é necessário inicialmente discretizar tanto as variáveis espaciais quanto as variáveis temporais. Seja a função &amp;lt;math&amp;gt; y(t,x): \mathbb{R}^{2} \mapsto \mathbb{R} &amp;lt;/math&amp;gt;, sejam os intervalos &amp;lt;math&amp;gt; \left [ 0,X \right ], \left [ 0,T \right ]\subset \mathbb{R} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; N,M\in \mathbb{N} &amp;lt;/math&amp;gt;, discretizamos os intervalos em espaçamentos iguais &amp;lt;math&amp;gt; \Delta x = X/N &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; \Delta t = T/M &amp;lt;/math&amp;gt; de tal maneira que obtemos as sequências crescentes monótonas &amp;lt;math&amp;gt;\left \{ x_{i} \right \}_{i=0}^{N} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\left \{ t_{i} \right \}_{j=0}^{M} &amp;lt;/math&amp;gt; . Assim obtemos uma grade de malhas de pontos &amp;lt;math&amp;gt; (t_{i}, x_{i}) &amp;lt;/math&amp;gt; onde a função &amp;lt;math&amp;gt; y(t,x) &amp;lt;/math&amp;gt; tem seus valores aproximados por &amp;lt;math&amp;gt; y(t_{i}, x_{i}) &amp;lt;/math&amp;gt; denotado &amp;lt;math&amp;gt; y_{j}^{n} &amp;lt;/math&amp;gt;. Uma abordagem comum envolve a discretização da primeira derivada no tempo utilizando uma diferença finita progressiva baseada na expansão em séries de Taylor até a primeira ordem :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial y}{\partial t} \approx \frac{y(t+\Delta t, x) - y(t, x)}{\Delta t} = \frac{y_{j}^{n+1} - y_{j}^{n}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Discretizando a derivada temporal segunda utilizando um diferença finita regressiva :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} \approx  \frac{\partial}{\partial t} \left(\frac{y_{j}^{n+1} - y_{j}^{n}}{\Delta t}\right) \approx \frac{1}{\Delta t}\left [\frac{y\left (t+\Delta t, x  \right ) - y\left (\left (t + \Delta t  \right )- \Delta t, x  \right )}{\Delta t} - \frac{y\left (t,x  \right ) - y\left (t - \Delta t, x  \right )}{\Delta t } \right ] = \frac{y\left (t + \Delta t, x  \right ) + y\left (t - \Delta t, x  \right ) - 2y\left (t, x  \right )}{(\Delta t)^{2}} = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que o processo retorna uma derivada de diferenças finitas centrada, além disso obtemos um aproximação de segunda ordem. O mecanismo de discretização das derivadas espaciais é completamente análogo, a derivada segunda centrada :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^{2} y}{\partial x^{2}} \approx \frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aplicando as expressões das diferenciais na equação da onda :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} = c^{2} \frac{\partial^2 y}{\partial x^2} \mapsto \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} = c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
defina &amp;lt;math&amp;gt; a := c\Delta t / \Delta x &amp;lt;/math&amp;gt; e explicite a variável no estado temporal futuro, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_{j}^{n+1} = 2\left(1 - a^{2}\right)y_{j}^{n} - y_{j}^{n-1} + a^{2}\left ( y_{j+1}^{n} + y_{j-1}^{n}\right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
uma equação explicita no tempo &amp;lt;math&amp;gt; n+1 &amp;lt;/math&amp;gt; dependendo somente de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; n-1 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Estabilidade ====&lt;br /&gt;
&lt;br /&gt;
Para analisar a estabilidade da solução numérica para a equação da onda, utilizaremos o método de Von Neumann. O procedimento consiste em utilizar a transformada de Fourier para determinar a estabilidade do esquema, a solução problema tem a forma : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_{j}^{n+1}(\xi) = A(\xi \Delta x, \Delta x, \Delta t) y_{j}^{n}(\xi)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; \xi \in \left [ -\pi / \Delta x, \pi / \Delta x \right ] &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; é o fator de amplificação, observe que podemos estudar a estabilidade da aproximação somente analisando o fator de amplificação. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Teorema&#039;&#039;&#039; : Se o fator de amplificação não depender de &amp;lt;math&amp;gt; \Delta x &amp;lt;/math&amp;gt; nem &amp;lt;math&amp;gt; \Delta t &amp;lt;/math&amp;gt;, então a aproximação é estável se &amp;lt;math&amp;gt; \left | A(\xi \Delta x) \right | \leq 1 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Vejamos a estabilidade da aproximação de diferenças finitas para a equação da onda, utilizando as componentes de Fourier &amp;lt;math &amp;gt;y_{j}^{n} \mapsto B^{n}e^{ikj\Delta x} &amp;lt;/math&amp;gt;, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
B^{n+1}e^{ikj\Delta x} = 2\left ( 1-a^{2} \right )B^{n}e^{ikj\Delta x} - B^{n-1}e^{ikj\Delta x} + a^{2}\left ( B^{n}e^{ik(j+1)\Delta x} + B^{n}e^{ik(j-1)\Delta x} \right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
simplificando os termos em comum :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
B^{n+1} + B^{n-1}  = B^{n} \left [ 2\left ( 1-a^{2} \right ) + a^{2}\left (e^{ik\Delta x} + e^{-ik\Delta x}\right )\right ]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que &amp;lt;math&amp;gt; e^{ik\Delta x} - e^{-ik\Delta x} = 2cos(k\Delta x) &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{B^{n+1} + B^{n-1}}{B^{n}} = 2\left ( 1-a^{2} \right ) + 2a^{2}cos(k\Delta x)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
utilizando a identidade trigonométrica &amp;lt;math&amp;gt; cos(\theta) = cos^{2}(\theta /2) - sen^{2}(\theta /2) &amp;lt;/math&amp;gt; e a identidade trigonométrica fundamental &amp;lt;math&amp;gt; 1 = cos^{2}(\theta) + sen^{2}(\theta) &amp;lt;/math&amp;gt;, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A + \frac{1}{A} = -2\left [ 2a^{2}sen^{2}\left ( \frac{k\Delta x}{2} \right ) -1 \right ]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; A = B^{n+1}/B^{n} &amp;lt;/math&amp;gt; &amp;lt;ref name=&amp;quot;fator_ampl&amp;quot;/&amp;gt; é o fator de amplificação. Defina &amp;lt;math&amp;gt; d :=  2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 &amp;lt;/math&amp;gt;. Portanto obtemos a equação quadrática com soluções :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A^{2} + 2dA + 1 = 0 \Rightarrow A_{1,2} = -d \pm \sqrt{d^{2}-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
se &amp;lt;math&amp;gt; \left | d \right | &amp;gt; 1 &amp;lt;/math&amp;gt;, então : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
-1&amp;gt;d&amp;gt;1 \Rightarrow -1 &amp;gt; 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 &amp;gt; 1  \Rightarrow 0 &amp;gt; 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) &amp;gt; 2 \Rightarrow 0 &amp;gt; \left( asen\left (k\Delta x / 2 \right ) \right)^{2} &amp;gt; 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
o que é um aburdo, pois &amp;lt;math&amp;gt; asen\left (k\Delta x / 2 \right )\in \mathbb{R} &amp;lt;/math&amp;gt;. Se &amp;lt;math&amp;gt; \left | d \right | \leq  1 &amp;lt;/math&amp;gt; , então : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
-1\leq d \leq 1 \Rightarrow -1 \leq 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 \leq 1  \Rightarrow 0 \leq 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) \leq 2 \Rightarrow 0 \leq \left( asen\left (k\Delta x / 2 \right ) \right)^{2} \leq 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que &amp;lt;math&amp;gt; sen\left (k\Delta x / 2 \right ) \leq 1 &amp;lt;/math&amp;gt;, logo &amp;lt;math&amp;gt; a \leq 1 &amp;lt;/math&amp;gt;. Portanto para o método ser condicionalmente estável : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\frac{c \Delta t}{ \Delta x} \leq 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Embora &amp;lt;math&amp;gt; a \leq 1 &amp;lt;/math&amp;gt; garante a estabilidade do processo, &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt; é a melhor escolha possível para a estabilidade do método, pelos seguintes motivos :&lt;br /&gt;
* Quando &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt;, os termos de ordem superior que são descartados na discretização da equação da onda são amplamente cancelados. Essa compensação implica que o método numérico se torna mais estável e menos suscetível a erros numéricos significativos, ou seja, não ocorrerão variações abruptas devido aos termos de ordem maiores;&lt;br /&gt;
* Quando &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt;, a perturbação na corda se propaga exatamente um passo espacial a cada passo de tempo. Esse comportamento assegura que a velocidade da perturbação seja adequadamente representada pelo algoritmo numérico. Isso ocorre devido a relação entre a velocidade física da corda &amp;lt;math&amp;gt; c &amp;lt;/math&amp;gt; e a velocidade da perturbação &amp;lt;math&amp;gt; v = \Delta x / \Delta t &amp;lt;/math&amp;gt;. A animação abaixo contém soluções da equação da onda ideal, obtidas utilizando o método FTCS com diferentes a&#039;s. Nela fica bem claro que a velocidade de propagação das ondas na solução para &amp;lt;math&amp;gt;a=0,5&amp;lt;/math&amp;gt; é metade da solução para &amp;lt;math&amp;gt;a=1&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Different_ks.gif|frame|center|Soluções obtidas para a equação da onda ideal com diferentes a&#039;s.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\frac{c \Delta t}{ \Delta x} = \frac{c}{v} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observe que além de obtermos o intervalo de estabilidade &amp;lt;math&amp;gt; a\in\left [ 0, 1 \right ] &amp;lt;/math&amp;gt;, também obtemos uma restrição na discretização das malhas temporais e espaciais, limitando assim &amp;lt;math&amp;gt; N,M\in \mathbb{N} &amp;lt;/math&amp;gt; a um subconjunto que satisfaça a condição de estabilidade.&lt;br /&gt;
&lt;br /&gt;
=== Corda Não Ideal ===&lt;br /&gt;
&lt;br /&gt;
==== Método Explícito ====&lt;br /&gt;
Optaremos novamente por realizar a análise utilizando um método explícito. Em geral, o desenvolvimento teórico para a discretização da equação diferencial da onda com amortecimento e rigidez é análogo ao caso ideal, portanto, não serão apresentados com detalhes os cálculos necessários para a implementação do método. A derivada quarta centrada é aproximada utilizando diferenças finitas :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^4 y}{\partial x^4} \approx \frac{y_{j+2}^{n} + y_{j+1}^{n} + y_{j}^{n} + y_{j-1}^{n} + y_{j-2}^{n}}{\left ( \Delta x \right )^{4}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
transformando a EDP não homogênea para um espaço discretizado usando a aproximação de diferenças finitas centrada : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} = c^{2}\left ( \frac{\partial^2 y}{\partial x^2} - \epsilon L^{2}\frac{\partial^4 y}{\partial x^4} \right ) - b\frac{\partial y}{\partial t} \mapsto  y_{j}^{n+1} = \left [ \left (2 - 2a^{2} - 6\epsilon a^{2}E^{2} - F \right )y_{j}^{n} - y_{j}^{n-1} + a^{2}\left ( 1 + 4\epsilon E^{2} \right ) \left ( y_{j+1}^{n} + y_{j-1}^{n} \right ) - \epsilon a^{2}E^{2} \left ( y_{j+2}^{n} + y_{j-2}^{n} \right ) \right ]\left (\frac{1}{1-F} \right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; E := L/ \Delta x &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; F := b/ \Delta t &amp;lt;/math&amp;gt;. Novamente obtemos um equação explicita no tempo &amp;lt;math&amp;gt; n+1 &amp;lt;/math&amp;gt; que depende somente de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; n-1 &amp;lt;/math&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
==== Estabilidade ====&lt;br /&gt;
&lt;br /&gt;
A abordagem que empregamos para demonstrar a estabilidade da equação da onda não homogênea é completamente análoga ao caso homogêneo. Em outras palavras, utilizamos o método de Von Neumann em conjunto com o teorema da estabilidade. Ao aplicar novamente as componentes de Fourier, representadas por &amp;lt;math &amp;gt;y_{j}^{n} \mapsto B^{n}e^{ikj\Delta x} &amp;lt;/math&amp;gt;, obtemos uma equação quadrática que impõe a seguinte restrição :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
a = \frac{c \Delta t}{ \Delta x} \leq \frac{1}{4}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
logo, o método é condicionalmente estável no intervalo &amp;lt;math&amp;gt; a\in\left [ 0, 1/4 \right ] &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Convergência, Consistência e Estabilidade ===&lt;br /&gt;
&lt;br /&gt;
Até este ponto, ainda não discutimos o quão bem o esquema de diferenças finitas descreve a solução da equação diferencial. Vamos abordar isso agora. A propriedade mais essencial que um esquema deve possuir é que, à medida que os espaçamentos na malha discreta diminuem, a aproximação para a solução deve se aproximar da solução real do sistema. Portanto, um esquema é considerado uma boa aproximação se &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left ( \Delta t, \Delta x \right ) \rightarrow 0 \Rightarrow \left | y \left ( t_{n}, x_{j}\right )  - y_{j}^{n}  \right |\rightarrow 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; y \left ( t_{n}, x_{j}\right ) &amp;lt;/math&amp;gt; é a solução exata e &amp;lt;math&amp;gt; y_{j}^{n} &amp;lt;/math&amp;gt; a solução aproximada. Se tais condições são satisfeitas, dizemos que o esquema de equações diferenciais finitas é convergente. Entretanto, geralmente, provar a convergência não é uma tarefa trivial. No entanto, podemos demonstrá-la de maneira indireta, utilizando estabilidade e consistência. Se um esquema é estável e consistente, então a convergência do esquema é garantida. Dada uma equação diferencial &amp;lt;math&amp;gt; Dy = f &amp;lt;/math&amp;gt;, dizemos que o esquema de diferenças finitas &amp;lt;math&amp;gt; D_{\Delta t \Delta x}y = f &amp;lt;/math&amp;gt; é consistente com a equação diferencial se, para qualquer função suficientemente diferenciável &amp;lt;math&amp;gt; \phi(t, x) &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left ( \Delta t, \Delta x \right ) \rightarrow 0 \Rightarrow  D \phi  - D_{\Delta t \Delta x} \phi  \rightarrow 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostremos a consistência da aproximação de diferenças finitas para a equação da onda homogênea. Seja a EDP da onda &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
Dy\left ( t, x \right ) = \frac{\partial^2 y}{\partial t^2} - c^{2}\frac{\partial^2 y}{\partial x^2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e seja a equação de diferenças finitas &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
D_{\left (\Delta t \Delta x  \right )}y\left ( t, x \right ) = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} - c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pela aproximação que demonstramos anteriormente, temos : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
&amp;amp;\frac{\partial^2 y}{\partial t^2} - c^{2}\frac{\partial^2 y}{\partial x^2} = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} + O\left ( \Delta t^{2} \right )- c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}} + O\left ( \Delta x^{2} \right ) \\&lt;br /&gt;
&amp;amp;\frac{\partial^2 y}{\partial t^2} - c^{2}\frac{\partial^2 y}{\partial x^2} - \left (\frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} - c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}  \right ) = O\left ( \Delta t^{2} \right ) + O\left ( \Delta x^{2} \right ) \\&lt;br /&gt;
&amp;amp;Dy\left ( t, x \right ) - D_{\left (\Delta t \Delta x  \right )}y\left ( t, x \right ) = O\left ( \Delta t^{2} \right ) + O\left ( \Delta x^{2} \right )&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
como estamos supondo que os termos de ordem 2 são desprezíveis, &amp;lt;math&amp;gt; O\left ( \Delta t^{2} \right ) \rightarrow 0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; O\left ( \Delta x^{2} \right ) \rightarrow 0 &amp;lt;/math&amp;gt;. Logo : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
Dy\left ( t, x \right ) - D_{\left (\Delta t \Delta x  \right )}y\left ( t, x \right ) \rightarrow 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
portanto o esquema de diferenças finitas é consistente. Como na seção anterior já havíamos provado a estabilidade condicional do método, podemos concluir que o esquema é condicionalmente convergente (é consistente e condicionalmente estável) e portanto representa uma boa aproximação para a solução exata da equação diferencial.&lt;br /&gt;
&lt;br /&gt;
== Análise espectral ==&lt;br /&gt;
Uma possível forma para quantitativamente analisar o som gerado por uma corda vibrante é estudar as frequências que compõem o seu movimento, técnica essa chamada de análise espectral. Antes de prosseguirmos vamos recapitular alguns resultados da álgebra linear&lt;br /&gt;
&lt;br /&gt;
=== Supremacia da álgebra linear ===&lt;br /&gt;
O seguinte conjunto &amp;lt;math&amp;gt; \mathbb{R}^{\mathbb{R}} = \{ f~|~f: \mathbb{R} \to \mathbb{R} \} &amp;lt;/math&amp;gt; é o espaço de funções reais de uma variável. Esse conjunto é um espaço vetorial, logo podemos utilizar toda a artilharia da álgebra linear, em especial, estamos interessados no sub-espaço gerado pela base &amp;lt;math&amp;gt; B = \{sen(\omega t) / \sqrt{\pi}, cos(\omega t) / \sqrt{\pi} \}_{\omega \in \mathbb{R^+}} &amp;lt;/math&amp;gt; &amp;lt;ref name=&amp;quot;norm_const&amp;quot;/&amp;gt;, pois elementos de &amp;lt;math&amp;gt; B &amp;lt;/math&amp;gt;, interpretados como sinais sonoros, representam um frequência pura de valor &amp;lt;math&amp;gt;f=\omega/(2\pi)&amp;lt;/math&amp;gt;. Dessa forma, um sinal arbitrário &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; pode ser escrito em termos das frequências puras que o formam&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 s(t) = \frac{1}{\sqrt{\pi}}\int_{0}^{\infty}[a(\omega)cos(\omega t) + b(\omega)sen(\omega t]d\omega&lt;br /&gt;
&amp;lt;/math&amp;gt;  &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E podemos extrair suas coordenadas (conhecidas como transformada de Fourier do sinal) (&amp;lt;math&amp;gt;a(\omega)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;b(\omega)&amp;lt;/math&amp;gt;), fazendo o produto escalar com os elementos da base&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
a(\omega) &amp;amp;= \int_{-\infty}^{\infty}s(t)\frac{1}{\sqrt{\pi}}cos(\omega t)dt \\&lt;br /&gt;
b(\omega) &amp;amp;= \int_{-\infty}^{\infty}s(t)\frac{1}{\sqrt{\pi}}sen(\omega t)dt&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Se o domínio de &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; é limitado, digamos &amp;lt;math&amp;gt;t \in [0, T]&amp;lt;/math&amp;gt;, então uma base infinita com cardinalidade enumerável (em contraste com a base anterior, que possui cardinalidade não enumerável) é suficiente para representar &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt;, uma possível base ortonormal é a seguinte: &amp;lt;math&amp;gt;\bigg\{ \sqrt{\frac{1}{T}}, \sqrt{\frac{2}{T}}sen(\omega_n t), \sqrt{\frac{2}{T}}cos(\omega_n t) \bigg\}_{n \in \mathbb{N^*}}&amp;lt;/math&amp;gt;, em que &amp;lt;math&amp;gt; \omega_n = \frac{n\pi}{T} &amp;lt;/math&amp;gt;. Dessa forma, a representação e coordenadas de &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; ficam&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
s(t) &amp;amp;= a_0\sqrt{\frac{1}{T}} + \sqrt{\frac{2}{T}}\sum_{n=1}^{\infty}\bigg[a_n cos(\omega_n t) + b_n sen(\omega_n) \bigg] \\&lt;br /&gt;
a_0 &amp;amp;= \int_0^T s(t) \sqrt{\frac{1}{T}}dt \\&lt;br /&gt;
a_n &amp;amp;= \int_0^T s(t) \sqrt{\frac{2}{T}}cos(\omega_n t)dt \\&lt;br /&gt;
b_n &amp;amp;= \int_0^T s(t) \sqrt{\frac{2}{T}}sen(\omega_n t)dt \\&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É impossível falar sobre bases enumeráveis de um sub-espaço de &amp;lt;math&amp;gt; \mathbb{R}^{\mathbb{R}} &amp;lt;/math&amp;gt; sem representar esse canhão matemático com uma animação. Abaixo segue uma visualização que calcula as primeiras &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; coordenadas (&amp;lt;math&amp;gt;a_0,\dots,a_N&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;b_1,\dots,b_N&amp;lt;/math&amp;gt;) de um sinal qualquer e sobrepõem a série obtida, incrementando &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; até as duas curvas serem indistinguíveis a olho nu. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie_fourier_ana_julia.gif|frame|center|Animação de uma série de fourier. É interessante notar que a série converge muito bem com apenas uma dúzia de frequências.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Potência espectral ===&lt;br /&gt;
Adiante vamos ver que o sinal sonoro provém da vibração de um ponto específico da mesma, digamos em &amp;lt;math&amp;gt;x=x_o&amp;lt;/math&amp;gt;, então a função que representa o sinal é &amp;lt;math&amp;gt;y(x_o, t)&amp;lt;/math&amp;gt;. Como estamos interessados nas frequências que compõem o sinal, será calculado a transformada de fourier de &amp;lt;math&amp;gt;y(x_o, t)&amp;lt;/math&amp;gt; e definido que a potência da frequência &amp;lt;math&amp;gt;f = \omega/(2\pi)&amp;lt;/math&amp;gt; é &amp;lt;math&amp;gt;a_\omega^2 + b_\omega^2&amp;lt;/math&amp;gt;. A potência em função da frequência é o resultado da análise espectral.&lt;br /&gt;
&lt;br /&gt;
== Simulando uma corda de violão ==&lt;br /&gt;
Uma corda de violão geralmente é excitada por uma pancada dada por uma palheta ou pelo próprio dedo/unha do violonista. Essa pancada define uma condição inicial para a equação de onda. Uma suposição razoável da condição gerada é a seguinte&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\begin{aligned}&lt;br /&gt;
y(x, t=0) &amp;amp;= \begin{cases}  &lt;br /&gt;
\frac{h}{x_0}x &amp;amp;, ~ 0 \leq x \leq x_0\\&lt;br /&gt;
\frac{h}{L-x_0}(-x + L) &amp;amp;, ~ x_0 \leq x \leq L\\&lt;br /&gt;
\end{cases} \\&lt;br /&gt;
\frac{\partial}{\partial t} y(x, t=0) &amp;amp;= 0&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
supondo que a corda possui comprimento &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; e a pancado ocorreu em &amp;lt;math&amp;gt;x_o&amp;lt;/math&amp;gt;, causando uma deslocamento máximo &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt;. A imagem a seguir ilustra o estado da corda logo após a excitação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Init_cond_ana_julia.png|thumb|upright=2|center|Condição inicial de uma corda de violão.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dado essa condição inicial, podemos evoluir temporalmente o estado da corda utilizando a equação da onda, mantendo as bordas fixas (&amp;lt;math&amp;gt;y(x=0, t) = y(x=L, t) = 0&amp;lt;/math&amp;gt;), mas como extrair som dessa simulação? Para responder essa pergunta precisamos saber como um violão gera som. Ao contrário do que inicialmente pareça, as ondas sonoras não são diretamente geradas pela vibração das cordas, mas sim da caixa do violão, que está diretamente conectada com as cordas em uma peça chamada ponte. A vibração das cordas gera uma força dependente do tempo que atua na caixa através da ponte, assim vibrando a caixa e gerando o som que escutamos. Portanto, para gerar som de forma realista, precisaríamos fisicamente simular a caixa, levando em consideração a sua geometria e as propriedades física do seu material, e então determinar as ondas de pressão que seriam geradas por essa vibração, o que está fora do escopo do presente trabalho. Felizmente, as seguintes simplificações vão nos permitir calcular as ondas de pressão:&lt;br /&gt;
&lt;br /&gt;
* A força que a ponte exerce na caixa é aproximadamente proporcional a sua velocidade (Dinâmica aristotélica).&lt;br /&gt;
* A onda de pressão produzida pela caixa é aproximadamente proporcional a sua velocidade.&lt;br /&gt;
&lt;br /&gt;
A força que a ponte exerce na caixa (&amp;lt;math&amp;gt;F(t)&amp;lt;/math&amp;gt;) é a força que a corda exerce na ponte (pois a ponte está firmemente conectada na caixa), e essa força é proporcional a inclinação da corda, ou seja&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F(t) = T \frac{\partial}{\partial x}y(x=0, t) \approx T\frac{y(\Delta x, t) - \overbrace{y(0, t)}^{0}}{\Delta x} = \frac{T}{\Delta x} y(\Delta x, t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a tensão na corda. Portando, o sinal da onda de pressão pode ser aproximado como o deslocamento de um ponto da corda próximo a ponte. Para gerar som com esse sinal, o tipo de arquivo [https://en.wikipedia.org/wiki/WAV#:~:text=Waveform%20Audio%20File%20Format%20(WAVE,1991%20by%20IBM%20and%20Microsoft. WAV]] é utilizado, pois o seu dado de entrada pode ser justante o sinal da onda de pressão.&lt;br /&gt;
&lt;br /&gt;
Agora tudo está pronto para fazermos uma simulação, vamos tentar reproduzir a nota lá (&amp;lt;math&amp;gt;f = 440~Hz&amp;lt;/math&amp;gt;). Primeiro precisamos descobrir qual deve ser a velocidade de propagação das ondas (&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;) para gerar a nota em questão. Resolvendo a equação da onda ideal, obtemos que as possíveis frequência que existem na solução são &amp;lt;math&amp;gt;f_n = \frac{nc}{2L} &amp;lt;/math&amp;gt;, então não é possível fazer a corda vibrar apenas com uma frequência, mas quando músicos se referem a uma nota, eles realmente estão se referindo a &amp;lt;math&amp;gt;f_1&amp;lt;/math&amp;gt;, a primeira frequência que compõem o sinal, portanto&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; f_1 = \frac{c}{2L} = 440~Hz \Rightarrow c = L \cdot 880~Hz&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assumindo &amp;lt;math&amp;gt;L=1~m&amp;lt;/math&amp;gt;, temos que &amp;lt;math&amp;gt;c = 880~m/s&amp;lt;/math&amp;gt;. Resolvendo a equação da onda realista pelo método FTCS com os seguinte parâmetros&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Parâmetros da condição inicial&lt;br /&gt;
|-&lt;br /&gt;
! Parâmetros !! Valor&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;x_o&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;0,5~L&amp;lt;/math&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| h || 1 cm &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Parâmetros da integração&lt;br /&gt;
|-&lt;br /&gt;
! Parâmetros !! Valor&lt;br /&gt;
|-&lt;br /&gt;
| k || 1/4 &lt;br /&gt;
|-&lt;br /&gt;
| c || 880 m/s &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt; || 0,01 m&lt;br /&gt;
|-&lt;br /&gt;
| L || 1 m &lt;br /&gt;
|-&lt;br /&gt;
| b || 5 &amp;lt;math&amp;gt;s^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
obtemos o seguinte resultado&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Corda_vibrando_ana_julia.gif|frame|center|Solução da equação de onda ideal e realista.]]&lt;br /&gt;
&lt;br /&gt;
Na animação acima, por questão de comparação, também foi coloca a solução de uma simulação com os mesmos parâmetros, apenas com a modificação &amp;lt;math&amp;gt;b=\epsilon=0&amp;lt;/math&amp;gt;, que seria o caso ideal (sem amortecimento e rigidez).&lt;br /&gt;
 &lt;br /&gt;
Realizando a análise espectral do deslocamento de um ponto próximo de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, obtemos o seguinte gráfico&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_ana_julia.png |thumb|upright=2|center|Espectro do deslocamento de um ponto próximo de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;. Linhas pretas tracejadas representam os harmônicos.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As linhas verticais pretas e tracejadas representam as possíveis frequências da solução do caso ideal (também chamadas de harmônicos), ou seja, a primeira linha está em &amp;lt;math&amp;gt;f = 440 Hz &amp;lt;/math&amp;gt; como era de se esperar, mas é notável que a segunda e quarta linhas possuem uma potência praticamente nula, isso ocorre porque a excitação inicial foi exatamente no meio, e as frequência correspondentes a essas linhas provém de ondas estacionário que possum um nodo em &amp;lt;math&amp;gt;x=L/2&amp;lt;/math&amp;gt;, logo elas não foram excitadas pela condição inicial. Mudando o ponto de excitação inicial, podemos ver essas frequências aparecendo. Rodando a simulação novamente, mas com &amp;lt;math&amp;gt;x_o = 0,2~L&amp;lt;/math&amp;gt;, obtemos o seguinte espectro&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_bridge_ana_julia.png |thumb|upright=2|center|Espectro para excitação inicial em &amp;lt;math&amp;gt;x_0 = 0,2~L&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para observar a influência da rigidez, a simulação foi rodada com &amp;lt;math&amp;gt;\epsilon=10^{-8}&amp;lt;/math&amp;gt; (10 vezes maior do que o valor anterior) resultando no seguinte espectro&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_high_stiff_ana_julia.png |thumb|upright=2|center|Espectro para &amp;lt;math&amp;gt;\epsilon=10^{-8}&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O efeito mais notável é o deslocamento para esquerda das frequência em relação as frequências que compõem o sinal no caso ideal.&lt;br /&gt;
&lt;br /&gt;
Por fim, conforme descrito anteriormente, podemos gerar som com as dados da simulação, mas infelizmente essa wiki não nos permite upar arquivos de áudio. No entanto, áudio das simulações discutidas aqui podem ser encontrados no repositório do projeto [https://github.com/marcos1561/ana-julia ana-julia] dentro da pasta &amp;quot;sound&amp;quot;. Em especial, o efeito de deslocamento de frequências causado pela rigidez é bastante evidente escutando os áudios.&lt;br /&gt;
&lt;br /&gt;
=== Bônus ===&lt;br /&gt;
Apenas por diversão, segue uma animação de um pacote gaussiano como condição inicial&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Gaussian_package_ana_julia.gif|frame|center|Animação da solução da equação da onda com um pacote gaussiano como condição inicial.]]&lt;br /&gt;
&lt;br /&gt;
== Notas ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;fator_ampl&amp;quot;&amp;gt; Perceba que não estamos operando expoentes, mas sim usando a relação entre os índices &amp;lt;math&amp;gt; B^{n-1}/B^{n} = B^{m}/B^{m+1} = A^{-1} &amp;lt;/math&amp;gt;.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;norm_const&amp;quot;&amp;gt;A constante &amp;lt;math&amp;gt; 1/\sqrt{\pi} &amp;lt;/math&amp;gt; está presente por questão de normalização. Esse caso pode parecer um pouco estranho, dado que não é possível normalizar os cossenos e senos, pois sua integral em todo a reta não é definida, mas o que se deseja é a seguinte propriedade &lt;br /&gt;
&amp;lt;math&amp;gt;\int_{\mathbb{R}}A_{\omega}cos(\omega t) \cdot A_{\omega&#039;}cos(\omega&#039; t)dt = \delta(\omega-\omega&#039;) &amp;lt;/math&amp;gt;&lt;br /&gt;
que é safisfeita quando &amp;lt;math&amp;gt; A_{\omega} = A_{\omega&#039;} =  1/\sqrt{\pi}, ~ \forall \omega,\omega&#039;&amp;lt;/math&amp;gt;.&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;y_periodica&amp;quot;&amp;gt; Note que &amp;lt;math&amp;gt; y_n &amp;lt;/math&amp;gt; é periódica no tempo com período &amp;lt;math&amp;gt; \frac{2L}{na} &amp;lt;/math&amp;gt;.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;freq_nat&amp;quot;&amp;gt; As quantidades &amp;lt;math&amp;gt; \frac{n \pi a}{L} &amp;lt;/math&amp;gt; são chamadas de frequências naturais da corda; o fator &amp;lt;math&amp;gt; \sin{\left(\frac{n \pi x}{L} \right)} &amp;lt;/math&amp;gt; é chamado modo natural de vibração e o período de modo natural de vibração &amp;lt;math&amp;gt; \frac{2L}{n} &amp;lt;/math&amp;gt; é chamado de comprimento de onda.&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Referências ==&lt;br /&gt;
&lt;br /&gt;
# Giordano, Nicholas, Nakanishin Hisao. Computacional Physics, Sencond Edition - 2006.&lt;br /&gt;
# Strikwerda, John. Finite Diference Schemes and Partial Diferential Equations, Second Edition, SIAM - 2004.&lt;br /&gt;
# Moraes, Alciney das Neves. Critério de Estabilidade de um Esquema Explícito em Diferenças Finitas para o Modelo de Placas de Mindlin-Timoshenko, Universidade Federal do Pará — 2019.&lt;br /&gt;
# Grigoryan, Viktor.  Finite differences for the wave equation. UC Santa Bárbara Mathematics - 2012.&lt;br /&gt;
# Boyce, E., W. Equações Diferenciais Elementares e Problemas de Valores de Contorno, 11ª Edição - 2020.&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Corda_Vibrante&amp;diff=10243</id>
		<title>Corda Vibrante</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Corda_Vibrante&amp;diff=10243"/>
		<updated>2024-04-24T11:15:13Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: /* Estabilidade */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Grupo :&#039;&#039;&#039; Gustavo H. Guesser, Joshua L. Kipper, Marcos Pasa.&lt;br /&gt;
&lt;br /&gt;
== A equação da onda ==&lt;br /&gt;
No estudo das oscilações, é comum entre os físicos o emprego de modelos simples como representações &amp;quot;prototípicas&amp;quot; de certos padrões básicos observados na natureza. A eficácia desses modelos simples decorre de duas características fundamentais: a capacidade de serem compreendidos em detalhes minuciosos e a habilidade de reproduzir comportamentos semelhantes aos de situações reais e mais complexas, auxiliando na compreensão destas, pelo menos em termos qualitativos.&lt;br /&gt;
&lt;br /&gt;
Quando se trata de comportamentos oscilatórios, o modelo mais comumente utilizado é o do sistema massa-mola. Por outro lado, para descrever comportamentos ondulatórios unidimensionais, o modelo simples mais difundido é o da corda vibrante.&lt;br /&gt;
&lt;br /&gt;
=== Dedução ===&lt;br /&gt;
Consideremos uma corda esticada, como a corda de um violão, por exemplo. Suponhamos que esta corda tenha um comprimento &amp;lt;math&amp;gt; L &amp;lt;/math&amp;gt; e que suas extremidades estejam fixas nos pontos &amp;lt;math&amp;gt; x = 0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; x = L &amp;lt;/math&amp;gt;. Além disso, vamos supor que a corda tenha uma densidade linear uniforme representada por &amp;lt;math&amp;gt; \mu = \frac{dm}{dx} &amp;lt;/math&amp;gt;, e que esteja sob uma tensão constante &amp;lt;math&amp;gt; T &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Assumindo que a corda realize vibrações transversais apenas na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt; (embora possa ter vibrações transversais na direção &amp;lt;math&amp;gt; z &amp;lt;/math&amp;gt;, as quais vamos ignorar aqui), podemos representar a configuração da corda em qualquer instante de tempo no plano &amp;lt;math&amp;gt; xy &amp;lt;/math&amp;gt; por uma função &amp;lt;math&amp;gt; y(x,t) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vamos considerar mais algumas suposições:&lt;br /&gt;
&lt;br /&gt;
I) A tensão &amp;lt;math&amp;gt; T &amp;lt;/math&amp;gt; que estica a corda é tão alta que podemos negligenciar a força gravitacional sobre ela;&lt;br /&gt;
&lt;br /&gt;
II) A corda é perfeitamente elástica, ou seja, não oferece resistência a dobras;&lt;br /&gt;
&lt;br /&gt;
III) Os deslocamentos da corda, que ocorrem apenas na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt;, são de pequena amplitude.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com essas suposições em mente, estamos prontos para abordar o problema da corda vibrante. Em qualquer instante de tempo, um segmento arbitrário da corda estará na posição geral indicada pela figura abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:posicao_generica.png|400px|thumb|center|Posição genérica de um pedaço qualquer da corda]]&lt;br /&gt;
&lt;br /&gt;
A massa do pequeno segmento de corda de comprimento &amp;lt;math&amp;gt; \Delta{x} &amp;lt;/math&amp;gt; é&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\Delta{m} = \mu \Delta{x}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As componentes horizontal e vertical da força resultante atuando sobre esse segmento são:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_x = T \cos{(\theta + \Delta{\theta})} - T \cos{(\theta)}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
e&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_y = T \sin{(\theta + \Delta{\theta})} - T \sin{(\theta)}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Estamos assumindo que a corda não se move na direção &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; (apenas na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt;). Isso implica que a força resultante na direção &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; é nula (&amp;lt;math&amp;gt; F_x = 0 &amp;lt;/math&amp;gt;). Substituindo essa condição na equação, obtemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\cos{(\theta + \Delta{\theta})} = \cos{(\theta)}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E a força resultante na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; F_y &amp;lt;/math&amp;gt;, é dada de acordo com a segunda lei de Newton:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_y = (\mu \Delta{x})a_y = (\mu \Delta{x}) \frac{\partial^2{y}}{\partial{t^2}},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
então:&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
T \sin{(\theta + \Delta{\theta})} - T \sin{(\theta)} = (\mu \Delta{x}) \frac{\partial^2{y}}{\partial{t^2}},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
ou&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\sin{(\theta + \Delta{\theta})} - \sin{(\theta)} = \Delta{x} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos prosseguir dividindo os dois lados da equação acima pelo termo &amp;lt;math&amp;gt; \cos{(\theta)} &amp;lt;/math&amp;gt;, sabendo que &amp;lt;math&amp;gt; \cos{(\theta)} = \cos{(\theta + \Delta{\theta})} &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\sin{(\theta + \Delta{\theta})}}{\cos{(\theta + \Delta{\theta})}} - \frac{\sin{(\theta)}}{\cos{(\theta)}} = \frac{\Delta{x}}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}} \to \tan{(\theta + \Delta{\theta})} - \tan{(\theta)} = \frac{\Delta{x}}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando que o coeficiente angular da reta tangente a uma função em um dado ponto do seu domínio é igual à derivada da função nesse ponto, temos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial{y}}{\partial{x}} (x + \Delta{x}, t) - \frac{\partial{y}}{\partial{x}} (x, t) = \frac{\Delta{x}}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dividindo ambos os lados por &amp;lt;math&amp;gt; \Delta{x} &amp;lt;/math&amp;gt;, teremos do lado esquerdo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\frac{\partial{y}}{\partial{x}} (x + \Delta{x}, t) - \frac{\partial{y}}{\partial{x}} (x, t)}{\Delta{x}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e no limite que &amp;lt;math&amp;gt; \Delta{x} \to 0 &amp;lt;/math&amp;gt;, a expressão se torna uma derivada parcial segunda &amp;lt;math&amp;gt; \frac{\partial^2{y}}{\partial{x^2}} &amp;lt;/math&amp;gt;, nos permitindo reescrever a equação como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2{y}}{\partial{x^2}} (x, t) = \frac{1}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}} (x, t).&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E, como última manipulação, vamos supor agora que os deslocamentos da corda são pequenos, o que implica que os ângulos associados a esses deslocamentos também são pequenos: &amp;lt;math&amp;gt; \theta &amp;lt;&amp;lt; 1 &amp;lt;/math&amp;gt;. Com essa condição, &amp;lt;math&amp;gt; \cos{(\theta)} \approx 1 &amp;lt;/math&amp;gt; e chegamos em:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2{y}}{\partial{x^2}} (x, t) = \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}} (x, t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde o termo &amp;lt;math&amp;gt; \frac{\mu}{T} &amp;lt;/math&amp;gt; tem dimensão de &amp;lt;math&amp;gt; \frac{1}{c^2} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; c &amp;lt;/math&amp;gt; é a velocidade de propagação de ondas na corda esticada:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2{y}}{\partial{x^2}} (x, t) = \frac{1}{c^2} \frac{\partial^2{y}}{\partial{t^2}} (x, t) \Leftrightarrow \frac{\partial^2{y}}{\partial{t^2}} (x, t) = &lt;br /&gt;
c^2 \frac{\partial^2{y}}{\partial{x^2}} (x, t) \Leftrightarrow y_{tt} = c^2 y_{xx}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Chegando a conlusão de que essa é a expressão para a corda vibrante e que a velocidade de propagação aumenta com a tensão na corda e diminui com a sua inércia (massa por unidade de comprimento).&lt;br /&gt;
&lt;br /&gt;
=== Solução Analítica ===&lt;br /&gt;
Começaremos tomando as condições de contorno da corda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y(0,t) = 0 &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y(L,t) = 0 &lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
indicando que as extremidades da corda permanecem fixas.&lt;br /&gt;
&lt;br /&gt;
Além disso, tomaremos também as seguintes condições iniciais para a posição e velocidade da corda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y(x,0) = f(x) &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; 0 \leq x \leq L &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial{y}}{\partial{t}} (x,0) = y_t = g(x) &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; 0 \leq x \leq L&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; f(x) &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; g(x) &amp;lt;/math&amp;gt; são funções tais que &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
f(0) = f(L) = 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
g(0) = g(L) = 0.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Iniciaremos o estudo das vibrações em uma corda elástica admitindo que a velocidade inicial da corda é nula, ou seja:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
g(x) = 0 &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; \forall 0 \leq x \leq L.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, estamos tratando do problema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\begin{cases}  &lt;br /&gt;
y_{tt} = c^2 y_{xx},\\&lt;br /&gt;
y(0,t) = 0, \\&lt;br /&gt;
y(L,t) = 0,\\&lt;br /&gt;
y(x,0) = f(x), &amp;amp; 0\leq x \leq L,\\&lt;br /&gt;
y_t = g(x), &amp;amp; 0\leq x \leq L.\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em que &amp;lt;math&amp;gt; f(0) = f(L) = 0 &amp;lt;/math&amp;gt; descreve a configuração da corda no início.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Usaremos o método da separação de variáveis para resolver o problema admitindo que &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt; pode ser escrita como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y(x,t) = X(x)T(t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
na qual &amp;lt;math&amp;gt; X &amp;lt;/math&amp;gt; depende apenas de &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; T &amp;lt;/math&amp;gt; depende apenas de &amp;lt;math&amp;gt; t &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Aplicando na equação diferencial parcial, temos:&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{X&#039;&#039;}{X} = \frac{1}{c^2} \frac{T&#039;&#039;}{T} = - \lambda,&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; \lambda &amp;lt;/math&amp;gt; é uma constante de separação.&lt;br /&gt;
&lt;br /&gt;
Logo, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
X&#039;&#039; + \lambda X = 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
T&#039;&#039; + c^2 \lambda T = 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicando as condições de contorno, encontramos o problema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
X&#039;&#039; + \lambda X = 0 &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; X(0) = X(L) = 0,&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cuja solução é dada por&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
X_n (x) = \sin{\left(\frac{n \pi x}{L} \right)}, \ {\lambda}_n = \left(\frac{n \pi}{L} \right)^2, \ n = 1, 2, 3, ...&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com as constantes de separação acima, podemos obter a EDO&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
T&#039;&#039; + {\omega}^2 T = 0, \ \omega = \frac{n \pi a}{L},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cujas soluções são&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
T(t) = k_1 \cos{(\omega t)} + k_2 \sin{(\omega t)}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pelo fato da velocidade inicial da corda ser nula, deduzimos que&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_t (x,0) = X(x)T&#039;(0) = 0, \ \forall 0 \leq x \leq L, \ \Rightarrow T&#039;(0) = 0.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
T&#039;(t) = - \omega k_1 \sin{(\omega t)} + \omega k_2 \cos{(\omega t)},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
temos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
T&#039;(0) = 0 \ \Rightarrow k_2 = 0.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assim, as soluções fundamentais da equação da onda, envolvendo as condições de contorno e a segunda condição inicial são dadas por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_n (x,t) = \sin{\left(\frac{n \pi x}{L} \right)} \cos{(\omega t)} = \sin{\left(\frac{n \pi x}{L} \right)} \cos{\left(\frac{n \pi a t}{L} \right)},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
para &amp;lt;math&amp;gt; n = 1, 2, 3, ... &amp;lt;/math&amp;gt; &amp;lt;ref name=&amp;quot;y_periodica&amp;quot;/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por fim, a superposição das soluções fundamentais nos fornece&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y(x,t) = \sum^{\infty}_{n=1} c_n \sin{\left(\frac{n \pi x}{L} \right)} \cos{\left(\frac{n \pi a t}{L} \right)}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e a condição inicial &amp;lt;math&amp;gt; y(x,0) = f(x) &amp;lt;/math&amp;gt; fornece&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y(x,0) = \sum^{\infty}_{n=1} c_n \sin{\left(\frac{n \pi x}{L} \right)} = f(x).&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Então, admitindo que &amp;lt;math&amp;gt; f(x) &amp;lt;/math&amp;gt; é uma função ímpar com período &amp;lt;math&amp;gt; T = 2L &amp;lt;/math&amp;gt;, concluímos que os coeficientes satisfazem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
c_n = \frac{2}{L} \int^{L}_{0} f(x) \sin{\left(\frac{n \pi x}{L} \right)} dx, \ n = 1, 2, 3, ...&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Juntando as informações, temos que a solução do problema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\begin{cases}  &lt;br /&gt;
y_{tt} = c^2 y_{xx},\\&lt;br /&gt;
y(0,t) = 0, \\&lt;br /&gt;
y(L,t) = 0,\\&lt;br /&gt;
y(x,0) = f(x), &amp;amp; 0\leq x \leq L,\\&lt;br /&gt;
y_t = g(x), &amp;amp; 0\leq x \leq L.\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
é dada por&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y(x,t) = \sum^{\infty}_{n=1} c_n \sin{\left(\frac{n \pi x}{L} \right)} \cos{\left(\frac{n \pi a t}{L} \right)},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;freq_nat&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
c_n = \frac{2}{L} \int^{L}_{0} f(x) \sin{\left(\frac{n \pi x}{L} \right)} dx, \ n = 1, 2, 3, ...&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adaptação da equação da onda para uma corda real ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} = c^{2}\left ( \frac{\partial^2 y}{\partial x^2} - \epsilon L^{2}\frac{\partial^4 y}{\partial x^4} \right ) - 2b\frac{\partial y}{\partial t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
## o termo 4º vem da rigidez da corda e o epsilon controla a rigidez&lt;br /&gt;
## -2b é o amortecimento&lt;br /&gt;
&lt;br /&gt;
== Método FTCS ==&lt;br /&gt;
&lt;br /&gt;
O método FTCS (Forward Time Central Space) é uma abordagem progressiva no tempo e centrada no espaço. Em outras palavras, ao lidarmos com uma função de duas variáveis, buscamos uma solução futura em termos do tempo, centrada em uma vizinhança espacial. Para a resolução numérica da equação diferencial unidimensional da onda, optamos por trabalhar exclusivamente com o método explícito.&lt;br /&gt;
&lt;br /&gt;
=== Corda Ideal ===&lt;br /&gt;
&lt;br /&gt;
==== Método Explícito ====&lt;br /&gt;
&lt;br /&gt;
Para aplicar o método, é necessário inicialmente discretizar tanto as variáveis espaciais quanto as variáveis temporais. Seja a função &amp;lt;math&amp;gt; y(t,x): \mathbb{R}^{2} \mapsto \mathbb{R} &amp;lt;/math&amp;gt;, sejam os intervalos &amp;lt;math&amp;gt; \left [ 0,X \right ], \left [ 0,T \right ]\subset \mathbb{R} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; N,M\in \mathbb{N} &amp;lt;/math&amp;gt;, discretizamos os intervalos em espaçamentos iguais &amp;lt;math&amp;gt; \Delta x = X/N &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; \Delta t = T/M &amp;lt;/math&amp;gt; de tal maneira que obtemos as sequências crescentes monótonas &amp;lt;math&amp;gt;\left \{ x_{i} \right \}_{i=0}^{N} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\left \{ t_{i} \right \}_{j=0}^{M} &amp;lt;/math&amp;gt; . Assim obtemos uma grade de malhas de pontos &amp;lt;math&amp;gt; (t_{i}, x_{i}) &amp;lt;/math&amp;gt; onde a função &amp;lt;math&amp;gt; y(t,x) &amp;lt;/math&amp;gt; tem seus valores aproximados por &amp;lt;math&amp;gt; y(t_{i}, x_{i}) &amp;lt;/math&amp;gt; denotado &amp;lt;math&amp;gt; y_{j}^{n} &amp;lt;/math&amp;gt;. Uma abordagem comum envolve a discretização da primeira derivada no tempo utilizando uma diferença finita progressiva baseada na expansão em séries de Taylor até a primeira ordem :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial y}{\partial t} \approx \frac{y(t+\Delta t, x) - y(t, x)}{\Delta t} = \frac{y_{j}^{n+1} - y_{j}^{n}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Discretizando a derivada temporal segunda utilizando um diferença finita regressiva :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} \approx  \frac{\partial}{\partial t} \left(\frac{y_{j}^{n+1} - y_{j}^{n}}{\Delta t}\right) \approx \frac{1}{\Delta t}\left [\frac{y\left (t+\Delta t, x  \right ) - y\left (\left (t + \Delta t  \right )- \Delta t, x  \right )}{\Delta t} - \frac{y\left (t,x  \right ) - y\left (t - \Delta t, x  \right )}{\Delta t } \right ] = \frac{y\left (t + \Delta t, x  \right ) + y\left (t - \Delta t, x  \right ) - 2y\left (t, x  \right )}{(\Delta t)^{2}} = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que o processo retorna uma derivada de diferenças finitas centrada, além disso obtemos um aproximação de segunda ordem. O mecanismo de discretização das derivadas espaciais é completamente análogo, a derivada segunda centrada :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^{2} y}{\partial x^{2}} \approx \frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aplicando as expressões das diferenciais na equação da onda :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} = c^{2} \frac{\partial^2 y}{\partial x^2} \mapsto \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} = c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
defina &amp;lt;math&amp;gt; a := c\Delta t / \Delta x &amp;lt;/math&amp;gt; e explicite a variável no estado temporal futuro, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_{j}^{n+1} = 2\left(1 - a^{2}\right)y_{j}^{n} - y_{j}^{n-1} + a^{2}\left ( y_{j+1}^{n} + y_{j-1}^{n}\right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
uma equação explicita no tempo &amp;lt;math&amp;gt; n+1 &amp;lt;/math&amp;gt; dependendo somente de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; n-1 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Estabilidade ====&lt;br /&gt;
&lt;br /&gt;
Para analisar a estabilidade da solução numérica para a equação da onda, utilizaremos o método de Von Neumann. O procedimento consiste em utilizar a transformada de Fourier para determinar a estabilidade do esquema, a solução problema tem a forma : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_{j}^{n+1}(\xi) = A(\xi \Delta x, \Delta x, \Delta t) y_{j}^{n}(\xi)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; \xi \in \left [ -\pi / \Delta x, \pi / \Delta x \right ] &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; é o fator de amplificação, observe que podemos estudar a estabilidade da aproximação somente analisando o fator de amplificação. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Teorema&#039;&#039;&#039; : Se o fator de amplificação não depender de &amp;lt;math&amp;gt; \Delta x &amp;lt;/math&amp;gt; nem &amp;lt;math&amp;gt; \Delta t &amp;lt;/math&amp;gt;, então a aproximação é estável se &amp;lt;math&amp;gt; \left | A(\xi \Delta x) \right | \leq 1 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Vejamos a estabilidade da aproximação de diferenças finitas para a equação da onda, utilizando as componentes de Fourier &amp;lt;math &amp;gt;y_{j}^{n} \mapsto B^{n}e^{ikj\Delta x} &amp;lt;/math&amp;gt;, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
B^{n+1}e^{ikj\Delta x} = 2\left ( 1-a^{2} \right )B^{n}e^{ikj\Delta x} - B^{n-1}e^{ikj\Delta x} + a^{2}\left ( B^{n}e^{ik(j+1)\Delta x} + B^{n}e^{ik(j-1)\Delta x} \right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
simplificando os termos em comum :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
B^{n+1} + B^{n-1}  = B^{n} \left [ 2\left ( 1-a^{2} \right ) + a^{2}\left (e^{ik\Delta x} + e^{-ik\Delta x}\right )\right ]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que &amp;lt;math&amp;gt; e^{ik\Delta x} - e^{-ik\Delta x} = 2cos(k\Delta x) &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{B^{n+1} + B^{n-1}}{B^{n}} = 2\left ( 1-a^{2} \right ) + 2a^{2}cos(k\Delta x)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
utilizando a identidade trigonométrica &amp;lt;math&amp;gt; cos(\theta) = cos^{2}(\theta /2) - sen^{2}(\theta /2) &amp;lt;/math&amp;gt; e a identidade trigonométrica fundamental &amp;lt;math&amp;gt; 1 = cos^{2}(\theta) + sen^{2}(\theta) &amp;lt;/math&amp;gt;, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A + \frac{1}{A} = -2\left [ 2a^{2}sen^{2}\left ( \frac{k\Delta x}{2} \right ) -1 \right ]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; A = B^{n+1}/B^{n} &amp;lt;/math&amp;gt; &amp;lt;ref name=&amp;quot;fator_ampl&amp;quot;/&amp;gt; é o fator de amplificação. Defina &amp;lt;math&amp;gt; d :=  2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 &amp;lt;/math&amp;gt;. Portanto obtemos a equação quadrática com soluções :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A^{2} + 2dA + 1 = 0 \Rightarrow A_{1,2} = -d \pm \sqrt{d^{2}-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
se &amp;lt;math&amp;gt; \left | d \right | &amp;gt; 1 &amp;lt;/math&amp;gt;, então : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
-1&amp;gt;d&amp;gt;1 \Rightarrow -1 &amp;gt; 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 &amp;gt; 1  \Rightarrow 0 &amp;gt; 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) &amp;gt; 2 \Rightarrow 0 &amp;gt; \left( asen\left (k\Delta x / 2 \right ) \right)^{2} &amp;gt; 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
o que é um aburdo, pois &amp;lt;math&amp;gt; asen\left (k\Delta x / 2 \right )\in \mathbb{R} &amp;lt;/math&amp;gt;. Se &amp;lt;math&amp;gt; \left | d \right | \leq  1 &amp;lt;/math&amp;gt; , então : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
-1\leq d \leq 1 \Rightarrow -1 \leq 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 \leq 1  \Rightarrow 0 \leq 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) \leq 2 \Rightarrow 0 \leq \left( asen\left (k\Delta x / 2 \right ) \right)^{2} \leq 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que &amp;lt;math&amp;gt; sen\left (k\Delta x / 2 \right ) \leq 1 &amp;lt;/math&amp;gt;, logo &amp;lt;math&amp;gt; a \leq 1 &amp;lt;/math&amp;gt;. Portanto para o método ser condicionalmente estável : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\frac{c \Delta t}{ \Delta x} \leq 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Embora &amp;lt;math&amp;gt; a \leq 1 &amp;lt;/math&amp;gt; garante a estabilidade do processo, &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt; é a melhor escolha possível para a estabilidade do método, pelos seguintes motivos :&lt;br /&gt;
* Quando &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt;, os termos de ordem superior que são descartados na discretização da equação da onda são amplamente cancelados. Essa compensação implica que o método numérico se torna mais estável e menos suscetível a erros numéricos significativos, ou seja, não ocorrerão variações abruptas devido aos termos de ordem maiores;&lt;br /&gt;
* Quando &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt;, a perturbação na corda se propaga exatamente um passo espacial a cada passo de tempo. Esse comportamento assegura que a velocidade da perturbação seja adequadamente representada pelo algoritmo numérico. Isso ocorre devido a relação entre a velocidade física da corda &amp;lt;math&amp;gt; c &amp;lt;/math&amp;gt; e a velocidade da perturbação &amp;lt;math&amp;gt; v = \Delta x / \Delta t &amp;lt;/math&amp;gt;. A animação abaixo contém soluções da equação da onda ideal, obtidas utilizando o método FTCS com diferentes a&#039;s. Nela fica bem claro que a velocidade de propagação das ondas na solução para &amp;lt;math&amp;gt;a=0,5&amp;lt;/math&amp;gt; é metade da solução para &amp;lt;math&amp;gt;a=1&amp;lt;/math&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Different_ks.gif|frame|center|Soluções obtidas para a equação da onda ideal com diferentes a&#039;s.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\frac{c \Delta t}{ \Delta x} = \frac{c}{v} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observe que além de obtermos o intervalo de estabilidade &amp;lt;math&amp;gt; a\in\left [ 0, 1 \right ] &amp;lt;/math&amp;gt;, também obtemos uma restrição na discretização das malhas temporais e espaciais, limitando assim &amp;lt;math&amp;gt; N,M\in \mathbb{N} &amp;lt;/math&amp;gt; a um subconjunto que satisfaça a condição de estabilidade.&lt;br /&gt;
&lt;br /&gt;
=== Corda Não Ideal ===&lt;br /&gt;
&lt;br /&gt;
==== Método Explícito ====&lt;br /&gt;
Optaremos novamente por realizar a análise utilizando um método explícito. Em geral, o desenvolvimento teórico para a discretização da equação diferencial da onda com amortecimento e rigidez é análogo ao caso ideal, portanto, não serão apresentados com detalhes os cálculos necessários para a implementação do método. A derivada quarta centrada é aproximada utilizando diferenças finitas :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^4 y}{\partial x^4} \approx \frac{y_{j+2}^{n} + y_{j+1}^{n} + y_{j}^{n} + y_{j-1}^{n} + y_{j-2}^{n}}{\left ( \Delta x \right )^{4}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
transformando a EDP não homogênea para um espaço discretizado usando a aproximação de diferenças finitas centrada : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} = c^{2}\left ( \frac{\partial^2 y}{\partial x^2} - \epsilon L^{2}\frac{\partial^4 y}{\partial x^4} \right ) - b\frac{\partial y}{\partial t} \mapsto  y_{j}^{n+1} = \left [ \left (2 - 2a^{2} - 6\epsilon a^{2}E^{2} - F \right )y_{j}^{n} - y_{j}^{n-1} + a^{2}\left ( 1 + 4\epsilon E^{2} \right ) \left ( y_{j+1}^{n} + y_{j-1}^{n} \right ) - \epsilon a^{2}E^{2} \left ( y_{j+2}^{n} + y_{j-2}^{n} \right ) \right ]\left (\frac{1}{1-F} \right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; E := L/ \Delta x &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; F := b/ \Delta t &amp;lt;/math&amp;gt;. Novamente obtemos um equação explicita no tempo &amp;lt;math&amp;gt; n+1 &amp;lt;/math&amp;gt; que depende somente de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; n-1 &amp;lt;/math&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
==== Estabilidade ====&lt;br /&gt;
&lt;br /&gt;
A abordagem que empregamos para demonstrar a estabilidade da equação da onda não homogênea é completamente análoga ao caso homogêneo. Em outras palavras, utilizamos o método de Von Neumann em conjunto com o teorema da estabilidade. Ao aplicar novamente as componentes de Fourier, representadas por &amp;lt;math &amp;gt;y_{j}^{n} \mapsto B^{n}e^{ikj\Delta x} &amp;lt;/math&amp;gt;, obtemos uma equação quadrática que impõe a seguinte restrição :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
a = \frac{c \Delta t}{ \Delta x} \leq \frac{1}{4}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
logo, o método é condicionalmente estável no intervalo &amp;lt;math&amp;gt; a\in\left [ 0, 1/4 \right ] &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Convergência, Consistência e Estabilidade ===&lt;br /&gt;
&lt;br /&gt;
Até este ponto, ainda não discutimos o quão bem o esquema de diferenças finitas descreve a solução da equação diferencial. Vamos abordar isso agora. A propriedade mais essencial que um esquema deve possuir é que, à medida que os espaçamentos na malha discreta diminuem, a aproximação para a solução deve se aproximar da solução real do sistema. Portanto, um esquema é considerado uma boa aproximação se &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left ( \Delta t, \Delta x \right ) \rightarrow 0 \Rightarrow \left | y \left ( t_{n}, x_{j}\right )  - y_{j}^{n}  \right |\rightarrow 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; y \left ( t_{n}, x_{j}\right ) &amp;lt;/math&amp;gt; é a solução exata e &amp;lt;math&amp;gt; y_{j}^{n} &amp;lt;/math&amp;gt; a solução aproximada. Se tais condições são satisfeitas, dizemos que o esquema de equações diferenciais finitas é convergente. Entretanto, geralmente, provar a convergência não é uma tarefa trivial. No entanto, podemos demonstrá-la de maneira indireta, utilizando estabilidade e consistência. Se um esquema é estável e consistente, então a convergência do esquema é garantida. Dada uma equação diferencial &amp;lt;math&amp;gt; Dy = f &amp;lt;/math&amp;gt;, dizemos que o esquema de diferenças finitas &amp;lt;math&amp;gt; D_{\Delta t \Delta x}y = f &amp;lt;/math&amp;gt; é consistente com a equação diferencial se, para qualquer função suficientemente diferenciável &amp;lt;math&amp;gt; \phi(t, x) &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left ( \Delta t, \Delta x \right ) \rightarrow 0 \Rightarrow  D \phi  - D_{\Delta t \Delta x} \phi  \rightarrow 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostremos a consistência da aproximação de diferenças finitas para a equação da onda homogênea. Seja a EDP da onda &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
Dy\left ( t, x \right ) = \frac{\partial^2 y}{\partial t^2} - c^{2}\frac{\partial^2 y}{\partial x^2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e seja a equação de diferenças finitas &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
D_{\left (\Delta t \Delta x  \right )}y\left ( t, x \right ) = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} - c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pela aproximação que demonstramos anteriormente, temos : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
&amp;amp;\frac{\partial^2 y}{\partial t^2} - c^{2}\frac{\partial^2 y}{\partial x^2} = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} + O\left ( \Delta t^{2} \right )- c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}} + O\left ( \Delta x^{2} \right ) \\&lt;br /&gt;
&amp;amp;\frac{\partial^2 y}{\partial t^2} - c^{2}\frac{\partial^2 y}{\partial x^2} - \left (\frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} - c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}  \right ) = O\left ( \Delta t^{2} \right ) + O\left ( \Delta x^{2} \right ) \\&lt;br /&gt;
&amp;amp;Dy\left ( t, x \right ) - D_{\left (\Delta t \Delta x  \right )}y\left ( t, x \right ) = O\left ( \Delta t^{2} \right ) + O\left ( \Delta x^{2} \right )&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
como estamos supondo que os termos de ordem 2 são desprezíveis, &amp;lt;math&amp;gt; O\left ( \Delta t^{2} \right ) \rightarrow 0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; O\left ( \Delta x^{2} \right ) \rightarrow 0 &amp;lt;/math&amp;gt;. Logo : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
Dy\left ( t, x \right ) - D_{\left (\Delta t \Delta x  \right )}y\left ( t, x \right ) \rightarrow 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
portanto o esquema de diferenças finitas é consistente. Como na seção anterior já havíamos provado a estabilidade condicional do método, podemos concluir que o esquema é condicionalmente convergente (é consistente e condicionalmente estável) e portanto representa uma boa aproximação para a solução exata da equação diferencial.&lt;br /&gt;
&lt;br /&gt;
== Análise espectral ==&lt;br /&gt;
Uma possível forma para quantitativamente analisar o som gerado por uma corda vibrante é estudar as frequências que compõem o seu movimento, técnica essa chamada de análise espectral. Antes de prosseguirmos vamos recapitular alguns resultados da álgebra linear&lt;br /&gt;
&lt;br /&gt;
=== Supremacia da álgebra linear ===&lt;br /&gt;
O seguinte conjunto &amp;lt;math&amp;gt; \mathbb{R}^{\mathbb{R}} = \{ f~|~f: \mathbb{R} \to \mathbb{R} \} &amp;lt;/math&amp;gt; é o espaço de funções reais de uma variável. Esse conjunto é um espaço vetorial, logo podemos utilizar toda a artilharia da álgebra linear, em especial, estamos interessados no sub-espaço gerado pela base &amp;lt;math&amp;gt; B = \{sen(\omega t) / \sqrt{\pi}, cos(\omega t) / \sqrt{\pi} \}_{\omega \in \mathbb{R^+}} &amp;lt;/math&amp;gt; &amp;lt;ref name=&amp;quot;norm_const&amp;quot;/&amp;gt;, pois elementos de &amp;lt;math&amp;gt; B &amp;lt;/math&amp;gt;, interpretados como sinais sonoros, representam um frequência pura de valor &amp;lt;math&amp;gt;f=\omega/(2\pi)&amp;lt;/math&amp;gt;. Dessa forma, um sinal arbitrário &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; pode ser escrito em termos das frequências puras que o formam&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 s(t) = \frac{1}{\sqrt{\pi}}\int_{0}^{\infty}[a(\omega)cos(\omega t) + b(\omega)sen(\omega t]d\omega&lt;br /&gt;
&amp;lt;/math&amp;gt;  &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E podemos extrair suas coordenadas (conhecidas como transformada de Fourier do sinal) (&amp;lt;math&amp;gt;a(\omega)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;b(\omega)&amp;lt;/math&amp;gt;), fazendo o produto escalar com os elementos da base&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
a(\omega) &amp;amp;= \int_{-\infty}^{\infty}s(t)\frac{1}{\sqrt{\pi}}cos(\omega t)dt \\&lt;br /&gt;
b(\omega) &amp;amp;= \int_{-\infty}^{\infty}s(t)\frac{1}{\sqrt{\pi}}sen(\omega t)dt&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Se o domínio de &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; é limitado, digamos &amp;lt;math&amp;gt;t \in [0, T]&amp;lt;/math&amp;gt;, então uma base infinita com cardinalidade enumerável (em contraste com a base anterior, que possui cardinalidade não enumerável) é suficiente para representar &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt;, uma possível base ortonormal é a seguinte: &amp;lt;math&amp;gt;\bigg\{ \sqrt{\frac{1}{T}}, \sqrt{\frac{2}{T}}sen(\omega_n t), \sqrt{\frac{2}{T}}cos(\omega_n t) \bigg\}_{n \in \mathbb{N^*}}&amp;lt;/math&amp;gt;, em que &amp;lt;math&amp;gt; \omega_n = \frac{n\pi}{T} &amp;lt;/math&amp;gt;. Dessa forma, a representação e coordenadas de &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; ficam&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
s(t) &amp;amp;= a_0\sqrt{\frac{1}{T}} + \sqrt{\frac{2}{T}}\sum_{n=1}^{\infty}\bigg[a_n cos(\omega_n t) + b_n sen(\omega_n) \bigg] \\&lt;br /&gt;
a_0 &amp;amp;= \int_0^T s(t) \sqrt{\frac{1}{T}}dt \\&lt;br /&gt;
a_n &amp;amp;= \int_0^T s(t) \sqrt{\frac{2}{T}}cos(\omega_n t)dt \\&lt;br /&gt;
b_n &amp;amp;= \int_0^T s(t) \sqrt{\frac{2}{T}}sen(\omega_n t)dt \\&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É impossível falar sobre bases enumeráveis de um sub-espaço de &amp;lt;math&amp;gt; \mathbb{R}^{\mathbb{R}} &amp;lt;/math&amp;gt; sem representar esse canhão matemático com uma animação. Abaixo segue uma visualização que calcula as primeiras &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; coordenadas (&amp;lt;math&amp;gt;a_0,\dots,a_N&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;b_1,\dots,b_N&amp;lt;/math&amp;gt;) de um sinal qualquer e sobrepõem a série obtida, incrementando &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; até as duas curvas serem indistinguíveis a olho nu. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie_fourier_ana_julia.gif|frame|center|Animação de uma série de fourier. É interessante notar que a série converge muito bem com apenas uma dúzia de frequências.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Potência espectral ===&lt;br /&gt;
Adiante vamos ver que o sinal sonoro provém da vibração de um ponto específico da mesma, digamos em &amp;lt;math&amp;gt;x=x_o&amp;lt;/math&amp;gt;, então a função que representa esse sinal é &amp;lt;math&amp;gt;y(x_o, t)&amp;lt;/math&amp;gt;. Como estamos interessados nas frequências que compõem o sinal, será calculado a transformada de fourier de &amp;lt;math&amp;gt;y(x_o, t)&amp;lt;/math&amp;gt; e definido que a potência da frequência &amp;lt;math&amp;gt;f = \omega/(2\pi)&amp;lt;/math&amp;gt; é &amp;lt;math&amp;gt;a_\omega^2 + b_\omega^2&amp;lt;/math&amp;gt;. A potência em função da frequência é o resultado da análise espectral.&lt;br /&gt;
&lt;br /&gt;
== Simulando uma corda de violão ==&lt;br /&gt;
Uma corda de violão geralmente é excitada por uma pancada dada por uma palheta ou pelo próprio dedo/unha do violonista. Essa pancada define uma condição inicial para a equação de onda. Uma suposição razoável da condição gerada é a seguinte&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\begin{aligned}&lt;br /&gt;
y(x, t=0) &amp;amp;= \begin{cases}  &lt;br /&gt;
\frac{h}{x_0}x &amp;amp;, ~ 0 \leq x \leq x_0\\&lt;br /&gt;
\frac{h}{L-x_0}(-x + L) &amp;amp;, ~ x_0 \leq x \leq L\\&lt;br /&gt;
\end{cases} \\&lt;br /&gt;
\frac{\partial}{\partial t} y(x, t=0) &amp;amp;= 0&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
supondo que a corda possui comprimento &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; e a pancado ocorreu em &amp;lt;math&amp;gt;x_o&amp;lt;/math&amp;gt;, causando uma deslocamento máximo &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt;. A imagem a seguir ilustra o estado da corda logo após a excitação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Init_cond_ana_julia.png|thumb|upright=2|center|Condição inicial de uma corda de violão.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dado essa condição inicial, podemos evoluir temporalmente o estado da corda utilizando a equação da onda, mantendo as bordas fixas (&amp;lt;math&amp;gt;y(x=0, t) = y(x=L, t) = 0&amp;lt;/math&amp;gt;), mas como extrair som dessa simulação? Para responder essa pergunta precisamos saber como um violão gera som. Ao contrário do que inicialmente pareça, as ondas sonoras não são diretamente geradas pela vibração das cordas, mas sim da caixa do violão, que está diretamente conectada com as cordas em uma peça chamada ponte. A vibração das cordas gera uma força dependente do tempo que atua na caixa através da ponte, assim vibrando a caixa e gerando o som que escutamos. Portanto, para gerar som de forma realista, precisaríamos fisicamente simular a caixa, levando em consideração a sua geometria e as propriedades física do seu material, e então determinar as ondas de pressão que seriam geradas por essa vibração, o que está fora do escopo do presente trabalho. Felizmente, as seguintes simplificações vão nos permitir calcular as ondas de pressão:&lt;br /&gt;
&lt;br /&gt;
* A força que a ponte exerce na caixa é aproximadamente proporcional a sua velocidade (Dinâmica aristotélica).&lt;br /&gt;
* A onda de pressão produzida pela caixa é aproximadamente proporcional a sua velocidade.&lt;br /&gt;
&lt;br /&gt;
A força que a ponte exerce na caixa (&amp;lt;math&amp;gt;F(t)&amp;lt;/math&amp;gt;) é a força que a corda exerce na ponte (pois a ponte está firmemente conectada na caixa), e essa força é proporcional a inclinação da corda, ou seja&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F(t) = T \frac{\partial}{\partial x}y(x=0, t) \approx T\frac{y(\Delta x, t) - \overbrace{y(0, t)}^{0}}{\Delta x} = \frac{T}{\Delta x} y(\Delta x, t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a tensão na corda. Portando, o sinal da onda de pressão pode ser aproximado como o deslocamento de um ponto da corda próximo a ponte. Para gerar som com esse sinal, o tipo de arquivo [https://en.wikipedia.org/wiki/WAV#:~:text=Waveform%20Audio%20File%20Format%20(WAVE,1991%20by%20IBM%20and%20Microsoft. WAV]] é utilizado, pois o seu dado de entrada pode ser justante o sinal da onda de pressão.&lt;br /&gt;
&lt;br /&gt;
Agora tudo está pronto para fazermos uma simulação, vamos tentar reproduzir a nota lá (&amp;lt;math&amp;gt;f = 440~Hz&amp;lt;/math&amp;gt;). Primeiro precisamos descobrir qual deve ser a velocidade de propagação das ondas (&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;) para gerar a nota em questão. Resolvendo a equação da onda ideal, obtemos que as possíveis frequência que existem na solução são &amp;lt;math&amp;gt;f_n = \frac{nc}{2L} &amp;lt;/math&amp;gt;, então não é possível fazer a corda vibrar apenas com uma frequência, mas quando músicos se referem a uma nota, eles realmente estão se referindo a &amp;lt;math&amp;gt;f_1&amp;lt;/math&amp;gt;, a primeira frequência que compõem o sinal, portanto&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; f_1 = \frac{c}{2L} = 440~Hz \Rightarrow c = L \cdot 880~Hz&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assumindo &amp;lt;math&amp;gt;L=1~m&amp;lt;/math&amp;gt;, temos que &amp;lt;math&amp;gt;c = 880~m/s&amp;lt;/math&amp;gt;. Resolvendo a equação da onda realista pelo método FTCS com os seguinte parâmetros&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Parâmetros da condição inicial&lt;br /&gt;
|-&lt;br /&gt;
! Parâmetros !! Valor&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;x_o&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;0,5~L&amp;lt;/math&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| h || 1 cm &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Parâmetros da integração&lt;br /&gt;
|-&lt;br /&gt;
! Parâmetros !! Valor&lt;br /&gt;
|-&lt;br /&gt;
| k || 1/4 &lt;br /&gt;
|-&lt;br /&gt;
| c || 880 m/s &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt; || 0,01 m&lt;br /&gt;
|-&lt;br /&gt;
| L || 1 m &lt;br /&gt;
|-&lt;br /&gt;
| b || 5 &amp;lt;math&amp;gt;s^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
obtemos o seguinte resultado&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Corda_vibrando_ana_julia.gif|frame|center|Solução da equação de onda ideal e realista.]]&lt;br /&gt;
&lt;br /&gt;
Na animação acima, por questão de comparação, também foi coloca a solução de uma simulação com os mesmos parâmetros, apenas com a modificação &amp;lt;math&amp;gt;b=\epsilon=0&amp;lt;/math&amp;gt;, que seria o caso ideal (sem amortecimento e rigidez).&lt;br /&gt;
 &lt;br /&gt;
Realizando a análise espectral do deslocamento de um ponto próximo de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, obtemos o seguinte gráfico&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_ana_julia.png |thumb|upright=2|center|Espectro do deslocamento de um ponto próximo de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;. Linhas pretas tracejadas representam os harmônicos.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As linhas verticais pretas e tracejadas representam as possíveis frequências da solução do caso ideal (também chamadas de harmônicos), ou seja, a primeira linha está em &amp;lt;math&amp;gt;f = 440 Hz &amp;lt;/math&amp;gt; como era de se esperar, mas é notável que a segunda e quarta linhas possuem uma potência praticamente nula, isso ocorre porque a excitação inicial foi exatamente no meio, e as frequência correspondentes a essas linhas provém de ondas estacionário que possum um nodo em &amp;lt;math&amp;gt;x=L/2&amp;lt;/math&amp;gt;, logo elas não foram excitadas pela condição inicial. Mudando o ponto de excitação inicial, podemos ver essas frequências aparecendo. Rodando a simulação novamente, mas com &amp;lt;math&amp;gt;x_o = 0,2~L&amp;lt;/math&amp;gt;, obtemos o seguinte espectro&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_bridge_ana_julia.png |thumb|upright=2|center|Espectro para excitação inicial em &amp;lt;math&amp;gt;x_0 = 0,2~L&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para observar a influência da rigidez, a simulação foi rodada com &amp;lt;math&amp;gt;\epsilon=10^{-8}&amp;lt;/math&amp;gt; (10 vezes maior do que o valor anterior) resultando no seguinte espectro&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_high_stiff_ana_julia.png |thumb|upright=2|center|Espectro para &amp;lt;math&amp;gt;\epsilon=10^{-8}&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O efeito mais notável é o deslocamento para esquerda das frequência em relação as frequências que compõem o sinal no caso ideal.&lt;br /&gt;
&lt;br /&gt;
Por fim, conforme descrito anteriormente, podemos gerar som com as dados da simulação, mas infelizmente essa wiki não nos permite upar arquivos de áudio. No entanto, áudio das simulações discutidas aqui podem ser encontrados no repositório do projeto [https://github.com/marcos1561/ana-julia ana-julia] dentro da pasta &amp;quot;sound&amp;quot;. Em especial, o efeito de deslocamento de frequências causado pela rigidez é bastante evidente escutando os áudios.&lt;br /&gt;
&lt;br /&gt;
=== Bônus ===&lt;br /&gt;
Apenas por diversão, segue uma animação de um pacote gaussiano como condição inicial&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Gaussian_package_ana_julia.gif|frame|center|Animação da solução da equação da onda com um pacote gaussiano como condição inicial.]]&lt;br /&gt;
&lt;br /&gt;
== Notas ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;fator_ampl&amp;quot;&amp;gt; Perceba que não estamos operando expoentes, mas sim usando a relação entre os índices &amp;lt;math&amp;gt; B^{n-1}/B^{n} = B^{m}/B^{m+1} = A^{-1} &amp;lt;/math&amp;gt;.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;norm_const&amp;quot;&amp;gt;A constante &amp;lt;math&amp;gt; 1/\sqrt{\pi} &amp;lt;/math&amp;gt; está presente por questão de normalização. Esse caso pode parecer um pouco estranho, dado que não é possível normalizar os cossenos e senos, pois sua integral em todo a reta não é definida, mas o que se deseja é a seguinte propriedade &lt;br /&gt;
&amp;lt;math&amp;gt;\int_{\mathbb{R}}A_{\omega}cos(\omega t) \cdot A_{\omega&#039;}cos(\omega&#039; t)dt = \delta(\omega-\omega&#039;) &amp;lt;/math&amp;gt;&lt;br /&gt;
que é safisfeita quando &amp;lt;math&amp;gt; A_{\omega} = A_{\omega&#039;} =  1/\sqrt{\pi}, ~ \forall \omega,\omega&#039;&amp;lt;/math&amp;gt;.&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;y_periodica&amp;quot;&amp;gt; Note que &amp;lt;math&amp;gt; y_n &amp;lt;/math&amp;gt; é periódica no tempo com período &amp;lt;math&amp;gt; \frac{2L}{na} &amp;lt;/math&amp;gt;.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;freq_nat&amp;quot;&amp;gt; As quantidades &amp;lt;math&amp;gt; \frac{n \pi a}{L} &amp;lt;/math&amp;gt; são chamadas de frequências naturais da corda; o fator &amp;lt;math&amp;gt; \sin{\left(\frac{n \pi x}{L} \right)} &amp;lt;/math&amp;gt; é chamado modo natural de vibração e o período de modo natural de vibração &amp;lt;math&amp;gt; \frac{2L}{n} &amp;lt;/math&amp;gt; é chamado de comprimento de onda.&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Referências ==&lt;br /&gt;
&lt;br /&gt;
# Giordano, Nicholas, Nakanishin Hisao. Computacional Physics, Sencond Edition - 2006.&lt;br /&gt;
# Strikwerda, John. Finite Diference Schemes and Partial Diferential Equations, Second Edition, SIAM - 2004.&lt;br /&gt;
# Moraes, Alciney das Neves. Critério de Estabilidade de um Esquema Explícito em Diferenças Finitas para o Modelo de Placas de Mindlin-Timoshenko, Universidade Federal do Pará — 2019.&lt;br /&gt;
# Grigoryan, Viktor.  Finite differences for the wave equation. UC Santa Bárbara Mathematics - 2012.&lt;br /&gt;
# Boyce, E., W. Equações Diferenciais Elementares e Problemas de Valores de Contorno, 11ª Edição - 2020.&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Different_ks.gif&amp;diff=10242</id>
		<title>Arquivo:Different ks.gif</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Different_ks.gif&amp;diff=10242"/>
		<updated>2024-04-24T11:15:02Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: Marcospasa carregada uma nova versão de Arquivo:Different ks.gif&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Corda_Vibrante&amp;diff=10241</id>
		<title>Corda Vibrante</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Corda_Vibrante&amp;diff=10241"/>
		<updated>2024-04-24T11:07:15Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Grupo :&#039;&#039;&#039; Gustavo H. Guesser, Joshua L. Kipper, Marcos Pasa.&lt;br /&gt;
&lt;br /&gt;
== A equação da onda ==&lt;br /&gt;
No estudo das oscilações, é comum entre os físicos o emprego de modelos simples como representações &amp;quot;prototípicas&amp;quot; de certos padrões básicos observados na natureza. A eficácia desses modelos simples decorre de duas características fundamentais: a capacidade de serem compreendidos em detalhes minuciosos e a habilidade de reproduzir comportamentos semelhantes aos de situações reais e mais complexas, auxiliando na compreensão destas, pelo menos em termos qualitativos.&lt;br /&gt;
&lt;br /&gt;
Quando se trata de comportamentos oscilatórios, o modelo mais comumente utilizado é o do sistema massa-mola. Por outro lado, para descrever comportamentos ondulatórios unidimensionais, o modelo simples mais difundido é o da corda vibrante.&lt;br /&gt;
&lt;br /&gt;
=== Dedução ===&lt;br /&gt;
Consideremos uma corda esticada, como a corda de um violão, por exemplo. Suponhamos que esta corda tenha um comprimento &amp;lt;math&amp;gt; L &amp;lt;/math&amp;gt; e que suas extremidades estejam fixas nos pontos &amp;lt;math&amp;gt; x = 0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; x = L &amp;lt;/math&amp;gt;. Além disso, vamos supor que a corda tenha uma densidade linear uniforme representada por &amp;lt;math&amp;gt; \mu = \frac{dm}{dx} &amp;lt;/math&amp;gt;, e que esteja sob uma tensão constante &amp;lt;math&amp;gt; T &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Assumindo que a corda realize vibrações transversais apenas na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt; (embora possa ter vibrações transversais na direção &amp;lt;math&amp;gt; z &amp;lt;/math&amp;gt;, as quais vamos ignorar aqui), podemos representar a configuração da corda em qualquer instante de tempo no plano &amp;lt;math&amp;gt; xy &amp;lt;/math&amp;gt; por uma função &amp;lt;math&amp;gt; y(x,t) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vamos considerar mais algumas suposições:&lt;br /&gt;
&lt;br /&gt;
I) A tensão &amp;lt;math&amp;gt; T &amp;lt;/math&amp;gt; que estica a corda é tão alta que podemos negligenciar a força gravitacional sobre ela;&lt;br /&gt;
&lt;br /&gt;
II) A corda é perfeitamente elástica, ou seja, não oferece resistência a dobras;&lt;br /&gt;
&lt;br /&gt;
III) Os deslocamentos da corda, que ocorrem apenas na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt;, são de pequena amplitude.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com essas suposições em mente, estamos prontos para abordar o problema da corda vibrante. Em qualquer instante de tempo, um segmento arbitrário da corda estará na posição geral indicada pela figura abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:posicao_generica.png|400px|thumb|center|Posição genérica de um pedaço qualquer da corda]]&lt;br /&gt;
&lt;br /&gt;
A massa do pequeno segmento de corda de comprimento &amp;lt;math&amp;gt; \Delta{x} &amp;lt;/math&amp;gt; é&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\Delta{m} = \mu \Delta{x}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As componentes horizontal e vertical da força resultante atuando sobre esse segmento são:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_x = T \cos{(\theta + \Delta{\theta})} - T \cos{(\theta)}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
e&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_y = T \sin{(\theta + \Delta{\theta})} - T \sin{(\theta)}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Estamos assumindo que a corda não se move na direção &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; (apenas na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt;). Isso implica que a força resultante na direção &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; é nula (&amp;lt;math&amp;gt; F_x = 0 &amp;lt;/math&amp;gt;). Substituindo essa condição na equação, obtemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\cos{(\theta + \Delta{\theta})} = \cos{(\theta)}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E a força resultante na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; F_y &amp;lt;/math&amp;gt;, é dada de acordo com a segunda lei de Newton:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_y = (\mu \Delta{x})a_y = (\mu \Delta{x}) \frac{\partial^2{y}}{\partial{t^2}},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
então:&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
T \sin{(\theta + \Delta{\theta})} - T \sin{(\theta)} = (\mu \Delta{x}) \frac{\partial^2{y}}{\partial{t^2}},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
ou&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\sin{(\theta + \Delta{\theta})} - \sin{(\theta)} = \Delta{x} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos prosseguir dividindo os dois lados da equação acima pelo termo &amp;lt;math&amp;gt; \cos{(\theta)} &amp;lt;/math&amp;gt;, sabendo que &amp;lt;math&amp;gt; \cos{(\theta)} = \cos{(\theta + \Delta{\theta})} &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\sin{(\theta + \Delta{\theta})}}{\cos{(\theta + \Delta{\theta})}} - \frac{\sin{(\theta)}}{\cos{(\theta)}} = \frac{\Delta{x}}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}} \to \tan{(\theta + \Delta{\theta})} - \tan{(\theta)} = \frac{\Delta{x}}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando que o coeficiente angular da reta tangente a uma função em um dado ponto do seu domínio é igual à derivada da função nesse ponto, temos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial{y}}{\partial{x}} (x + \Delta{x}, t) - \frac{\partial{y}}{\partial{x}} (x, t) = \frac{\Delta{x}}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dividindo ambos os lados por &amp;lt;math&amp;gt; \Delta{x} &amp;lt;/math&amp;gt;, teremos do lado esquerdo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\frac{\partial{y}}{\partial{x}} (x + \Delta{x}, t) - \frac{\partial{y}}{\partial{x}} (x, t)}{\Delta{x}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e no limite que &amp;lt;math&amp;gt; \Delta{x} \to 0 &amp;lt;/math&amp;gt;, a expressão se torna uma derivada parcial segunda &amp;lt;math&amp;gt; \frac{\partial^2{y}}{\partial{x^2}} &amp;lt;/math&amp;gt;, nos permitindo reescrever a equação como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2{y}}{\partial{x^2}} (x, t) = \frac{1}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}} (x, t).&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E, como última manipulação, vamos supor agora que os deslocamentos da corda são pequenos, o que implica que os ângulos associados a esses deslocamentos também são pequenos: &amp;lt;math&amp;gt; \theta &amp;lt;&amp;lt; 1 &amp;lt;/math&amp;gt;. Com essa condição, &amp;lt;math&amp;gt; \cos{(\theta)} \approx 1 &amp;lt;/math&amp;gt; e chegamos em:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2{y}}{\partial{x^2}} (x, t) = \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}} (x, t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde o termo &amp;lt;math&amp;gt; \frac{\mu}{T} &amp;lt;/math&amp;gt; tem dimensão de &amp;lt;math&amp;gt; \frac{1}{c^2} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; c &amp;lt;/math&amp;gt; é a velocidade de propagação de ondas na corda esticada:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2{y}}{\partial{x^2}} (x, t) = \frac{1}{c^2} \frac{\partial^2{y}}{\partial{t^2}} (x, t) \Leftrightarrow \frac{\partial^2{y}}{\partial{t^2}} (x, t) = &lt;br /&gt;
c^2 \frac{\partial^2{y}}{\partial{x^2}} (x, t) \Leftrightarrow y_{tt} = c^2 y_{xx}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Chegando a conlusão de que essa é a expressão para a corda vibrante e que a velocidade de propagação aumenta com a tensão na corda e diminui com a sua inércia (massa por unidade de comprimento).&lt;br /&gt;
&lt;br /&gt;
=== Solução Analítica ===&lt;br /&gt;
Começaremos tomando as condições de contorno da corda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y(0,t) = 0 &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y(L,t) = 0 &lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
indicando que as extremidades da corda permanecem fixas.&lt;br /&gt;
&lt;br /&gt;
Além disso, tomaremos também as seguintes condições iniciais para a posição e velocidade da corda:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y(x,0) = f(x) &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; 0 \leq x \leq L &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial{y}}{\partial{t}} (x,0) = y_t = g(x) &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; 0 \leq x \leq L&lt;br /&gt;
&amp;lt;/math&amp;gt;,&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; f(x) &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; g(x) &amp;lt;/math&amp;gt; são funções tais que &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
f(0) = f(L) = 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
g(0) = g(L) = 0.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Iniciaremos o estudo das vibrações em uma corda elástica admitindo que a velocidade inicial da corda é nula, ou seja:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
g(x) = 0 &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; \forall 0 \leq x \leq L.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em outras palavras, estamos tratando do problema:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\begin{cases}  &lt;br /&gt;
y_{tt} = c^2 y_{xx},\\&lt;br /&gt;
y(0,t) = 0, \\&lt;br /&gt;
y(L,t) = 0,\\&lt;br /&gt;
y(x,0) = f(x), &amp;amp; 0\leq x \leq L,\\&lt;br /&gt;
y_t = g(x), &amp;amp; 0\leq x \leq L.\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Em que &amp;lt;math&amp;gt; f(0) = f(L) = 0 &amp;lt;/math&amp;gt; descreve a configuração da corda no início.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Usaremos o método da separação de variáveis para resolver o problema admitindo que &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt; pode ser escrita como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y(x,t) = X(x)T(t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
na qual &amp;lt;math&amp;gt; X &amp;lt;/math&amp;gt; depende apenas de &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; T &amp;lt;/math&amp;gt; depende apenas de &amp;lt;math&amp;gt; t &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Aplicando na equação diferencial parcial, temos:&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{X&#039;&#039;}{X} = \frac{1}{c^2} \frac{T&#039;&#039;}{T} = - \lambda,&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; \lambda &amp;lt;/math&amp;gt; é uma constante de separação.&lt;br /&gt;
&lt;br /&gt;
Logo, obtemos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
X&#039;&#039; + \lambda X = 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
T&#039;&#039; + c^2 \lambda T = 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aplicando as condições de contorno, encontramos o problema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
X&#039;&#039; + \lambda X = 0 &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; X(0) = X(L) = 0,&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cuja solução é dada por&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
X_n (x) = \sin{\left(\frac{n \pi x}{L} \right)}, \ {\lambda}_n = \left(\frac{n \pi}{L} \right)^2, \ n = 1, 2, 3, ...&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Com as constantes de separação acima, podemos obter a EDO&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
T&#039;&#039; + {\omega}^2 T = 0, \ \omega = \frac{n \pi a}{L},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cujas soluções são&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
T(t) = k_1 \cos{(\omega t)} + k_2 \sin{(\omega t)}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pelo fato da velocidade inicial da corda ser nula, deduzimos que&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_t (x,0) = X(x)T&#039;(0) = 0, \ \forall 0 \leq x \leq L, \ \Rightarrow T&#039;(0) = 0.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Como&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
T&#039;(t) = - \omega k_1 \sin{(\omega t)} + \omega k_2 \cos{(\omega t)},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
temos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
T&#039;(0) = 0 \ \Rightarrow k_2 = 0.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assim, as soluções fundamentais da equação da onda, envolvendo as condições de contorno e a segunda condição inicial são dadas por:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_n (x,t) = \sin{\left(\frac{n \pi x}{L} \right)} \cos{(\omega t)} = \sin{\left(\frac{n \pi x}{L} \right)} \cos{\left(\frac{n \pi a t}{L} \right)},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
para &amp;lt;math&amp;gt; n = 1, 2, 3, ... &amp;lt;/math&amp;gt; &amp;lt;ref name=&amp;quot;y_periodica&amp;quot;/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por fim, a superposição das soluções fundamentais nos fornece&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y(x,t) = \sum^{\infty}_{n=1} c_n \sin{\left(\frac{n \pi x}{L} \right)} \cos{\left(\frac{n \pi a t}{L} \right)}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e a condição inicial &amp;lt;math&amp;gt; y(x,0) = f(x) &amp;lt;/math&amp;gt; fornece&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y(x,0) = \sum^{\infty}_{n=1} c_n \sin{\left(\frac{n \pi x}{L} \right)} = f(x).&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Então, admitindo que &amp;lt;math&amp;gt; f(x) &amp;lt;/math&amp;gt; é uma função ímpar com período &amp;lt;math&amp;gt; T = 2L &amp;lt;/math&amp;gt;, concluímos que os coeficientes satisfazem&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
c_n = \frac{2}{L} \int^{L}_{0} f(x) \sin{\left(\frac{n \pi x}{L} \right)} dx, \ n = 1, 2, 3, ...&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Juntando as informações, temos que a solução do problema&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
\begin{cases}  &lt;br /&gt;
y_{tt} = c^2 y_{xx},\\&lt;br /&gt;
y(0,t) = 0, \\&lt;br /&gt;
y(L,t) = 0,\\&lt;br /&gt;
y(x,0) = f(x), &amp;amp; 0\leq x \leq L,\\&lt;br /&gt;
y_t = g(x), &amp;amp; 0\leq x \leq L.\\&lt;br /&gt;
\end{cases}&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
é dada por&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y(x,t) = \sum^{\infty}_{n=1} c_n \sin{\left(\frac{n \pi x}{L} \right)} \cos{\left(\frac{n \pi a t}{L} \right)},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;freq_nat&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
c_n = \frac{2}{L} \int^{L}_{0} f(x) \sin{\left(\frac{n \pi x}{L} \right)} dx, \ n = 1, 2, 3, ...&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Adaptação da equação da onda para uma corda real ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} = c^{2}\left ( \frac{\partial^2 y}{\partial x^2} - \epsilon L^{2}\frac{\partial^4 y}{\partial x^4} \right ) - 2b\frac{\partial y}{\partial t}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
## o termo 4º vem da rigidez da corda e o epsilon controla a rigidez&lt;br /&gt;
## -2b é o amortecimento&lt;br /&gt;
&lt;br /&gt;
== Método FTCS ==&lt;br /&gt;
&lt;br /&gt;
O método FTCS (Forward Time Central Space) é uma abordagem progressiva no tempo e centrada no espaço. Em outras palavras, ao lidarmos com uma função de duas variáveis, buscamos uma solução futura em termos do tempo, centrada em uma vizinhança espacial. Para a resolução numérica da equação diferencial unidimensional da onda, optamos por trabalhar exclusivamente com o método explícito.&lt;br /&gt;
&lt;br /&gt;
=== Corda Ideal ===&lt;br /&gt;
&lt;br /&gt;
==== Método Explícito ====&lt;br /&gt;
&lt;br /&gt;
Para aplicar o método, é necessário inicialmente discretizar tanto as variáveis espaciais quanto as variáveis temporais. Seja a função &amp;lt;math&amp;gt; y(t,x): \mathbb{R}^{2} \mapsto \mathbb{R} &amp;lt;/math&amp;gt;, sejam os intervalos &amp;lt;math&amp;gt; \left [ 0,X \right ], \left [ 0,T \right ]\subset \mathbb{R} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; N,M\in \mathbb{N} &amp;lt;/math&amp;gt;, discretizamos os intervalos em espaçamentos iguais &amp;lt;math&amp;gt; \Delta x = X/N &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; \Delta t = T/M &amp;lt;/math&amp;gt; de tal maneira que obtemos as sequências crescentes monótonas &amp;lt;math&amp;gt;\left \{ x_{i} \right \}_{i=0}^{N} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\left \{ t_{i} \right \}_{j=0}^{M} &amp;lt;/math&amp;gt; . Assim obtemos uma grade de malhas de pontos &amp;lt;math&amp;gt; (t_{i}, x_{i}) &amp;lt;/math&amp;gt; onde a função &amp;lt;math&amp;gt; y(t,x) &amp;lt;/math&amp;gt; tem seus valores aproximados por &amp;lt;math&amp;gt; y(t_{i}, x_{i}) &amp;lt;/math&amp;gt; denotado &amp;lt;math&amp;gt; y_{j}^{n} &amp;lt;/math&amp;gt;. Uma abordagem comum envolve a discretização da primeira derivada no tempo utilizando uma diferença finita progressiva baseada na expansão em séries de Taylor até a primeira ordem :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial y}{\partial t} \approx \frac{y(t+\Delta t, x) - y(t, x)}{\Delta t} = \frac{y_{j}^{n+1} - y_{j}^{n}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Discretizando a derivada temporal segunda utilizando um diferença finita regressiva :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} \approx  \frac{\partial}{\partial t} \left(\frac{y_{j}^{n+1} - y_{j}^{n}}{\Delta t}\right) \approx \frac{1}{\Delta t}\left [\frac{y\left (t+\Delta t, x  \right ) - y\left (\left (t + \Delta t  \right )- \Delta t, x  \right )}{\Delta t} - \frac{y\left (t,x  \right ) - y\left (t - \Delta t, x  \right )}{\Delta t } \right ] = \frac{y\left (t + \Delta t, x  \right ) + y\left (t - \Delta t, x  \right ) - 2y\left (t, x  \right )}{(\Delta t)^{2}} = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que o processo retorna uma derivada de diferenças finitas centrada, além disso obtemos um aproximação de segunda ordem. O mecanismo de discretização das derivadas espaciais é completamente análogo, a derivada segunda centrada :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^{2} y}{\partial x^{2}} \approx \frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aplicando as expressões das diferenciais na equação da onda :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} = c^{2} \frac{\partial^2 y}{\partial x^2} \mapsto \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} = c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
defina &amp;lt;math&amp;gt; a := c\Delta t / \Delta x &amp;lt;/math&amp;gt; e explicite a variável no estado temporal futuro, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_{j}^{n+1} = 2\left(1 - a^{2}\right)y_{j}^{n} - y_{j}^{n-1} + a^{2}\left ( y_{j+1}^{n} + y_{j-1}^{n}\right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
uma equação explicita no tempo &amp;lt;math&amp;gt; n+1 &amp;lt;/math&amp;gt; dependendo somente de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; n-1 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Estabilidade ====&lt;br /&gt;
&lt;br /&gt;
Para analisar a estabilidade da solução numérica para a equação da onda, utilizaremos o método de Von Neumann. O procedimento consiste em utilizar a transformada de Fourier para determinar a estabilidade do esquema, a solução problema tem a forma : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_{j}^{n+1}(\xi) = A(\xi \Delta x, \Delta x, \Delta t) y_{j}^{n}(\xi)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; \xi \in \left [ -\pi / \Delta x, \pi / \Delta x \right ] &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; é o fator de amplificação, observe que podemos estudar a estabilidade da aproximação somente analisando o fator de amplificação. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Teorema&#039;&#039;&#039; : Se o fator de amplificação não depender de &amp;lt;math&amp;gt; \Delta x &amp;lt;/math&amp;gt; nem &amp;lt;math&amp;gt; \Delta t &amp;lt;/math&amp;gt;, então a aproximação é estável se &amp;lt;math&amp;gt; \left | A(\xi \Delta x) \right | \leq 1 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Vejamos a estabilidade da aproximação de diferenças finitas para a equação da onda, utilizando as componentes de Fourier &amp;lt;math &amp;gt;y_{j}^{n} \mapsto B^{n}e^{ikj\Delta x} &amp;lt;/math&amp;gt;, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
B^{n+1}e^{ikj\Delta x} = 2\left ( 1-a^{2} \right )B^{n}e^{ikj\Delta x} - B^{n-1}e^{ikj\Delta x} + a^{2}\left ( B^{n}e^{ik(j+1)\Delta x} + B^{n}e^{ik(j-1)\Delta x} \right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
simplificando os termos em comum :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
B^{n+1} + B^{n-1}  = B^{n} \left [ 2\left ( 1-a^{2} \right ) + a^{2}\left (e^{ik\Delta x} + e^{-ik\Delta x}\right )\right ]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que &amp;lt;math&amp;gt; e^{ik\Delta x} - e^{-ik\Delta x} = 2cos(k\Delta x) &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{B^{n+1} + B^{n-1}}{B^{n}} = 2\left ( 1-a^{2} \right ) + 2a^{2}cos(k\Delta x)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
utilizando a identidade trigonométrica &amp;lt;math&amp;gt; cos(\theta) = cos^{2}(\theta /2) - sen^{2}(\theta /2) &amp;lt;/math&amp;gt; e a identidade trigonométrica fundamental &amp;lt;math&amp;gt; 1 = cos^{2}(\theta) + sen^{2}(\theta) &amp;lt;/math&amp;gt;, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A + \frac{1}{A} = -2\left [ 2a^{2}sen^{2}\left ( \frac{k\Delta x}{2} \right ) -1 \right ]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; A = B^{n+1}/B^{n} &amp;lt;/math&amp;gt; &amp;lt;ref name=&amp;quot;fator_ampl&amp;quot;/&amp;gt; é o fator de amplificação. Defina &amp;lt;math&amp;gt; d :=  2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 &amp;lt;/math&amp;gt;. Portanto obtemos a equação quadrática com soluções :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A^{2} + 2dA + 1 = 0 \Rightarrow A_{1,2} = -d \pm \sqrt{d^{2}-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
se &amp;lt;math&amp;gt; \left | d \right | &amp;gt; 1 &amp;lt;/math&amp;gt;, então : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
-1&amp;gt;d&amp;gt;1 \Rightarrow -1 &amp;gt; 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 &amp;gt; 1  \Rightarrow 0 &amp;gt; 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) &amp;gt; 2 \Rightarrow 0 &amp;gt; \left( asen\left (k\Delta x / 2 \right ) \right)^{2} &amp;gt; 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
o que é um aburdo, pois &amp;lt;math&amp;gt; asen\left (k\Delta x / 2 \right )\in \mathbb{R} &amp;lt;/math&amp;gt;. Se &amp;lt;math&amp;gt; \left | d \right | \leq  1 &amp;lt;/math&amp;gt; , então : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
-1\leq d \leq 1 \Rightarrow -1 \leq 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 \leq 1  \Rightarrow 0 \leq 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) \leq 2 \Rightarrow 0 \leq \left( asen\left (k\Delta x / 2 \right ) \right)^{2} \leq 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que &amp;lt;math&amp;gt; sen\left (k\Delta x / 2 \right ) \leq 1 &amp;lt;/math&amp;gt;, logo &amp;lt;math&amp;gt; a \leq 1 &amp;lt;/math&amp;gt;. Portanto para o método ser condicionalmente estável : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\frac{c \Delta t}{ \Delta x} \leq 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Embora &amp;lt;math&amp;gt; a \leq 1 &amp;lt;/math&amp;gt; garante a estabilidade do processo, &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt; é a melhor escolha possível para a estabilidade do método, pelos seguintes motivos :&lt;br /&gt;
* Quando &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt;, os termos de ordem superior que são descartados na discretização da equação da onda são amplamente cancelados. Essa compensação implica que o método numérico se torna mais estável e menos suscetível a erros numéricos significativos, ou seja, não ocorrerão variações abruptas devido aos termos de ordem maiores;&lt;br /&gt;
* Quando &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt;, a perturbação na corda se propaga exatamente um passo espacial a cada passo de tempo. Esse comportamento assegura que a velocidade da perturbação seja adequadamente representada pelo algoritmo numérico. Isso ocorre devido a relação entre a velocidade física da corda &amp;lt;math&amp;gt; c &amp;lt;/math&amp;gt; e a velocidade da perturbação &amp;lt;math&amp;gt; v = \Delta x / \Delta t &amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Different_ks.gif|frame|center|Animação da solução da equação da onda com um pacote gaussiano como condição inicial.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\frac{c \Delta t}{ \Delta x} = \frac{c}{v} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observe que além de obtermos o intervalo de estabilidade &amp;lt;math&amp;gt; a\in\left [ 0, 1 \right ] &amp;lt;/math&amp;gt;, também obtemos uma restrição na discretização das malhas temporais e espaciais, limitando assim &amp;lt;math&amp;gt; N,M\in \mathbb{N} &amp;lt;/math&amp;gt; a um subconjunto que satisfaça a condição de estabilidade.&lt;br /&gt;
&lt;br /&gt;
=== Corda Não Ideal ===&lt;br /&gt;
&lt;br /&gt;
==== Método Explícito ====&lt;br /&gt;
Optaremos novamente por realizar a análise utilizando um método explícito. Em geral, o desenvolvimento teórico para a discretização da equação diferencial da onda com amortecimento e rigidez é análogo ao caso ideal, portanto, não serão apresentados com detalhes os cálculos necessários para a implementação do método. A derivada quarta centrada é aproximada utilizando diferenças finitas :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^4 y}{\partial x^4} \approx \frac{y_{j+2}^{n} + y_{j+1}^{n} + y_{j}^{n} + y_{j-1}^{n} + y_{j-2}^{n}}{\left ( \Delta x \right )^{4}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
transformando a EDP não homogênea para um espaço discretizado usando a aproximação de diferenças finitas centrada : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} = c^{2}\left ( \frac{\partial^2 y}{\partial x^2} - \epsilon L^{2}\frac{\partial^4 y}{\partial x^4} \right ) - b\frac{\partial y}{\partial t} \mapsto  y_{j}^{n+1} = \left [ \left (2 - 2a^{2} - 6\epsilon a^{2}E^{2} - F \right )y_{j}^{n} - y_{j}^{n-1} + a^{2}\left ( 1 + 4\epsilon E^{2} \right ) \left ( y_{j+1}^{n} + y_{j-1}^{n} \right ) - \epsilon a^{2}E^{2} \left ( y_{j+2}^{n} + y_{j-2}^{n} \right ) \right ]\left (\frac{1}{1-F} \right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; E := L/ \Delta x &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; F := b/ \Delta t &amp;lt;/math&amp;gt;. Novamente obtemos um equação explicita no tempo &amp;lt;math&amp;gt; n+1 &amp;lt;/math&amp;gt; que depende somente de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; n-1 &amp;lt;/math&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
==== Estabilidade ====&lt;br /&gt;
&lt;br /&gt;
A abordagem que empregamos para demonstrar a estabilidade da equação da onda não homogênea é completamente análoga ao caso homogêneo. Em outras palavras, utilizamos o método de Von Neumann em conjunto com o teorema da estabilidade. Ao aplicar novamente as componentes de Fourier, representadas por &amp;lt;math &amp;gt;y_{j}^{n} \mapsto B^{n}e^{ikj\Delta x} &amp;lt;/math&amp;gt;, obtemos uma equação quadrática que impõe a seguinte restrição :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
a = \frac{c \Delta t}{ \Delta x} \leq \frac{1}{4}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
logo, o método é condicionalmente estável no intervalo &amp;lt;math&amp;gt; a\in\left [ 0, 1/4 \right ] &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Convergência, Consistência e Estabilidade ===&lt;br /&gt;
&lt;br /&gt;
Até este ponto, ainda não discutimos o quão bem o esquema de diferenças finitas descreve a solução da equação diferencial. Vamos abordar isso agora. A propriedade mais essencial que um esquema deve possuir é que, à medida que os espaçamentos na malha discreta diminuem, a aproximação para a solução deve se aproximar da solução real do sistema. Portanto, um esquema é considerado uma boa aproximação se &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left ( \Delta t, \Delta x \right ) \rightarrow 0 \Rightarrow \left | y \left ( t_{n}, x_{j}\right )  - y_{j}^{n}  \right |\rightarrow 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; y \left ( t_{n}, x_{j}\right ) &amp;lt;/math&amp;gt; é a solução exata e &amp;lt;math&amp;gt; y_{j}^{n} &amp;lt;/math&amp;gt; a solução aproximada. Se tais condições são satisfeitas, dizemos que o esquema de equações diferenciais finitas é convergente. Entretanto, geralmente, provar a convergência não é uma tarefa trivial. No entanto, podemos demonstrá-la de maneira indireta, utilizando estabilidade e consistência. Se um esquema é estável e consistente, então a convergência do esquema é garantida. Dada uma equação diferencial &amp;lt;math&amp;gt; Dy = f &amp;lt;/math&amp;gt;, dizemos que o esquema de diferenças finitas &amp;lt;math&amp;gt; D_{\Delta t \Delta x}y = f &amp;lt;/math&amp;gt; é consistente com a equação diferencial se, para qualquer função suficientemente diferenciável &amp;lt;math&amp;gt; \phi(t, x) &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left ( \Delta t, \Delta x \right ) \rightarrow 0 \Rightarrow  D \phi  - D_{\Delta t \Delta x} \phi  \rightarrow 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostremos a consistência da aproximação de diferenças finitas para a equação da onda homogênea. Seja a EDP da onda &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
Dy\left ( t, x \right ) = \frac{\partial^2 y}{\partial t^2} - c^{2}\frac{\partial^2 y}{\partial x^2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e seja a equação de diferenças finitas &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
D_{\left (\Delta t \Delta x  \right )}y\left ( t, x \right ) = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} - c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pela aproximação que demonstramos anteriormente, temos : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
&amp;amp;\frac{\partial^2 y}{\partial t^2} - c^{2}\frac{\partial^2 y}{\partial x^2} = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} + O\left ( \Delta t^{2} \right )- c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}} + O\left ( \Delta x^{2} \right ) \\&lt;br /&gt;
&amp;amp;\frac{\partial^2 y}{\partial t^2} - c^{2}\frac{\partial^2 y}{\partial x^2} - \left (\frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} - c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}  \right ) = O\left ( \Delta t^{2} \right ) + O\left ( \Delta x^{2} \right ) \\&lt;br /&gt;
&amp;amp;Dy\left ( t, x \right ) - D_{\left (\Delta t \Delta x  \right )}y\left ( t, x \right ) = O\left ( \Delta t^{2} \right ) + O\left ( \Delta x^{2} \right )&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
como estamos supondo que os termos de ordem 2 são desprezíveis, &amp;lt;math&amp;gt; O\left ( \Delta t^{2} \right ) \rightarrow 0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; O\left ( \Delta x^{2} \right ) \rightarrow 0 &amp;lt;/math&amp;gt;. Logo : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
Dy\left ( t, x \right ) - D_{\left (\Delta t \Delta x  \right )}y\left ( t, x \right ) \rightarrow 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
portanto o esquema de diferenças finitas é consistente. Como na seção anterior já havíamos provado a estabilidade condicional do método, podemos concluir que o esquema é condicionalmente convergente (é consistente e condicionalmente estável) e portanto representa uma boa aproximação para a solução exata da equação diferencial.&lt;br /&gt;
&lt;br /&gt;
== Análise espectral ==&lt;br /&gt;
Uma possível forma para quantitativamente analisar o som gerado por uma corda vibrante é estudar as frequências que compõem o seu movimento, técnica essa chamada de análise espectral. Antes de prosseguirmos vamos recapitular alguns resultados da álgebra linear&lt;br /&gt;
&lt;br /&gt;
=== Supremacia da álgebra linear ===&lt;br /&gt;
O seguinte conjunto &amp;lt;math&amp;gt; \mathbb{R}^{\mathbb{R}} = \{ f~|~f: \mathbb{R} \to \mathbb{R} \} &amp;lt;/math&amp;gt; é o espaço de funções reais de uma variável. Esse conjunto é um espaço vetorial, logo podemos utilizar toda a artilharia da álgebra linear, em especial, estamos interessados no sub-espaço gerado pela base &amp;lt;math&amp;gt; B = \{sen(\omega t) / \sqrt{\pi}, cos(\omega t) / \sqrt{\pi} \}_{\omega \in \mathbb{R^+}} &amp;lt;/math&amp;gt; &amp;lt;ref name=&amp;quot;norm_const&amp;quot;/&amp;gt;, pois elementos de &amp;lt;math&amp;gt; B &amp;lt;/math&amp;gt;, interpretados como sinais sonoros, representam um frequência pura de valor &amp;lt;math&amp;gt;f=\omega/(2\pi)&amp;lt;/math&amp;gt;. Dessa forma, um sinal arbitrário &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; pode ser escrito em termos das frequências puras que o formam&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 s(t) = \frac{1}{\sqrt{\pi}}\int_{0}^{\infty}[a(\omega)cos(\omega t) + b(\omega)sen(\omega t]d\omega&lt;br /&gt;
&amp;lt;/math&amp;gt;  &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E podemos extrair suas coordenadas (conhecidas como transformada de Fourier do sinal) (&amp;lt;math&amp;gt;a(\omega)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;b(\omega)&amp;lt;/math&amp;gt;), fazendo o produto escalar com os elementos da base&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
a(\omega) &amp;amp;= \int_{-\infty}^{\infty}s(t)\frac{1}{\sqrt{\pi}}cos(\omega t)dt \\&lt;br /&gt;
b(\omega) &amp;amp;= \int_{-\infty}^{\infty}s(t)\frac{1}{\sqrt{\pi}}sen(\omega t)dt&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Se o domínio de &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; é limitado, digamos &amp;lt;math&amp;gt;t \in [0, T]&amp;lt;/math&amp;gt;, então uma base infinita com cardinalidade enumerável (em contraste com a base anterior, que possui cardinalidade não enumerável) é suficiente para representar &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt;, uma possível base ortonormal é a seguinte: &amp;lt;math&amp;gt;\bigg\{ \sqrt{\frac{1}{T}}, \sqrt{\frac{2}{T}}sen(\omega_n t), \sqrt{\frac{2}{T}}cos(\omega_n t) \bigg\}_{n \in \mathbb{N^*}}&amp;lt;/math&amp;gt;, em que &amp;lt;math&amp;gt; \omega_n = \frac{n\pi}{T} &amp;lt;/math&amp;gt;. Dessa forma, a representação e coordenadas de &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; ficam&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
s(t) &amp;amp;= a_0\sqrt{\frac{1}{T}} + \sqrt{\frac{2}{T}}\sum_{n=1}^{\infty}\bigg[a_n cos(\omega_n t) + b_n sen(\omega_n) \bigg] \\&lt;br /&gt;
a_0 &amp;amp;= \int_0^T s(t) \sqrt{\frac{1}{T}}dt \\&lt;br /&gt;
a_n &amp;amp;= \int_0^T s(t) \sqrt{\frac{2}{T}}cos(\omega_n t)dt \\&lt;br /&gt;
b_n &amp;amp;= \int_0^T s(t) \sqrt{\frac{2}{T}}sen(\omega_n t)dt \\&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É impossível falar sobre bases enumeráveis de um sub-espaço de &amp;lt;math&amp;gt; \mathbb{R}^{\mathbb{R}} &amp;lt;/math&amp;gt; sem representar esse canhão matemático com uma animação. Abaixo segue uma visualização que calcula as primeiras &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; coordenadas (&amp;lt;math&amp;gt;a_0,\dots,a_N&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;b_1,\dots,b_N&amp;lt;/math&amp;gt;) de um sinal qualquer e sobrepõem a série obtida, incrementando &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; até as duas curvas serem indistinguíveis a olho nu. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie_fourier_ana_julia.gif|frame|center|Animação de uma série de fourier. É interessante notar que a série converge muito bem com apenas uma dúzia de frequências.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Potência espectral ===&lt;br /&gt;
Adiante vamos ver que o sinal sonoro provém da vibração de um ponto específico da mesma, digamos em &amp;lt;math&amp;gt;x=x_o&amp;lt;/math&amp;gt;, então a função que representa esse sinal é &amp;lt;math&amp;gt;y(x_o, t)&amp;lt;/math&amp;gt;. Como estamos interessados nas frequências que compõem o sinal, será calculado a transformada de fourier de &amp;lt;math&amp;gt;y(x_o, t)&amp;lt;/math&amp;gt; e definido que a potência da frequência &amp;lt;math&amp;gt;f = \omega/(2\pi)&amp;lt;/math&amp;gt; é &amp;lt;math&amp;gt;a_\omega^2 + b_\omega^2&amp;lt;/math&amp;gt;. A potência em função da frequência é o resultado da análise espectral.&lt;br /&gt;
&lt;br /&gt;
== Simulando uma corda de violão ==&lt;br /&gt;
Uma corda de violão geralmente é excitada por uma pancada dada por uma palheta ou pelo próprio dedo/unha do violonista. Essa pancada define uma condição inicial para a equação de onda. Uma suposição razoável da condição gerada é a seguinte&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\begin{aligned}&lt;br /&gt;
y(x, t=0) &amp;amp;= \begin{cases}  &lt;br /&gt;
\frac{h}{x_0}x &amp;amp;, ~ 0 \leq x \leq x_0\\&lt;br /&gt;
\frac{h}{L-x_0}(-x + L) &amp;amp;, ~ x_0 \leq x \leq L\\&lt;br /&gt;
\end{cases} \\&lt;br /&gt;
\frac{\partial}{\partial t} y(x, t=0) &amp;amp;= 0&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
supondo que a corda possui comprimento &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; e a pancado ocorreu em &amp;lt;math&amp;gt;x_o&amp;lt;/math&amp;gt;, causando uma deslocamento máximo &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt;. A imagem a seguir ilustra o estado da corda logo após a excitação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Init_cond_ana_julia.png|thumb|upright=2|center|Condição inicial de uma corda de violão.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dado essa condição inicial, podemos evoluir temporalmente o estado da corda utilizando a equação da onda, mantendo as bordas fixas (&amp;lt;math&amp;gt;y(x=0, t) = y(x=L, t) = 0&amp;lt;/math&amp;gt;), mas como extrair som dessa simulação? Para responder essa pergunta precisamos saber como um violão gera som. Ao contrário do que inicialmente pareça, as ondas sonoras não são diretamente geradas pela vibração das cordas, mas sim da caixa do violão, que está diretamente conectada com as cordas em uma peça chamada ponte. A vibração das cordas gera uma força dependente do tempo que atua na caixa através da ponte, assim vibrando a caixa e gerando o som que escutamos. Portanto, para gerar som de forma realista, precisaríamos fisicamente simular a caixa, levando em consideração a sua geometria e as propriedades física do seu material, e então determinar as ondas de pressão que seriam geradas por essa vibração, o que está fora do escopo do presente trabalho. Felizmente, as seguintes simplificações vão nos permitir calcular as ondas de pressão:&lt;br /&gt;
&lt;br /&gt;
* A força que a ponte exerce na caixa é aproximadamente proporcional a sua velocidade (Dinâmica aristotélica).&lt;br /&gt;
* A onda de pressão produzida pela caixa é aproximadamente proporcional a sua velocidade.&lt;br /&gt;
&lt;br /&gt;
A força que a ponte exerce na caixa (&amp;lt;math&amp;gt;F(t)&amp;lt;/math&amp;gt;) é a força que a corda exerce na ponte (pois a ponte está firmemente conectada na caixa), e essa força é proporcional a inclinação da corda, ou seja&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F(t) = T \frac{\partial}{\partial x}y(x=0, t) \approx T\frac{y(\Delta x, t) - \overbrace{y(0, t)}^{0}}{\Delta x} = \frac{T}{\Delta x} y(\Delta x, t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a tensão na corda. Portando, o sinal da onda de pressão pode ser aproximado como o deslocamento de um ponto da corda próximo a ponte. Para gerar som com esse sinal, o tipo de arquivo [https://en.wikipedia.org/wiki/WAV#:~:text=Waveform%20Audio%20File%20Format%20(WAVE,1991%20by%20IBM%20and%20Microsoft. WAV]] é utilizado, pois o seu dado de entrada pode ser justante o sinal da onda de pressão.&lt;br /&gt;
&lt;br /&gt;
Agora tudo está pronto para fazermos uma simulação, vamos tentar reproduzir a nota lá (&amp;lt;math&amp;gt;f = 440~Hz&amp;lt;/math&amp;gt;). Primeiro precisamos descobrir qual deve ser a velocidade de propagação das ondas (&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;) para gerar a nota em questão. Resolvendo a equação da onda ideal, obtemos que as possíveis frequência que existem na solução são &amp;lt;math&amp;gt;f_n = \frac{nc}{2L} &amp;lt;/math&amp;gt;, então não é possível fazer a corda vibrar apenas com uma frequência, mas quando músicos se referem a uma nota, eles realmente estão se referindo a &amp;lt;math&amp;gt;f_1&amp;lt;/math&amp;gt;, a primeira frequência que compõem o sinal, portanto&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; f_1 = \frac{c}{2L} = 440~Hz \Rightarrow c = L \cdot 880~Hz&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assumindo &amp;lt;math&amp;gt;L=1~m&amp;lt;/math&amp;gt;, temos que &amp;lt;math&amp;gt;c = 880~m/s&amp;lt;/math&amp;gt;. Resolvendo a equação da onda realista pelo método FTCS com os seguinte parâmetros&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Parâmetros da condição inicial&lt;br /&gt;
|-&lt;br /&gt;
! Parâmetros !! Valor&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;x_o&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;0,5~L&amp;lt;/math&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| h || 1 cm &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Parâmetros da integração&lt;br /&gt;
|-&lt;br /&gt;
! Parâmetros !! Valor&lt;br /&gt;
|-&lt;br /&gt;
| k || 1/4 &lt;br /&gt;
|-&lt;br /&gt;
| c || 880 m/s &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt; || 0,01 m&lt;br /&gt;
|-&lt;br /&gt;
| L || 1 m &lt;br /&gt;
|-&lt;br /&gt;
| b || 5 &amp;lt;math&amp;gt;s^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
obtemos o seguinte resultado&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Corda_vibrando_ana_julia.gif|frame|center|Solução da equação de onda ideal e realista.]]&lt;br /&gt;
&lt;br /&gt;
Na animação acima, por questão de comparação, também foi coloca a solução de uma simulação com os mesmos parâmetros, apenas com a modificação &amp;lt;math&amp;gt;b=\epsilon=0&amp;lt;/math&amp;gt;, que seria o caso ideal (sem amortecimento e rigidez).&lt;br /&gt;
 &lt;br /&gt;
Realizando a análise espectral do deslocamento de um ponto próximo de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, obtemos o seguinte gráfico&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_ana_julia.png |thumb|upright=2|center|Espectro do deslocamento de um ponto próximo de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;. Linhas pretas tracejadas representam os harmônicos.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As linhas verticais pretas e tracejadas representam as possíveis frequências da solução do caso ideal (também chamadas de harmônicos), ou seja, a primeira linha está em &amp;lt;math&amp;gt;f = 440 Hz &amp;lt;/math&amp;gt; como era de se esperar, mas é notável que a segunda e quarta linhas possuem uma potência praticamente nula, isso ocorre porque a excitação inicial foi exatamente no meio, e as frequência correspondentes a essas linhas provém de ondas estacionário que possum um nodo em &amp;lt;math&amp;gt;x=L/2&amp;lt;/math&amp;gt;, logo elas não foram excitadas pela condição inicial. Mudando o ponto de excitação inicial, podemos ver essas frequências aparecendo. Rodando a simulação novamente, mas com &amp;lt;math&amp;gt;x_o = 0,2~L&amp;lt;/math&amp;gt;, obtemos o seguinte espectro&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_bridge_ana_julia.png |thumb|upright=2|center|Espectro para excitação inicial em &amp;lt;math&amp;gt;x_0 = 0,2~L&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para observar a influência da rigidez, a simulação foi rodada com &amp;lt;math&amp;gt;\epsilon=10^{-8}&amp;lt;/math&amp;gt; (10 vezes maior do que o valor anterior) resultando no seguinte espectro&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_high_stiff_ana_julia.png |thumb|upright=2|center|Espectro para &amp;lt;math&amp;gt;\epsilon=10^{-8}&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O efeito mais notável é o deslocamento para esquerda das frequência em relação as frequências que compõem o sinal no caso ideal.&lt;br /&gt;
&lt;br /&gt;
Por fim, conforme descrito anteriormente, podemos gerar som com as dados da simulação, mas infelizmente essa wiki não nos permite upar arquivos de áudio. No entanto, áudio das simulações discutidas aqui podem ser encontrados no repositório do projeto [https://github.com/marcos1561/ana-julia ana-julia] dentro da pasta &amp;quot;sound&amp;quot;. Em especial, o efeito de deslocamento de frequências causado pela rigidez é bastante evidente escutando os áudios.&lt;br /&gt;
&lt;br /&gt;
=== Bônus ===&lt;br /&gt;
Apenas por diversão, segue uma animação de um pacote gaussiano como condição inicial&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Gaussian_package_ana_julia.gif|frame|center|Animação da solução da equação da onda com um pacote gaussiano como condição inicial.]]&lt;br /&gt;
&lt;br /&gt;
== Notas ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;fator_ampl&amp;quot;&amp;gt; Perceba que não estamos operando expoentes, mas sim usando a relação entre os índices &amp;lt;math&amp;gt; B^{n-1}/B^{n} = B^{m}/B^{m+1} = A^{-1} &amp;lt;/math&amp;gt;.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;norm_const&amp;quot;&amp;gt;A constante &amp;lt;math&amp;gt; 1/\sqrt{\pi} &amp;lt;/math&amp;gt; está presente por questão de normalização. Esse caso pode parecer um pouco estranho, dado que não é possível normalizar os cossenos e senos, pois sua integral em todo a reta não é definida, mas o que se deseja é a seguinte propriedade &lt;br /&gt;
&amp;lt;math&amp;gt;\int_{\mathbb{R}}A_{\omega}cos(\omega t) \cdot A_{\omega&#039;}cos(\omega&#039; t)dt = \delta(\omega-\omega&#039;) &amp;lt;/math&amp;gt;&lt;br /&gt;
que é safisfeita quando &amp;lt;math&amp;gt; A_{\omega} = A_{\omega&#039;} =  1/\sqrt{\pi}, ~ \forall \omega,\omega&#039;&amp;lt;/math&amp;gt;.&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;y_periodica&amp;quot;&amp;gt; Note que &amp;lt;math&amp;gt; y_n &amp;lt;/math&amp;gt; é periódica no tempo com período &amp;lt;math&amp;gt; \frac{2L}{na} &amp;lt;/math&amp;gt;.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ref name=&amp;quot;freq_nat&amp;quot;&amp;gt; As quantidades &amp;lt;math&amp;gt; \frac{n \pi a}{L} &amp;lt;/math&amp;gt; são chamadas de frequências naturais da corda; o fator &amp;lt;math&amp;gt; \sin{\left(\frac{n \pi x}{L} \right)} &amp;lt;/math&amp;gt; é chamado modo natural de vibração e o período de modo natural de vibração &amp;lt;math&amp;gt; \frac{2L}{n} &amp;lt;/math&amp;gt; é chamado de comprimento de onda.&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Referências ==&lt;br /&gt;
&lt;br /&gt;
# Giordano, Nicholas, Nakanishin Hisao. Computacional Physics, Sencond Edition - 2006.&lt;br /&gt;
# Strikwerda, John. Finite Diference Schemes and Partial Diferential Equations, Second Edition, SIAM - 2004.&lt;br /&gt;
# Moraes, Alciney das Neves. Critério de Estabilidade de um Esquema Explícito em Diferenças Finitas para o Modelo de Placas de Mindlin-Timoshenko, Universidade Federal do Pará — 2019.&lt;br /&gt;
# Grigoryan, Viktor.  Finite differences for the wave equation. UC Santa Bárbara Mathematics - 2012.&lt;br /&gt;
# Boyce, E., W. Equações Diferenciais Elementares e Problemas de Valores de Contorno, 11ª Edição - 2020.&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Different_ks.gif&amp;diff=10240</id>
		<title>Arquivo:Different ks.gif</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Different_ks.gif&amp;diff=10240"/>
		<updated>2024-04-24T11:04:05Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Corda_Vibrante&amp;diff=10185</id>
		<title>Corda Vibrante</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Corda_Vibrante&amp;diff=10185"/>
		<updated>2024-04-23T03:08:39Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: /* Simulando uma corda de violão */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== A equação da onda ==&lt;br /&gt;
No estudo das oscilações, é comum entre os físicos o emprego de modelos simples como representações &amp;quot;prototípicas&amp;quot; de certos padrões básicos observados na natureza. A eficácia desses modelos simples decorre de duas características fundamentais: a capacidade de serem compreendidos em detalhes minuciosos e a habilidade de reproduzir comportamentos semelhantes aos de situações reais e mais complexas, auxiliando na compreensão destas, pelo menos em termos qualitativos.&lt;br /&gt;
&lt;br /&gt;
Quando se trata de comportamentos oscilatórios, o modelo mais comumente utilizado é o do sistema massa-mola. Por outro lado, para descrever comportamentos ondulatórios unidimensionais, o modelo simples mais difundido é o da corda vibrante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consideremos uma corda esticada, como a corda de um violão, por exemplo. Suponhamos que esta corda tenha um comprimento &amp;lt;math&amp;gt; L &amp;lt;/math&amp;gt; e que suas extremidades estejam fixas nos pontos &amp;lt;math&amp;gt; x = 0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; x = L &amp;lt;/math&amp;gt;. Além disso, vamos supor que a corda tenha uma densidade linear uniforme representada por &amp;lt;math&amp;gt; \mu = \frac{dm}{dx} &amp;lt;/math&amp;gt;, e que esteja sob uma tensão constante &amp;lt;math&amp;gt; T &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Assumindo que a corda realize vibrações transversais apenas na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt; (embora possa ter vibrações transversais na direção &amp;lt;math&amp;gt; z &amp;lt;/math&amp;gt;, as quais vamos ignorar aqui), podemos representar a configuração da corda em qualquer instante de tempo no plano &amp;lt;math&amp;gt; xy &amp;lt;/math&amp;gt; por uma função &amp;lt;math&amp;gt; y(x,t) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vamos considerar mais algumas suposições:&lt;br /&gt;
&lt;br /&gt;
I) A tensão &amp;lt;math&amp;gt; T &amp;lt;/math&amp;gt; que estica a corda é tão alta que podemos negligenciar a força gravitacional sobre ela;&lt;br /&gt;
&lt;br /&gt;
II) A corda é perfeitamente elástica, ou seja, não oferece resistência a dobras;&lt;br /&gt;
&lt;br /&gt;
III) Os deslocamentos da corda, que ocorrem apenas na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt;, são de pequena amplitude.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com essas suposições em mente, estamos prontos para abordar o problema da corda vibrante. Em qualquer instante de tempo, um segmento arbitrário da corda estará na posição geral indicada pela figura abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:posicao_generica.png|400px|thumb|center|Posição genérica de um pedaço qualquer da corda]]&lt;br /&gt;
&lt;br /&gt;
A massa do pequeno segmento de corda de comprimento &amp;lt;math&amp;gt; \Delta{x} &amp;lt;/math&amp;gt; é&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\Delta{m} = \mu \Delta{x}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As componentes horizontal e vertical da força resultante atuando sobre esse segmento são:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_x = T \cos{(\theta + \Delta{\theta})} - T \cos{(\theta)}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
e&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_y = T \sin{(\theta + \Delta{\theta})} - T \sin{(\theta)}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Estamos assumindo que a corda não se move na direção &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; (apenas na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt;). Isso implica que a força resultante na direção &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; é nula (&amp;lt;math&amp;gt; F_x = 0 &amp;lt;/math&amp;gt;). Substituindo essa condição na equação, obtemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\cos{(\theta + \Delta{\theta})} = \cos{(\theta)}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E a força resultante na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; F_y &amp;lt;/math&amp;gt;, é dada de acordo com a segunda lei de Newton:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_y = (\mu \Delta{x})a_y = (\mu \Delta{x}) \frac{\partial^2{y}}{\partial{t^2}},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
então:&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
T \sin{(\theta + \Delta{\theta})} - T \sin{(\theta)} = (\mu \Delta{x}) \frac{\partial^2{y}}{\partial{t^2}},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
ou&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\sin{(\theta + \Delta{\theta})} - \sin{(\theta)} = \Delta{x} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos prosseguir dividindo os dois lados da equação acima pelo termo &amp;lt;math&amp;gt; \cos{(\theta)} &amp;lt;/math&amp;gt;, sabendo que &amp;lt;math&amp;gt; \cos{(\theta)} = \cos{(\theta + \Delta{\theta})} &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\sin{(\theta + \Delta{\theta})}}{\cos{(\theta + \Delta{\theta})}} - \frac{\sin{(\theta)}}{\cos{(\theta)}} = \frac{\Delta{x}}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}} \to \tan{(\theta + \Delta{\theta})} - \tan{(\theta)} = \frac{\Delta{x}}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando que o coeficiente angular da reta tangente a uma função em um dado ponto do seu domínio é igual à derivada da função nesse ponto, temos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial{y}}{\partial{x}} (x + \Delta{x}, t) - \frac{\partial{y}}{\partial{x}} (x, t) = \frac{\Delta{x}}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dividindo ambos os lados por &amp;lt;math&amp;gt; \Delta{x} &amp;lt;/math&amp;gt;, teremos do lado esquerdo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\frac{\partial{y}}{\partial{x}} (x + \Delta{x}, t) - \frac{\partial{y}}{\partial{x}} (x, t)}{\Delta{x}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e no limite que &amp;lt;math&amp;gt; \Delta{x} \to 0 &amp;lt;/math&amp;gt;, a expressão se torna uma derivada parcial segunda &amp;lt;math&amp;gt; \frac{\partial^2{y}}{\partial{x^2}} &amp;lt;/math&amp;gt;, nos permitindo reescrever a equação como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2{y}}{\partial{x^2}} (x, t) = \frac{1}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}} (x, t).&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E, como última manipulação, vamos supor agora que os deslocamentos da corda são pequenos, o que implica que os ângulos associados a esses deslocamentos também são pequenos: &amp;lt;math&amp;gt; \theta &amp;lt;&amp;lt; 1 &amp;lt;/math&amp;gt;. Com essa condição, &amp;lt;math&amp;gt; \cos{(\theta)} \approx 1 &amp;lt;/math&amp;gt; e chegamos em:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2{y}}{\partial{x^2}} (x, t) = \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}} (x, t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde o termo &amp;lt;math&amp;gt; \frac{\mu}{T} &amp;lt;/math&amp;gt; tem dimensão de &amp;lt;math&amp;gt; \frac{1}{c^2} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; c &amp;lt;/math&amp;gt; é a velocidade de propagação de ondas na corda esticada:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2{y}}{\partial{x^2}} (x, t) = \frac{1}{c^2} \frac{\partial^2{y}}{\partial{t^2}} (x, t) \Leftrightarrow \frac{\partial^2{y}}{\partial{t^2}} (x, t) = &lt;br /&gt;
c^2 \frac{\partial^2{y}}{\partial{x^2}} (x, t).&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Chegando a conlusão de que essa é a expressão para a corda vibrante e que a velocidade de propagação aumenta com a tensão na corda e diminui com a sua inércia (massa por unidade de comprimento).&lt;br /&gt;
&lt;br /&gt;
== Método FTCS ==&lt;br /&gt;
&lt;br /&gt;
O método FTCS (Forward Time Central Space) é uma abordagem progressiva no tempo e centrada no espaço. Em outras palavras, ao lidarmos com uma função de duas variáveis, buscamos uma solução futura em termos do tempo, centrada em uma vizinhança espacial. Para a resolução numérica da equação diferencial unidimensional da onda, optamos por trabalhar exclusivamente com o método explícito.&lt;br /&gt;
&lt;br /&gt;
=== Corda Ideal ===&lt;br /&gt;
&lt;br /&gt;
==== Método Explícito ====&lt;br /&gt;
&lt;br /&gt;
Para aplicar o método, é necessário inicialmente discretizar tanto as variáveis espaciais quanto as variáveis temporais. Seja a função &amp;lt;math&amp;gt; y(t,x): \mathbb{R}^{2} \mapsto \mathbb{R} &amp;lt;/math&amp;gt;, sejam os intervalos &amp;lt;math&amp;gt; \left [ 0,X \right ], \left [ 0,T \right ]\subset \mathbb{R} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; N,M\in \mathbb{N} &amp;lt;/math&amp;gt;, discretizamos os intervalos em espaçamentos iguais &amp;lt;math&amp;gt; \Delta x = X/N &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; \Delta t = T/M &amp;lt;/math&amp;gt; de tal maneira que obtemos as sequências crescentes monótonas &amp;lt;math&amp;gt;\left \{ x_{i} \right \}_{i=0}^{N} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\left \{ t_{i} \right \}_{j=0}^{M} &amp;lt;/math&amp;gt; . Assim obtemos uma grade de malhas de pontos &amp;lt;math&amp;gt; (t_{i}, x_{i}) &amp;lt;/math&amp;gt; onde a função &amp;lt;math&amp;gt; y(t,x) &amp;lt;/math&amp;gt; tem seus valores aproximados por &amp;lt;math&amp;gt; y(t_{i}, x_{i}) &amp;lt;/math&amp;gt; denotado &amp;lt;math&amp;gt; y_{j}^{n} &amp;lt;/math&amp;gt;. Uma abordagem comum envolve a discretização da primeira derivada no tempo utilizando uma diferença finita progressiva baseada na expansão em séries de Taylor até a primeira ordem :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial y}{\partial t} \approx \frac{y(t+\Delta t, x) - y(t, x)}{\Delta t} = \frac{y_{j}^{n+1} - y_{j}^{n}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Discretizando a derivada temporal segunda utilizando um diferença finita regressiva :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} \approx  \frac{\partial}{\partial t} \left(\frac{y_{j}^{n+1} - y_{j}^{n}}{\Delta t}\right) \approx \frac{1}{\Delta t}\left [\frac{y\left (t+\Delta t, x  \right ) - y\left (\left (t + \Delta t  \right )- \Delta t, x  \right )}{\Delta t} - \frac{y\left (t,x  \right ) - y\left (t - \Delta t, x  \right )}{\Delta t } \right ] = \frac{y\left (t + \Delta t, x  \right ) + y\left (t - \Delta t, x  \right ) - 2y\left (t, x  \right )}{(\Delta t)^{2}} = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que o processo retorna uma derivada de diferenças finitas centrada, além disso obtemos um aproximação de segunda ordem. O mecanismo de discretização das derivadas espaciais é completamente análogo, a derivada segunda centrada :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^{2} y}{\partial x^{2}} \approx \frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aplicando as expressões das diferenciais na equação da onda :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} = c^{2} \frac{\partial^2 y}{\partial x^2} \mapsto \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} = c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
defina &amp;lt;math&amp;gt; a := c\Delta t / \Delta x &amp;lt;/math&amp;gt; e explicite a variável no estado temporal futuro, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_{j}^{n+1} = 2\left(1 - a^{2}\right)y_{j}^{n} - y_{j}^{n-1} + a^{2}\left ( y_{j+1}^{n} + y_{j-1}^{n}\right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
uma equação explicita no tempo &amp;lt;math&amp;gt; n+1 &amp;lt;/math&amp;gt; dependendo somente de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; n-1 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Estabilidade ====&lt;br /&gt;
&lt;br /&gt;
Para analisar a estabilidade da solução numérica para a equação da onda, utilizaremos o método de Von Neumann. O procedimento consiste em utilizar a transformada de Fourier para determinar a estabilidade do esquema, a solução problema tem a forma : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_{j}^{n+1}(\xi) = A(\xi \Delta x, \Delta x, \Delta t) y_{j}^{n}(\xi)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; \xi \in \left [ -\pi / \Delta x, \pi / \Delta x \right ] &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; é o fator de amplificação, observe que podemos estudar a estabilidade da aproximação somente analisando o fator de amplificação. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Teorema&#039;&#039;&#039; : Se o fator de amplificação não depender de &amp;lt;math&amp;gt; \Delta x &amp;lt;/math&amp;gt; nem &amp;lt;math&amp;gt; \Delta t &amp;lt;/math&amp;gt;, então a aproximação é estável se &amp;lt;math&amp;gt; \left | A(\xi \Delta x) \right | \leq 1 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Vejamos a estabilidade da aproximação de diferenças finitas para a equação da onda, utilizando as componentes de Fourier &amp;lt;math &amp;gt;y_{j}^{n} \mapsto B^{n}e^{ikj\Delta x} &amp;lt;/math&amp;gt;, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
B^{n+1}e^{ikj\Delta x} = 2\left ( 1-a^{2} \right )B^{n}e^{ikj\Delta x} - B^{n-1}e^{ikj\Delta x} + a^{2}\left ( B^{n}e^{ik(j+1)\Delta x} + B^{n}e^{ik(j-1)\Delta x} \right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
simplificando os termos em comum :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
B^{n+1} + B^{n-1}  = B^{n} \left [ 2\left ( 1-a^{2} \right ) + a^{2}\left (e^{ik\Delta x} + e^{-ik\Delta x}\right )\right ]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que &amp;lt;math&amp;gt; e^{ik\Delta x} - e^{-ik\Delta x} = 2cos(k\Delta x) &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{B^{n+1} + B^{n-1}}{B^{n}} = 2\left ( 1-a^{2} \right ) + 2a^{2}cos(k\Delta x)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
utilizando a identidade trigonométrica &amp;lt;math&amp;gt; cos(\theta) = cos^{2}(\theta /2) - sen^{2}(\theta /2) &amp;lt;/math&amp;gt; e a identidade trigonométrica fundamental &amp;lt;math&amp;gt; 1 = cos^{2}(\theta) + sen^{2}(\theta) &amp;lt;/math&amp;gt;, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A + \frac{1}{A} = -2\left [ 2a^{2}sen^{2}\left ( \frac{k\Delta x}{2} \right ) -1 \right ]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; A = B^{n+1}/B^{n} &amp;lt;/math&amp;gt; &amp;lt;ref name=&amp;quot;fator_ampl&amp;quot;/&amp;gt; é o fator de amplificação. Defina &amp;lt;math&amp;gt; d :=  2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 &amp;lt;/math&amp;gt;. Portanto obtemos a equação quadrática com soluções :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A^{2} + 2dA + 1 = 0 \Rightarrow A_{1,2} = -d \pm \sqrt{d^{2}-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
se &amp;lt;math&amp;gt; \left | d \right | &amp;gt; 1 &amp;lt;/math&amp;gt;, então : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
-1&amp;gt;d&amp;gt;1 \Rightarrow -1 &amp;gt; 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 &amp;gt; 1  \Rightarrow 0 &amp;gt; 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) &amp;gt; 2 \Rightarrow 0 &amp;gt; \left( asen\left (k\Delta x / 2 \right ) \right)^{2} &amp;gt; 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
o que é um aburdo, pois &amp;lt;math&amp;gt; asen\left (k\Delta x / 2 \right )\in \mathbb{R} &amp;lt;/math&amp;gt;. Se &amp;lt;math&amp;gt; \left | d \right | \leq  1 &amp;lt;/math&amp;gt; , então : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
-1\leq d \leq 1 \Rightarrow -1 \leq 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 \leq 1  \Rightarrow 0 \leq 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) \leq 2 \Rightarrow 0 \leq \left( asen\left (k\Delta x / 2 \right ) \right)^{2} \leq 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que &amp;lt;math&amp;gt; sen\left (k\Delta x / 2 \right ) \leq 1 &amp;lt;/math&amp;gt;, logo &amp;lt;math&amp;gt; a \leq 1 &amp;lt;/math&amp;gt;. Portanto para o método ser condicionalmente estável : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\frac{c \Delta t}{ \Delta x} \leq 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Embora &amp;lt;math&amp;gt; a \leq 1 &amp;lt;/math&amp;gt; garante a estabilidade do processo, &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt; é a melhor escolha possível para a estabilidade do método, pelos seguintes motivos :&lt;br /&gt;
* Quando &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt;, os termos de ordem superior que são descartados na discretização da equação da onda são amplamente cancelados. Essa compensação implica que o método numérico se torna mais estável e menos suscetível a erros numéricos significativos, ou seja, não ocorrerão variações abruptas devido aos termos de ordem maiores;&lt;br /&gt;
* Quando &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt;, a perturbação na corda se propaga exatamente um passo espacial a cada passo de tempo. Esse comportamento assegura que a velocidade da perturbação seja adequadamente representada pelo algoritmo numérico. Isso ocorre devido a relação entre a velocidade física da corda &amp;lt;math&amp;gt; c &amp;lt;/math&amp;gt; e a velocidade da perturbação &amp;lt;math&amp;gt; v = \Delta x / \Delta t &amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\frac{c \Delta t}{ \Delta x} = \frac{c}{v} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observe que além de obtermos o intervalo de estabilidade &amp;lt;math&amp;gt; a\in\left [ 0, 1 \right ] &amp;lt;/math&amp;gt;, também obtemos uma restrição na discretização das malhas temporais e espaciais, limitando assim &amp;lt;math&amp;gt; N,M\in \mathbb{N} &amp;lt;/math&amp;gt; a um subconjunto que satisfaça a condição de estabilidade.&lt;br /&gt;
&lt;br /&gt;
=== Corda Não Ideal ===&lt;br /&gt;
&lt;br /&gt;
==== Método Explícito ====&lt;br /&gt;
Optaremos novamente por realizar a análise utilizando um método explícito. Em geral, o desenvolvimento teórico para a discretização da equação diferencial da onda com amortecimento e rigidez é análogo ao caso ideal, portanto, não serão apresentados com detalhes os cálculos necessários para a implementação do método. A derivada quarta centrada é aproximada utilizando diferenças finitas :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^4 y}{\partial x^4} \approx \frac{y_{j+2}^{n} + y_{j+1}^{n} + y_{j}^{n} + y_{j-1}^{n} + y_{j-2}^{n}}{\left ( \Delta x \right )^{4}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
transformando a EDP não homogênea para um espaço discretizado usando a aproximação de diferenças finitas centrada : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} = c^{2}\left ( \frac{\partial^2 y}{\partial x^2} - \epsilon L^{2}\frac{\partial^4 y}{\partial x^4} \right ) - b\frac{\partial y}{\partial t} \mapsto  y_{j}^{n+1} = \left [ \left (2 - 2a^{2} - 6\epsilon a^{2}E^{2} - F \right )y_{j}^{n} - y_{j}^{n-1} + a^{2}\left ( 1 + 4\epsilon E^{2} \right ) \left ( y_{j+1}^{n} + y_{j-1}^{n} \right ) - \epsilon a^{2}E^{2} \left ( y_{j+2}^{n} + y_{j-2}^{n} \right ) \right ]\left (\frac{1}{1-F} \right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; E := L/ \Delta x &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; F := b/ \Delta t &amp;lt;/math&amp;gt;. Novamente obtemos um equação explicita no tempo &amp;lt;math&amp;gt; n+1 &amp;lt;/math&amp;gt; que depende somente de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; n-1 &amp;lt;/math&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
==== Estabilidade ====&lt;br /&gt;
&lt;br /&gt;
A abordagem que empregamos para demonstrar a estabilidade da equação da onda não homogênea é completamente análoga ao caso homogêneo. Em outras palavras, utilizamos o método de Von Neumann em conjunto com o teorema da estabilidade. Ao aplicar novamente as componentes de Fourier, representadas por &amp;lt;math &amp;gt;y_{j}^{n} \mapsto B^{n}e^{ikj\Delta x} &amp;lt;/math&amp;gt;, obtemos uma equação quadrática que impõe a seguinte restrição:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
a = \frac{c \Delta t}{ \Delta x} \leq \frac{1}{4}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
logo, o método é condicionalmente estável no intervalo &amp;lt;math&amp;gt; a\in\left [ 0, 1/4 \right ] &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Convergência ===&lt;br /&gt;
&lt;br /&gt;
Até este ponto, ainda não discutimos o quão bem o esquema de diferenças finitas descreve a solução da equação diferencial. Vamos abordar isso agora. A propriedade mais essencial que um esquema deve possuir é que, à medida que os espaçamentos na malha discreta diminuem, a aproximação para a solução deve se aproximar da solução real do sistema. Portanto, um esquema é considerado uma boa aproximação se &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left ( \Delta t, \Delta x \right ) \rightarrow 0 \Rightarrow \left | y \left ( t_{n}, x_{j}\right )  - y_{j}^{n}  \right |\rightarrow 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; y \left ( t_{n}, x_{j}\right ) &amp;lt;/math&amp;gt; é a solução exata e &amp;lt;math&amp;gt; y_{j}^{n} &amp;lt;/math&amp;gt; a solução aproximada. Se tais condições são satisfeitas, dizemos que o esquema de equações diferenciais finitas é convergente. Entretanto, geralmente, provar a convergência não é uma tarefa trivial. No entanto, podemos demonstrá-la de maneira indireta, utilizando estabilidade e consistência. Se um esquema é estável e consistente, então a convergência do esquema é garantida. Dada uma equação diferencial &amp;lt;math&amp;gt; Dy = f &amp;lt;/math&amp;gt;, dizemos que o esquema de diferenças finitas &amp;lt;math&amp;gt; D_{\Delta t \Delta x}y = f &amp;lt;/math&amp;gt; é consistente com a equação diferencial se, para qualquer função suficientemente diferenciável &amp;lt;math&amp;gt; \phi(t, x) &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left ( \Delta t, \Delta x \right ) \rightarrow 0 \Rightarrow  D \phi  - D_{\Delta t \Delta x} \phi  \rightarrow 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostremos a consistência da aproximação de diferenças finitas para a equação da onda homogênea. Seja a EDP da onda &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
Dy\left ( t, x \right ) = \frac{\partial^2 y}{\partial t^2} - c^{2}\frac{\partial^2 y}{\partial x^2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e seja a equação de diferenças finitas &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
D_{\left (\Delta t \Delta x  \right )}y\left ( t, x \right ) = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} - c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pela aproximação que demonstramos anteriormente, temos : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
&amp;amp;\frac{\partial^2 y}{\partial t^2} - c^{2}\frac{\partial^2 y}{\partial x^2} = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} + O\left ( \Delta t^{2} \right )- c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}} + O\left ( \Delta x^{2} \right ) \\&lt;br /&gt;
&amp;amp;\frac{\partial^2 y}{\partial t^2} - c^{2}\frac{\partial^2 y}{\partial x^2} - \left (\frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} - c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}  \right ) = O\left ( \Delta t^{2} \right ) + O\left ( \Delta x^{2} \right ) \\&lt;br /&gt;
&amp;amp;Dy\left ( t, x \right ) - D_{\left (\Delta t \Delta x  \right )}y\left ( t, x \right ) = O\left ( \Delta t^{2} \right ) + O\left ( \Delta x^{2} \right )&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
como estamos supondo que os termos de ordem 2 são desprezíveis, &amp;lt;math&amp;gt; O\left ( \Delta t^{2} \right ) \rightarrow 0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; O\left ( \Delta x^{2} \right ) \rightarrow 0 &amp;lt;/math&amp;gt;. Logo : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
Dy\left ( t, x \right ) - D_{\left (\Delta t \Delta x  \right )}y\left ( t, x \right ) \rightarrow 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
portanto o esquema de diferenças finitas é consistente. Como na seção anterior já havíamos provado a estabilidade condicional do método, podemos concluir que o esquema é condicionalmente convergente (é consistente e condicionalmente estável) e portanto representa uma boa aproximação para a solução exata da equação diferencial.&lt;br /&gt;
&lt;br /&gt;
== Análise espectral ==&lt;br /&gt;
Uma possível forma para quantitativamente analisar o som gerado por uma corda vibrante é estudar as frequências que compõem o seu movimento, técnica essa chamada de análise espectral. Antes de prosseguirmos vamos recapitular alguns resultados da álgebra linear&lt;br /&gt;
&lt;br /&gt;
=== Supremacia da álgebra linear ===&lt;br /&gt;
O seguinte conjunto &amp;lt;math&amp;gt; \mathbb{R}^{\mathbb{R}} = \{ f~|~f: \mathbb{R} \to \mathbb{R} \} &amp;lt;/math&amp;gt; é o espaço de funções reais de uma variável. Esse conjunto é um espaço vetorial, logo podemos utilizar toda a artilharia da álgebra linear, em especial, estamos interessados no sub-espaço gerado pela base &amp;lt;math&amp;gt; B = \{sen(\omega t) / \sqrt{\pi}, cos(\omega t) / \sqrt{\pi} \}_{\omega \in \mathbb{R^+}} &amp;lt;/math&amp;gt; &amp;lt;ref name=&amp;quot;norm_const&amp;quot;/&amp;gt;, pois elementos de &amp;lt;math&amp;gt; B &amp;lt;/math&amp;gt;, interpretados como sinais sonoros, representam um frequência pura de valor &amp;lt;math&amp;gt;f=\omega/(2\pi)&amp;lt;/math&amp;gt;. Dessa forma, um sinal arbitrário &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; pode ser escrito em termos das frequências puras que o formam&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 s(t) = \frac{1}{\sqrt{\pi}}\int_{0}^{\infty}[a(\omega)cos(\omega t) + b(\omega)sen(\omega t]d\omega&lt;br /&gt;
&amp;lt;/math&amp;gt;  &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E podemos extrair suas coordenadas (conhecidas como transformada de Fourier do sinal) (&amp;lt;math&amp;gt;a(\omega)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;b(\omega)&amp;lt;/math&amp;gt;), fazendo o produto escalar com os elementos da base&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
a(\omega) &amp;amp;= \int_{-\infty}^{\infty}s(t)\frac{1}{\sqrt{\pi}}cos(\omega t)dt \\&lt;br /&gt;
b(\omega) &amp;amp;= \int_{-\infty}^{\infty}s(t)\frac{1}{\sqrt{\pi}}sen(\omega t)dt&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Se o domínio de &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; é limitado, digamos &amp;lt;math&amp;gt;t \in [0, T]&amp;lt;/math&amp;gt;, então uma base infinita com cardinalidade enumerável (em contraste com a base anterior, que possui cardinalidade não enumerável) é suficiente para representar &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt;, uma possível base ortonormal é a seguinte: &amp;lt;math&amp;gt;\bigg\{ \sqrt{\frac{1}{T}}, \sqrt{\frac{2}{T}}sen(\omega_n t), \sqrt{\frac{2}{T}}cos(\omega_n t) \bigg\}_{n \in \mathbb{N^*}}&amp;lt;/math&amp;gt;, em que &amp;lt;math&amp;gt; \omega_n = \frac{n\pi}{T} &amp;lt;/math&amp;gt;. Dessa forma, a representação e coordenadas de &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; ficam&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
s(t) &amp;amp;= a_0\sqrt{\frac{1}{T}} + \sqrt{\frac{2}{T}}\sum_{n=1}^{\infty}\bigg[a_n cos(\omega_n t) + b_n sen(\omega_n) \bigg] \\&lt;br /&gt;
a_0 &amp;amp;= \int_0^T s(t) \sqrt{\frac{1}{T}}dt \\&lt;br /&gt;
a_n &amp;amp;= \int_0^T s(t) \sqrt{\frac{2}{T}}cos(\omega_n t)dt \\&lt;br /&gt;
b_n &amp;amp;= \int_0^T s(t) \sqrt{\frac{2}{T}}sen(\omega_n t)dt \\&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É impossível falar sobre bases enumeráveis de um sub-espaço de &amp;lt;math&amp;gt; \mathbb{R}^{\mathbb{R}} &amp;lt;/math&amp;gt; sem representar esse canhão matemático com uma animação. Abaixo segue uma visualização que calcula as primeiras &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; coordenadas (&amp;lt;math&amp;gt;a_0,\dots,a_N&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;b_1,\dots,b_N&amp;lt;/math&amp;gt;) de um sinal qualquer e sobrepõem a série obtida, incrementando &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; até as duas curvas serem indistinguíveis a olho nu. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie_fourier_ana_julia.gif|frame|center|Animação de uma série de fourier. É interessante notar que a série converge muito bem com apenas uma dúzia de frequências.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Potência espectral ===&lt;br /&gt;
Adiante vamos ver que o sinal sonoro provém da vibração de um ponto específico da mesma, digamos em &amp;lt;math&amp;gt;x=x_o&amp;lt;/math&amp;gt;, então a função que representa esse sinal é &amp;lt;math&amp;gt;y(x_o, t)&amp;lt;/math&amp;gt;. Como estamos interessados nas frequências que compõem o sinal, será calculado a transformada de fourier de &amp;lt;math&amp;gt;y(x_o, t)&amp;lt;/math&amp;gt; e definido que a potência da frequência &amp;lt;math&amp;gt;f = \omega/(2\pi)&amp;lt;/math&amp;gt; é &amp;lt;math&amp;gt;a_\omega^2 + b_\omega^2&amp;lt;/math&amp;gt;. A potência em função da frequência é o resultado da análise espectral.&lt;br /&gt;
&lt;br /&gt;
== Simulando uma corda de violão ==&lt;br /&gt;
Uma corda de violão geralmente é excitada por uma pancada dada por uma palheta ou pelo próprio dedo/unha do violonista. Essa pancada define uma condição inicial para a equação de onda. Uma suposição razoável da condição gerada é a seguinte&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\begin{aligned}&lt;br /&gt;
y(x, t=0) &amp;amp;= \begin{cases}  &lt;br /&gt;
\frac{h}{x_0}x &amp;amp;, ~ 0 \leq x \leq x_0\\&lt;br /&gt;
\frac{h}{L-x_0}(-x + L) &amp;amp;, ~ x_0 \leq x \leq L\\&lt;br /&gt;
\end{cases} \\&lt;br /&gt;
\frac{\partial}{\partial t} y(x, t=0) &amp;amp;= 0&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
supondo que a corda possui comprimento &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; e a pancado ocorreu em &amp;lt;math&amp;gt;x_o&amp;lt;/math&amp;gt;, causando uma deslocamento máximo &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt;. A imagem a seguir ilustra o estado da corda logo após a excitação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Init_cond_ana_julia.png|thumb|upright=2|center|Condição inicial de uma corda de violão.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dado essa condição inicial, podemos evoluir temporalmente o estado da corda utilizando a equação da onda, mantendo as bordas fixas (&amp;lt;math&amp;gt;y(x=0, t) = y(x=L, t) = 0&amp;lt;/math&amp;gt;), mas como extrair som dessa simulação? Para responder essa pergunta precisamos saber como um violão gera som. Ao contrário do que inicialmente pareça, as ondas sonoras não são diretamente geradas pela vibração das cordas, mas sim da caixa do violão, que está diretamente conectada com as cordas em uma peça chamada ponte. A vibração das cordas gera uma força dependente do tempo que atua na caixa através da ponte, assim vibrando a caixa e gerando o som que escutamos. Portanto, para gerar som de forma realista, precisaríamos fisicamente simular a caixa, levando em consideração a sua geometria e as propriedades física do seu material, e então determinar as ondas de pressão que seriam geradas por essa vibração, o que está fora do escopo do presente trabalho. Felizmente, as seguintes simplificações vão nos permitir calcular as ondas de pressão:&lt;br /&gt;
&lt;br /&gt;
* A força que a ponte exerce na caixa é aproximadamente proporcional a sua velocidade (Dinâmica aristotélica).&lt;br /&gt;
* A onda de pressão produzida pela caixa é aproximadamente proporcional a sua velocidade.&lt;br /&gt;
&lt;br /&gt;
A força que a ponte exerce na caixa (&amp;lt;math&amp;gt;F(t)&amp;lt;/math&amp;gt;) é a força que a corda exerce na ponte (pois a ponte está firmemente conectada na caixa), e essa força é proporcional a inclinação da corda, ou seja&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F(t) = T \frac{\partial}{\partial x}y(x=0, t) \approx T\frac{y(\Delta x, t) - \overbrace{y(0, t)}^{0}}{\Delta x} = \frac{T}{\Delta x} y(\Delta x, t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a tensão na corda. Portando, o sinal da onda de pressão pode ser aproximado como o deslocamento de um ponto da corda próximo a ponte. Para gerar som com esse sinal, o tipo de arquivo [https://en.wikipedia.org/wiki/WAV#:~:text=Waveform%20Audio%20File%20Format%20(WAVE,1991%20by%20IBM%20and%20Microsoft. WAV]] é utilizado, pois o seu dado de entrada pode ser justante o sinal da onda de pressão.&lt;br /&gt;
&lt;br /&gt;
Agora tudo está pronto para fazermos uma simulação, vamos tentar reproduzir a nota lá (&amp;lt;math&amp;gt;f = 440~Hz&amp;lt;/math&amp;gt;). Primeiro precisamos descobrir qual deve ser a velocidade de propagação das ondas (&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;) para gerar a nota em questão. Resolvendo a equação da onda ideal, obtemos que as possíveis frequência que existem na solução são &amp;lt;math&amp;gt;f_n = \frac{nc}{2L} &amp;lt;/math&amp;gt;, então não é possível fazer a corda vibrar apenas com uma frequência, mas quando músicos se referem a uma nota, eles realmente estão se referindo a &amp;lt;math&amp;gt;f_1&amp;lt;/math&amp;gt;, a primeira frequência que compõem o sinal, portanto&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; f_1 = \frac{c}{2L} = 440~Hz \Rightarrow c = L \cdot 880~Hz&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assumindo &amp;lt;math&amp;gt;L=1~m&amp;lt;/math&amp;gt;, temos que &amp;lt;math&amp;gt;c = 880~m/s&amp;lt;/math&amp;gt;. Resolvendo a equação da onda realista pelo método FTCS com os seguinte parâmetros&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Parâmetros da condição inicial&lt;br /&gt;
|-&lt;br /&gt;
! Parâmetros !! Valor&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;x_o&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;0,5~L&amp;lt;/math&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| h || 1 cm &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Parâmetros da integração&lt;br /&gt;
|-&lt;br /&gt;
! Parâmetros !! Valor&lt;br /&gt;
|-&lt;br /&gt;
| k || 1/4 &lt;br /&gt;
|-&lt;br /&gt;
| c || 880 m/s &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt; || 0,01 m&lt;br /&gt;
|-&lt;br /&gt;
| L || 1 m &lt;br /&gt;
|-&lt;br /&gt;
| b || 5 &amp;lt;math&amp;gt;s^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
obtemos o seguinte resultado&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Corda_vibrando_ana_julia.gif|frame|center|Solução da equação de onda ideal e realista.]]&lt;br /&gt;
&lt;br /&gt;
Na animação acima, por questão de comparação, também foi coloca a solução de uma simulação com os mesmos parâmetros, apenas com a modificação &amp;lt;math&amp;gt;b=\epsilon=0&amp;lt;/math&amp;gt;, que seria o caso ideal (sem amortecimento e rigidez).&lt;br /&gt;
 &lt;br /&gt;
Realizando a análise espectral do deslocamento de um ponto próximo de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, obtemos o seguinte gráfico&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_ana_julia.png |thumb|upright=2|center|Espectro do deslocamento de um ponto próximo de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;. Linhas pretas tracejadas representam os harmônicos.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As linhas verticais pretas e tracejadas representam as possíveis frequências da solução do caso ideal (também chamadas de harmônicos), ou seja, a primeira linha está em &amp;lt;math&amp;gt;f = 440 Hz &amp;lt;/math&amp;gt; como era de se esperar, mas é notável que a segunda e quarta linhas possuem uma potência praticamente nula, isso ocorre porque a excitação inicial foi exatamente no meio, e as frequência correspondentes a essas linhas provém de ondas estacionário que possum um nodo em &amp;lt;math&amp;gt;x=L/2&amp;lt;/math&amp;gt;, logo elas não foram excitadas pela condição inicial. Mudando o ponto de excitação inicial, podemos ver essas frequências aparecendo. Rodando a simulação novamente, mas com &amp;lt;math&amp;gt;x_o = 0,2~L&amp;lt;/math&amp;gt;, obtemos o seguinte espectro&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_bridge_ana_julia.png |thumb|upright=2|center|Espectro para excitação inicial em &amp;lt;math&amp;gt;x_0 = 0,2~L&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para observar a influência da rigidez, a simulação foi rodada com &amp;lt;math&amp;gt;\epsilon=10^{-8}&amp;lt;/math&amp;gt; (10 vezes maior do que o valor anterior) resultando no seguinte espectro&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_high_stiff_ana_julia.png |thumb|upright=2|center|Espectro para &amp;lt;math&amp;gt;\epsilon=10^{-8}&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O efeito mais notável é o deslocamento para esquerda das frequência em relação as frequências que compõem o sinal no caso ideal.&lt;br /&gt;
&lt;br /&gt;
Por fim, conforme descrito anteriormente, podemos gerar som com as dados da simulação, mas infelizmente essa wiki não nos permite upar arquivos de áudio. No entanto, áudio das simulações discutidas aqui podem ser encontrados no repositório do projeto [https://github.com/marcos1561/ana-julia ana-julia] dentro da pasta &amp;quot;sound&amp;quot;. Em especial, o efeito de deslocamento de frequências causado pela rigidez é bastante evidente escutando os áudios.&lt;br /&gt;
&lt;br /&gt;
=== Bônus ===&lt;br /&gt;
Apenas por diversão, segue uma animação de um pacote gaussiano como condição inicial&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Gaussian_package_ana_julia.gif|frame|center|Animação da solução da equação da onda com um pacote gaussiano como condição inicial.]]&lt;br /&gt;
&lt;br /&gt;
== Notas ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;fator_ampl&amp;quot;&amp;gt; Perceba que não estamos operando expoentes, mas sim usando a relação entre os índices &amp;lt;math&amp;gt; B^{n-1}/B^{n} = B^{m}/B^{m+1} = A^{-1} &amp;lt;/math&amp;gt;.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;norm_const&amp;quot;&amp;gt;A constante &amp;lt;math&amp;gt; 1/\sqrt{\pi} &amp;lt;/math&amp;gt; está presente por questão de normalização. Esse caso pode parecer um pouco estranho, dado que não é possível normalizar os cossenos e senos, pois sua integral em todo a reta não é definida, mas o que se deseja é a seguinte propriedade &lt;br /&gt;
&amp;lt;math&amp;gt;\int_{\mathbb{R}}A_{\omega}cos(\omega t) \cdot A_{\omega&#039;}cos(\omega&#039; t)dt = \delta(\omega-\omega&#039;) &amp;lt;/math&amp;gt;&lt;br /&gt;
que é safisfeita quando &amp;lt;math&amp;gt; A_{\omega} = A_{\omega&#039;} =  1/\sqrt{\pi}, ~ \forall \omega,\omega&#039;&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Corda_Vibrante&amp;diff=10184</id>
		<title>Corda Vibrante</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Corda_Vibrante&amp;diff=10184"/>
		<updated>2024-04-23T03:06:45Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: /* Simulando uma corda de violão */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== A equação da onda ==&lt;br /&gt;
No estudo das oscilações, é comum entre os físicos o emprego de modelos simples como representações &amp;quot;prototípicas&amp;quot; de certos padrões básicos observados na natureza. A eficácia desses modelos simples decorre de duas características fundamentais: a capacidade de serem compreendidos em detalhes minuciosos e a habilidade de reproduzir comportamentos semelhantes aos de situações reais e mais complexas, auxiliando na compreensão destas, pelo menos em termos qualitativos.&lt;br /&gt;
&lt;br /&gt;
Quando se trata de comportamentos oscilatórios, o modelo mais comumente utilizado é o do sistema massa-mola. Por outro lado, para descrever comportamentos ondulatórios unidimensionais, o modelo simples mais difundido é o da corda vibrante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consideremos uma corda esticada, como a corda de um violão, por exemplo. Suponhamos que esta corda tenha um comprimento &amp;lt;math&amp;gt; L &amp;lt;/math&amp;gt; e que suas extremidades estejam fixas nos pontos &amp;lt;math&amp;gt; x = 0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; x = L &amp;lt;/math&amp;gt;. Além disso, vamos supor que a corda tenha uma densidade linear uniforme representada por &amp;lt;math&amp;gt; \mu = \frac{dm}{dx} &amp;lt;/math&amp;gt;, e que esteja sob uma tensão constante &amp;lt;math&amp;gt; T &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Assumindo que a corda realize vibrações transversais apenas na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt; (embora possa ter vibrações transversais na direção &amp;lt;math&amp;gt; z &amp;lt;/math&amp;gt;, as quais vamos ignorar aqui), podemos representar a configuração da corda em qualquer instante de tempo no plano &amp;lt;math&amp;gt; xy &amp;lt;/math&amp;gt; por uma função &amp;lt;math&amp;gt; y(x,t) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vamos considerar mais algumas suposições:&lt;br /&gt;
&lt;br /&gt;
I) A tensão &amp;lt;math&amp;gt; T &amp;lt;/math&amp;gt; que estica a corda é tão alta que podemos negligenciar a força gravitacional sobre ela;&lt;br /&gt;
&lt;br /&gt;
II) A corda é perfeitamente elástica, ou seja, não oferece resistência a dobras;&lt;br /&gt;
&lt;br /&gt;
III) Os deslocamentos da corda, que ocorrem apenas na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt;, são de pequena amplitude.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com essas suposições em mente, estamos prontos para abordar o problema da corda vibrante. Em qualquer instante de tempo, um segmento arbitrário da corda estará na posição geral indicada pela figura abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:posicao_generica.png|400px|thumb|center|Posição genérica de um pedaço qualquer da corda]]&lt;br /&gt;
&lt;br /&gt;
A massa do pequeno segmento de corda de comprimento &amp;lt;math&amp;gt; \Delta{x} &amp;lt;/math&amp;gt; é&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\Delta{m} = \mu \Delta{x}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As componentes horizontal e vertical da força resultante atuando sobre esse segmento são:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_x = T \cos{(\theta + \Delta{\theta})} - T \cos{(\theta)}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
e&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_y = T \sin{(\theta + \Delta{\theta})} - T \sin{(\theta)}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Estamos assumindo que a corda não se move na direção &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; (apenas na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt;). Isso implica que a força resultante na direção &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; é nula (&amp;lt;math&amp;gt; F_x = 0 &amp;lt;/math&amp;gt;). Substituindo essa condição na equação, obtemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\cos{(\theta + \Delta{\theta})} = \cos{(\theta)}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E a força resultante na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; F_y &amp;lt;/math&amp;gt;, é dada de acordo com a segunda lei de Newton:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_y = (\mu \Delta{x})a_y = (\mu \Delta{x}) \frac{\partial^2{y}}{\partial{t^2}},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
então:&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
T \sin{(\theta + \Delta{\theta})} - T \sin{(\theta)} = (\mu \Delta{x}) \frac{\partial^2{y}}{\partial{t^2}},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
ou&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\sin{(\theta + \Delta{\theta})} - \sin{(\theta)} = \Delta{x} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos prosseguir dividindo os dois lados da equação acima pelo termo &amp;lt;math&amp;gt; \cos{(\theta)} &amp;lt;/math&amp;gt;, sabendo que &amp;lt;math&amp;gt; \cos{(\theta)} = \cos{(\theta + \Delta{\theta})} &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\sin{(\theta + \Delta{\theta})}}{\cos{(\theta + \Delta{\theta})}} - \frac{\sin{(\theta)}}{\cos{(\theta)}} = \frac{\Delta{x}}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}} \to \tan{(\theta + \Delta{\theta})} - \tan{(\theta)} = \frac{\Delta{x}}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando que o coeficiente angular da reta tangente a uma função em um dado ponto do seu domínio é igual à derivada da função nesse ponto, temos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial{y}}{\partial{x}} (x + \Delta{x}, t) - \frac{\partial{y}}{\partial{x}} (x, t) = \frac{\Delta{x}}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dividindo ambos os lados por &amp;lt;math&amp;gt; \Delta{x} &amp;lt;/math&amp;gt;, teremos do lado esquerdo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\frac{\partial{y}}{\partial{x}} (x + \Delta{x}, t) - \frac{\partial{y}}{\partial{x}} (x, t)}{\Delta{x}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e no limite que &amp;lt;math&amp;gt; \Delta{x} \to 0 &amp;lt;/math&amp;gt;, a expressão se torna uma derivada parcial segunda &amp;lt;math&amp;gt; \frac{\partial^2{y}}{\partial{x^2}} &amp;lt;/math&amp;gt;, nos permitindo reescrever a equação como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2{y}}{\partial{x^2}} (x, t) = \frac{1}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}} (x, t).&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E, como última manipulação, vamos supor agora que os deslocamentos da corda são pequenos, o que implica que os ângulos associados a esses deslocamentos também são pequenos: &amp;lt;math&amp;gt; \theta &amp;lt;&amp;lt; 1 &amp;lt;/math&amp;gt;. Com essa condição, &amp;lt;math&amp;gt; \cos{(\theta)} \approx 1 &amp;lt;/math&amp;gt; e chegamos em:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2{y}}{\partial{x^2}} (x, t) = \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}} (x, t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde o termo &amp;lt;math&amp;gt; \frac{\mu}{T} &amp;lt;/math&amp;gt; tem dimensão de &amp;lt;math&amp;gt; \frac{1}{c^2} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; c &amp;lt;/math&amp;gt; é a velocidade de propagação de ondas na corda esticada:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2{y}}{\partial{x^2}} (x, t) = \frac{1}{c^2} \frac{\partial^2{y}}{\partial{t^2}} (x, t) \Leftrightarrow \frac{\partial^2{y}}{\partial{t^2}} (x, t) = &lt;br /&gt;
c^2 \frac{\partial^2{y}}{\partial{x^2}} (x, t).&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Chegando a conlusão de que essa é a expressão para a corda vibrante e que a velocidade de propagação aumenta com a tensão na corda e diminui com a sua inércia (massa por unidade de comprimento).&lt;br /&gt;
&lt;br /&gt;
== Método FTCS ==&lt;br /&gt;
&lt;br /&gt;
O método FTCS (Forward Time Central Space) é uma abordagem progressiva no tempo e centrada no espaço. Em outras palavras, ao lidarmos com uma função de duas variáveis, buscamos uma solução futura em termos do tempo, centrada em uma vizinhança espacial. Para a resolução numérica da equação diferencial unidimensional da onda, optamos por trabalhar exclusivamente com o método explícito.&lt;br /&gt;
&lt;br /&gt;
=== Corda Ideal ===&lt;br /&gt;
&lt;br /&gt;
==== Método Explícito ====&lt;br /&gt;
&lt;br /&gt;
Para aplicar o método, é necessário inicialmente discretizar tanto as variáveis espaciais quanto as variáveis temporais. Seja a função &amp;lt;math&amp;gt; y(t,x): \mathbb{R}^{2} \mapsto \mathbb{R} &amp;lt;/math&amp;gt;, sejam os intervalos &amp;lt;math&amp;gt; \left [ 0,X \right ], \left [ 0,T \right ]\subset \mathbb{R} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; N,M\in \mathbb{N} &amp;lt;/math&amp;gt;, discretizamos os intervalos em espaçamentos iguais &amp;lt;math&amp;gt; \Delta x = X/N &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; \Delta t = T/M &amp;lt;/math&amp;gt; de tal maneira que obtemos as sequências crescentes monótonas &amp;lt;math&amp;gt;\left \{ x_{i} \right \}_{i=0}^{N} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\left \{ t_{i} \right \}_{j=0}^{M} &amp;lt;/math&amp;gt; . Assim obtemos uma grade de malhas de pontos &amp;lt;math&amp;gt; (t_{i}, x_{i}) &amp;lt;/math&amp;gt; onde a função &amp;lt;math&amp;gt; y(t,x) &amp;lt;/math&amp;gt; tem seus valores aproximados por &amp;lt;math&amp;gt; y(t_{i}, x_{i}) &amp;lt;/math&amp;gt; denotado &amp;lt;math&amp;gt; y_{j}^{n} &amp;lt;/math&amp;gt;. Uma abordagem comum envolve a discretização da primeira derivada no tempo utilizando uma diferença finita progressiva baseada na expansão em séries de Taylor até a primeira ordem :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial y}{\partial t} \approx \frac{y(t+\Delta t, x) - y(t, x)}{\Delta t} = \frac{y_{j}^{n+1} - y_{j}^{n}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Discretizando a derivada temporal segunda utilizando um diferença finita regressiva :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} \approx  \frac{\partial}{\partial t} \left(\frac{y_{j}^{n+1} - y_{j}^{n}}{\Delta t}\right) \approx \frac{1}{\Delta t}\left [\frac{y\left (t+\Delta t, x  \right ) - y\left (\left (t + \Delta t  \right )- \Delta t, x  \right )}{\Delta t} - \frac{y\left (t,x  \right ) - y\left (t - \Delta t, x  \right )}{\Delta t } \right ] = \frac{y\left (t + \Delta t, x  \right ) + y\left (t - \Delta t, x  \right ) - 2y\left (t, x  \right )}{(\Delta t)^{2}} = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que o processo retorna uma derivada de diferenças finitas centrada, além disso obtemos um aproximação de segunda ordem. O mecanismo de discretização das derivadas espaciais é completamente análogo, a derivada segunda centrada :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^{2} y}{\partial x^{2}} \approx \frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aplicando as expressões das diferenciais na equação da onda :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} = c^{2} \frac{\partial^2 y}{\partial x^2} \mapsto \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} = c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
defina &amp;lt;math&amp;gt; a := c\Delta t / \Delta x &amp;lt;/math&amp;gt; e explicite a variável no estado temporal futuro, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_{j}^{n+1} = 2\left(1 - a^{2}\right)y_{j}^{n} - y_{j}^{n-1} + a^{2}\left ( y_{j+1}^{n} + y_{j-1}^{n}\right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
uma equação explicita no tempo &amp;lt;math&amp;gt; n+1 &amp;lt;/math&amp;gt; dependendo somente de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; n-1 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Estabilidade ====&lt;br /&gt;
&lt;br /&gt;
Para analisar a estabilidade da solução numérica para a equação da onda, utilizaremos o método de Von Neumann. O procedimento consiste em utilizar a transformada de Fourier para determinar a estabilidade do esquema, a solução problema tem a forma : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_{j}^{n+1}(\xi) = A(\xi \Delta x, \Delta x, \Delta t) y_{j}^{n}(\xi)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; \xi \in \left [ -\pi / \Delta x, \pi / \Delta x \right ] &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; é o fator de amplificação, observe que podemos estudar a estabilidade da aproximação somente analisando o fator de amplificação. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Teorema&#039;&#039;&#039; : Se o fator de amplificação não depender de &amp;lt;math&amp;gt; \Delta x &amp;lt;/math&amp;gt; nem &amp;lt;math&amp;gt; \Delta t &amp;lt;/math&amp;gt;, então a aproximação é estável se &amp;lt;math&amp;gt; \left | A(\xi \Delta x) \right | \leq 1 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Vejamos a estabilidade da aproximação de diferenças finitas para a equação da onda, utilizando as componentes de Fourier &amp;lt;math &amp;gt;y_{j}^{n} \mapsto B^{n}e^{ikj\Delta x} &amp;lt;/math&amp;gt;, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
B^{n+1}e^{ikj\Delta x} = 2\left ( 1-a^{2} \right )B^{n}e^{ikj\Delta x} - B^{n-1}e^{ikj\Delta x} + a^{2}\left ( B^{n}e^{ik(j+1)\Delta x} + B^{n}e^{ik(j-1)\Delta x} \right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
simplificando os termos em comum :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
B^{n+1} + B^{n-1}  = B^{n} \left [ 2\left ( 1-a^{2} \right ) + a^{2}\left (e^{ik\Delta x} + e^{-ik\Delta x}\right )\right ]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que &amp;lt;math&amp;gt; e^{ik\Delta x} - e^{-ik\Delta x} = 2cos(k\Delta x) &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{B^{n+1} + B^{n-1}}{B^{n}} = 2\left ( 1-a^{2} \right ) + 2a^{2}cos(k\Delta x)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
utilizando a identidade trigonométrica &amp;lt;math&amp;gt; cos(\theta) = cos^{2}(\theta /2) - sen^{2}(\theta /2) &amp;lt;/math&amp;gt; e a identidade trigonométrica fundamental &amp;lt;math&amp;gt; 1 = cos^{2}(\theta) + sen^{2}(\theta) &amp;lt;/math&amp;gt;, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A + \frac{1}{A} = -2\left [ 2a^{2}sen^{2}\left ( \frac{k\Delta x}{2} \right ) -1 \right ]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; A = B^{n+1}/B^{n} &amp;lt;/math&amp;gt; &amp;lt;ref name=&amp;quot;fator_ampl&amp;quot;/&amp;gt; é o fator de amplificação. Defina &amp;lt;math&amp;gt; d :=  2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 &amp;lt;/math&amp;gt;. Portanto obtemos a equação quadrática com soluções :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A^{2} + 2dA + 1 = 0 \Rightarrow A_{1,2} = -d \pm \sqrt{d^{2}-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
se &amp;lt;math&amp;gt; \left | d \right | &amp;gt; 1 &amp;lt;/math&amp;gt;, então : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
-1&amp;gt;d&amp;gt;1 \Rightarrow -1 &amp;gt; 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 &amp;gt; 1  \Rightarrow 0 &amp;gt; 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) &amp;gt; 2 \Rightarrow 0 &amp;gt; \left( asen\left (k\Delta x / 2 \right ) \right)^{2} &amp;gt; 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
o que é um aburdo, pois &amp;lt;math&amp;gt; asen\left (k\Delta x / 2 \right )\in \mathbb{R} &amp;lt;/math&amp;gt;. Se &amp;lt;math&amp;gt; \left | d \right | \leq  1 &amp;lt;/math&amp;gt; , então : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
-1\leq d \leq 1 \Rightarrow -1 \leq 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 \leq 1  \Rightarrow 0 \leq 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) \leq 2 \Rightarrow 0 \leq \left( asen\left (k\Delta x / 2 \right ) \right)^{2} \leq 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que &amp;lt;math&amp;gt; sen\left (k\Delta x / 2 \right ) \leq 1 &amp;lt;/math&amp;gt;, logo &amp;lt;math&amp;gt; a \leq 1 &amp;lt;/math&amp;gt;. Portanto para o método ser condicionalmente estável : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\frac{c \Delta t}{ \Delta x} \leq 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Embora &amp;lt;math&amp;gt; a \leq 1 &amp;lt;/math&amp;gt; garante a estabilidade do processo, &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt; é a melhor escolha possível para a estabilidade do método, pelos seguintes motivos :&lt;br /&gt;
* Quando &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt;, os termos de ordem superior que são descartados na discretização da equação da onda são amplamente cancelados. Essa compensação implica que o método numérico se torna mais estável e menos suscetível a erros numéricos significativos, ou seja, não ocorrerão variações abruptas devido aos termos de ordem maiores;&lt;br /&gt;
* Quando &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt;, a perturbação na corda se propaga exatamente um passo espacial a cada passo de tempo. Esse comportamento assegura que a velocidade da perturbação seja adequadamente representada pelo algoritmo numérico. Isso ocorre devido a relação entre a velocidade física da corda &amp;lt;math&amp;gt; c &amp;lt;/math&amp;gt; e a velocidade da perturbação &amp;lt;math&amp;gt; v = \Delta x / \Delta t &amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\frac{c \Delta t}{ \Delta x} = \frac{c}{v} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observe que além de obtermos o intervalo de estabilidade &amp;lt;math&amp;gt; a\in\left [ 0, 1 \right ] &amp;lt;/math&amp;gt;, também obtemos uma restrição na discretização das malhas temporais e espaciais, limitando assim &amp;lt;math&amp;gt; N,M\in \mathbb{N} &amp;lt;/math&amp;gt; a um subconjunto que satisfaça a condição de estabilidade.&lt;br /&gt;
&lt;br /&gt;
=== Corda Não Ideal ===&lt;br /&gt;
&lt;br /&gt;
==== Método Explícito ====&lt;br /&gt;
Optaremos novamente por realizar a análise utilizando um método explícito. Em geral, o desenvolvimento teórico para a discretização da equação diferencial da onda com amortecimento e rigidez é análogo ao caso ideal, portanto, não serão apresentados com detalhes os cálculos necessários para a implementação do método. A derivada quarta centrada é aproximada utilizando diferenças finitas :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^4 y}{\partial x^4} \approx \frac{y_{j+2}^{n} + y_{j+1}^{n} + y_{j}^{n} + y_{j-1}^{n} + y_{j-2}^{n}}{\left ( \Delta x \right )^{4}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
transformando a EDP não homogênea para um espaço discretizado usando a aproximação de diferenças finitas centrada : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} = c^{2}\left ( \frac{\partial^2 y}{\partial x^2} - \epsilon L^{2}\frac{\partial^4 y}{\partial x^4} \right ) - b\frac{\partial y}{\partial t} \mapsto  y_{j}^{n+1} = \left [ \left (2 - 2a^{2} - 6\epsilon a^{2}E^{2} - F \right )y_{j}^{n} - y_{j}^{n-1} + a^{2}\left ( 1 + 4\epsilon E^{2} \right ) \left ( y_{j+1}^{n} + y_{j-1}^{n} \right ) - \epsilon a^{2}E^{2} \left ( y_{j+2}^{n} + y_{j-2}^{n} \right ) \right ]\left (\frac{1}{1-F} \right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; E := L/ \Delta x &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; F := b/ \Delta t &amp;lt;/math&amp;gt;. Novamente obtemos um equação explicita no tempo &amp;lt;math&amp;gt; n+1 &amp;lt;/math&amp;gt; que depende somente de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; n-1 &amp;lt;/math&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
==== Estabilidade ====&lt;br /&gt;
&lt;br /&gt;
A abordagem que empregamos para demonstrar a estabilidade da equação da onda não homogênea é completamente análoga ao caso homogêneo. Em outras palavras, utilizamos o método de Von Neumann em conjunto com o teorema da estabilidade. Ao aplicar novamente as componentes de Fourier, representadas por &amp;lt;math &amp;gt;y_{j}^{n} \mapsto B^{n}e^{ikj\Delta x} &amp;lt;/math&amp;gt;, obtemos uma equação quadrática que impõe a seguinte restrição:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
a = \frac{c \Delta t}{ \Delta x} \leq \frac{1}{4}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
logo, o método é condicionalmente estável no intervalo &amp;lt;math&amp;gt; a\in\left [ 0, 1/4 \right ] &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Convergência ===&lt;br /&gt;
&lt;br /&gt;
Até este ponto, ainda não discutimos o quão bem o esquema de diferenças finitas descreve a solução da equação diferencial. Vamos abordar isso agora. A propriedade mais essencial que um esquema deve possuir é que, à medida que os espaçamentos na malha discreta diminuem, a aproximação para a solução deve se aproximar da solução real do sistema. Portanto, um esquema é considerado uma boa aproximação se &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left ( \Delta t, \Delta x \right ) \rightarrow 0 \Rightarrow \left | y \left ( t_{n}, x_{j}\right )  - y_{j}^{n}  \right |\rightarrow 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; y \left ( t_{n}, x_{j}\right ) &amp;lt;/math&amp;gt; é a solução exata e &amp;lt;math&amp;gt; y_{j}^{n} &amp;lt;/math&amp;gt; a solução aproximada. Se tais condições são satisfeitas, dizemos que o esquema de equações diferenciais finitas é convergente. Entretanto, geralmente, provar a convergência não é uma tarefa trivial. No entanto, podemos demonstrá-la de maneira indireta, utilizando estabilidade e consistência. Se um esquema é estável e consistente, então a convergência do esquema é garantida. Dada uma equação diferencial &amp;lt;math&amp;gt; Dy = f &amp;lt;/math&amp;gt;, dizemos que o esquema de diferenças finitas &amp;lt;math&amp;gt; D_{\Delta t \Delta x}y = f &amp;lt;/math&amp;gt; é consistente com a equação diferencial se, para qualquer função suficientemente diferenciável &amp;lt;math&amp;gt; \phi(t, x) &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left ( \Delta t, \Delta x \right ) \rightarrow 0 \Rightarrow  D \phi  - D_{\Delta t \Delta x} \phi  \rightarrow 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostremos a consistência da aproximação de diferenças finitas para a equação da onda homogênea. Seja a EDP da onda &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
Dy\left ( t, x \right ) = \frac{\partial^2 y}{\partial t^2} - c^{2}\frac{\partial^2 y}{\partial x^2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e seja a equação de diferenças finitas &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
D_{\left (\Delta t \Delta x  \right )}y\left ( t, x \right ) = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} - c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pela aproximação que demonstramos anteriormente, temos : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
&amp;amp;\frac{\partial^2 y}{\partial t^2} - c^{2}\frac{\partial^2 y}{\partial x^2} = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} + O\left ( \Delta t^{2} \right )- c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}} + O\left ( \Delta x^{2} \right ) \\&lt;br /&gt;
&amp;amp;\frac{\partial^2 y}{\partial t^2} - c^{2}\frac{\partial^2 y}{\partial x^2} - \left (\frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} - c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}  \right ) = O\left ( \Delta t^{2} \right ) + O\left ( \Delta x^{2} \right ) \\&lt;br /&gt;
&amp;amp;Dy\left ( t, x \right ) - D_{\left (\Delta t \Delta x  \right )}y\left ( t, x \right ) = O\left ( \Delta t^{2} \right ) + O\left ( \Delta x^{2} \right )&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
como estamos supondo que os termos de ordem 2 são desprezíveis, &amp;lt;math&amp;gt; O\left ( \Delta t^{2} \right ) \rightarrow 0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; O\left ( \Delta x^{2} \right ) \rightarrow 0 &amp;lt;/math&amp;gt;. Logo : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
Dy\left ( t, x \right ) - D_{\left (\Delta t \Delta x  \right )}y\left ( t, x \right ) \rightarrow 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
portanto o esquema de diferenças finitas é consistente. Como na seção anterior já havíamos provado a estabilidade condicional do método, podemos concluir que o esquema é condicionalmente convergente (é consistente e condicionalmente estável) e portanto representa uma boa aproximação para a solução exata da equação diferencial.&lt;br /&gt;
&lt;br /&gt;
== Análise espectral ==&lt;br /&gt;
Uma possível forma para quantitativamente analisar o som gerado por uma corda vibrante é estudar as frequências que compõem o seu movimento, técnica essa chamada de análise espectral. Antes de prosseguirmos vamos recapitular alguns resultados da álgebra linear&lt;br /&gt;
&lt;br /&gt;
=== Supremacia da álgebra linear ===&lt;br /&gt;
O seguinte conjunto &amp;lt;math&amp;gt; \mathbb{R}^{\mathbb{R}} = \{ f~|~f: \mathbb{R} \to \mathbb{R} \} &amp;lt;/math&amp;gt; é o espaço de funções reais de uma variável. Esse conjunto é um espaço vetorial, logo podemos utilizar toda a artilharia da álgebra linear, em especial, estamos interessados no sub-espaço gerado pela base &amp;lt;math&amp;gt; B = \{sen(\omega t) / \sqrt{\pi}, cos(\omega t) / \sqrt{\pi} \}_{\omega \in \mathbb{R^+}} &amp;lt;/math&amp;gt; &amp;lt;ref name=&amp;quot;norm_const&amp;quot;/&amp;gt;, pois elementos de &amp;lt;math&amp;gt; B &amp;lt;/math&amp;gt;, interpretados como sinais sonoros, representam um frequência pura de valor &amp;lt;math&amp;gt;f=\omega/(2\pi)&amp;lt;/math&amp;gt;. Dessa forma, um sinal arbitrário &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; pode ser escrito em termos das frequências puras que o formam&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 s(t) = \frac{1}{\sqrt{\pi}}\int_{0}^{\infty}[a(\omega)cos(\omega t) + b(\omega)sen(\omega t]d\omega&lt;br /&gt;
&amp;lt;/math&amp;gt;  &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E podemos extrair suas coordenadas (conhecidas como transformada de Fourier do sinal) (&amp;lt;math&amp;gt;a(\omega)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;b(\omega)&amp;lt;/math&amp;gt;), fazendo o produto escalar com os elementos da base&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
a(\omega) &amp;amp;= \int_{-\infty}^{\infty}s(t)\frac{1}{\sqrt{\pi}}cos(\omega t)dt \\&lt;br /&gt;
b(\omega) &amp;amp;= \int_{-\infty}^{\infty}s(t)\frac{1}{\sqrt{\pi}}sen(\omega t)dt&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Se o domínio de &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; é limitado, digamos &amp;lt;math&amp;gt;t \in [0, T]&amp;lt;/math&amp;gt;, então uma base infinita com cardinalidade enumerável (em contraste com a base anterior, que possui cardinalidade não enumerável) é suficiente para representar &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt;, uma possível base ortonormal é a seguinte: &amp;lt;math&amp;gt;\bigg\{ \sqrt{\frac{1}{T}}, \sqrt{\frac{2}{T}}sen(\omega_n t), \sqrt{\frac{2}{T}}cos(\omega_n t) \bigg\}_{n \in \mathbb{N^*}}&amp;lt;/math&amp;gt;, em que &amp;lt;math&amp;gt; \omega_n = \frac{n\pi}{T} &amp;lt;/math&amp;gt;. Dessa forma, a representação e coordenadas de &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; ficam&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
s(t) &amp;amp;= a_0\sqrt{\frac{1}{T}} + \sqrt{\frac{2}{T}}\sum_{n=1}^{\infty}\bigg[a_n cos(\omega_n t) + b_n sen(\omega_n) \bigg] \\&lt;br /&gt;
a_0 &amp;amp;= \int_0^T s(t) \sqrt{\frac{1}{T}}dt \\&lt;br /&gt;
a_n &amp;amp;= \int_0^T s(t) \sqrt{\frac{2}{T}}cos(\omega_n t)dt \\&lt;br /&gt;
b_n &amp;amp;= \int_0^T s(t) \sqrt{\frac{2}{T}}sen(\omega_n t)dt \\&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É impossível falar sobre bases enumeráveis de um sub-espaço de &amp;lt;math&amp;gt; \mathbb{R}^{\mathbb{R}} &amp;lt;/math&amp;gt; sem representar esse canhão matemático com uma animação. Abaixo segue uma visualização que calcula as primeiras &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; coordenadas (&amp;lt;math&amp;gt;a_0,\dots,a_N&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;b_1,\dots,b_N&amp;lt;/math&amp;gt;) de um sinal qualquer e sobrepõem a série obtida, incrementando &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; até as duas curvas serem indistinguíveis a olho nu. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie_fourier_ana_julia.gif|frame|center|Animação de uma série de fourier. É interessante notar que a série converge muito bem com apenas uma dúzia de frequências.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Potência espectral ===&lt;br /&gt;
Adiante vamos ver que o sinal sonoro provém da vibração de um ponto específico da mesma, digamos em &amp;lt;math&amp;gt;x=x_o&amp;lt;/math&amp;gt;, então a função que representa esse sinal é &amp;lt;math&amp;gt;y(x_o, t)&amp;lt;/math&amp;gt;. Como estamos interessados nas frequências que compõem o sinal, será calculado a transformada de fourier de &amp;lt;math&amp;gt;y(x_o, t)&amp;lt;/math&amp;gt; e definido que a potência da frequência &amp;lt;math&amp;gt;f = \omega/(2\pi)&amp;lt;/math&amp;gt; é &amp;lt;math&amp;gt;a_\omega^2 + b_\omega^2&amp;lt;/math&amp;gt;. A potência em função da frequência é o resultado da análise espectral.&lt;br /&gt;
&lt;br /&gt;
== Simulando uma corda de violão ==&lt;br /&gt;
Uma corda de violão geralmente é excitada por uma pancada dada por uma palheta ou pelo próprio dedo/unha do violonista. Essa pancada define uma condição inicial para a equação de onda. Uma suposição razoável da condição gerada é a seguinte&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\begin{aligned}&lt;br /&gt;
y(x, t=0) &amp;amp;= \begin{cases}  &lt;br /&gt;
\frac{h}{x_0}x &amp;amp;, ~ 0 \leq x \leq x_0\\&lt;br /&gt;
\frac{h}{L-x_0}(-x + L) &amp;amp;, ~ x_0 \leq x \leq L\\&lt;br /&gt;
\end{cases} \\&lt;br /&gt;
\frac{\partial}{\partial t} y(x, t=0) &amp;amp;= 0&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
supondo que a corda possui comprimento &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; e a pancado ocorreu em &amp;lt;math&amp;gt;x_o&amp;lt;/math&amp;gt;, causando uma deslocamento máximo &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt;. A imagem a seguir ilustra o estado da corda logo após a excitação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Init_cond_ana_julia.png|thumb|upright=2|center|Condição inicial de uma corda de violão.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dado essa condição inicial, podemos evoluir temporalmente o estado da corda utilizando a equação da onda, mantendo as bordas fixas (&amp;lt;math&amp;gt;y(x=0, t) = y(x=L, t) = 0&amp;lt;/math&amp;gt;), mas como extrair som dessa simulação? Para responder essa pergunta precisamos saber como um violão gera som. Ao contrário do que inicialmente pareça, as ondas sonoras não são diretamente geradas pela vibração das cordas, mas sim da caixa do violão, que está diretamente conectada com as cordas em uma peça chamada ponte. A vibração das cordas gera uma força dependente do tempo que atua na caixa através da ponte, assim vibrando a caixa e gerando o som que escutamos. Portanto, para gerar som de forma realista, precisaríamos fisicamente simular a caixa, levando em consideração a sua geometria e as propriedades física do seu material, e então determinar as ondas de pressão que seriam geradas por essa vibração, o que está fora do escopo do presente trabalho. Felizmente, as seguintes simplificações vão nos permitir calcular as ondas de pressão:&lt;br /&gt;
&lt;br /&gt;
* A força que a ponte exerce na caixa é aproximadamente proporcional a sua velocidade (Dinâmica aristotélica).&lt;br /&gt;
* A onda de pressão produzida pela caixa é aproximadamente proporcional a sua velocidade.&lt;br /&gt;
&lt;br /&gt;
A força que a ponte exerce na caixa (&amp;lt;math&amp;gt;F(t)&amp;lt;/math&amp;gt;) é a força que a corda exerce na ponte (pois a ponte está firmemente conectada na caixa), e essa força é proporcional a inclinação da corda, ou seja&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F(t) = T \frac{\partial}{\partial x}y(x=0, t) \approx T\frac{y(\Delta x, t) - \overbrace{y(0, t)}^{0}}{\Delta x} = \frac{T}{\Delta x} y(\Delta x, t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a tensão na corda. Portando, o sinal da onda de pressão pode ser aproximado como o deslocamento de um ponto da corda próximo a ponte. Para gerar som com esse sinal, o tipo de arquivo [https://en.wikipedia.org/wiki/WAV#:~:text=Waveform%20Audio%20File%20Format%20(WAVE,1991%20by%20IBM%20and%20Microsoft. WAV]] é utilizado, pois o seu dado de entrada pode ser justante o sinal da onda de pressão.&lt;br /&gt;
&lt;br /&gt;
Agora tudo está pronto para fazermos uma simulação, vamos tentar reproduzir a nota lá (&amp;lt;math&amp;gt;f = 440~Hz&amp;lt;/math&amp;gt;). Primeiro precisamos descobrir qual deve ser a velocidade de propagação das ondas (&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;) para gerar a nota em questão. Resolvendo a equação da onda ideal, obtemos que as possíveis frequência que existem na solução são &amp;lt;math&amp;gt;f_n = \frac{nc}{2L} &amp;lt;/math&amp;gt;, então não é possível fazer a corda vibrar apenas com uma frequência, mas quando músicos se referem a uma nota, eles realmente estão se referindo a &amp;lt;math&amp;gt;f_1&amp;lt;/math&amp;gt;, a primeira frequência que compõem o sinal, portanto&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; f_1 = \frac{c}{2L} = 440~Hz \Rightarrow c = L \cdot 880~Hz&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assumindo &amp;lt;math&amp;gt;L=1~m&amp;lt;/math&amp;gt;, temos que &amp;lt;math&amp;gt;c = 880~m/s&amp;lt;/math&amp;gt;. Resolvendo a equação da onda realista pelo método FTCS com os seguinte parâmetros&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Parâmetros da condição inicial&lt;br /&gt;
|-&lt;br /&gt;
! Parâmetros !! Valor&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;x_o&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;0,5~L&amp;lt;/math&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| h || 1 cm &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Parâmetros da integração&lt;br /&gt;
|-&lt;br /&gt;
! Parâmetros !! Valor&lt;br /&gt;
|-&lt;br /&gt;
| k || 1/4 &lt;br /&gt;
|-&lt;br /&gt;
| c || 880 m/s &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt; || 0,01 m&lt;br /&gt;
|-&lt;br /&gt;
| L || 1 m &lt;br /&gt;
|-&lt;br /&gt;
| b || 5 &amp;lt;math&amp;gt;s^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
obtemos o seguinte resultado&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Corda_vibrando_ana_julia.gif|frame|center|Solução da equação de onda ideal e realista.]]&lt;br /&gt;
&lt;br /&gt;
Na animação acima, por questão de comparação, também foi coloca a solução de uma simulação com os mesmos parâmetros, apenas com a modificação &amp;lt;math&amp;gt;b=\epsilon=0&amp;lt;/math&amp;gt;, que seria o caso ideal (sem amortecimento e rigidez).&lt;br /&gt;
 &lt;br /&gt;
Realizando a análise espectral do deslocamento de um ponto próximo de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, obtemos o seguinte gráfico&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_ana_julia.png |thumb|upright=2|center|Espectro do deslocamento de um ponto próximo de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;. Linhas prestas tracejadas representam os harmônicos.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As linhas verticais pretas e tracejadas representam as possíveis frequências da solução do caso ideal (também chamadas de harmônicos), ou seja, a primeira linha está em &amp;lt;math&amp;gt;f = 440 Hz &amp;lt;/math&amp;gt; como era de se esperar, mas é notável que a segunda e quarta linhas possuem uma potência praticamente nula, isso ocorre porque a excitação inicial foi exatamente no meio, e as frequência correspondentes a essas linhas provém de ondas estacionário que possum um nodo em &amp;lt;math&amp;gt;x=L/2&amp;lt;/math&amp;gt;, logo elas não foram excitadas pela condição inicial. Mudando o ponto de excitação inicial, podemos ver essas frequências aparecendo. Rodando a simulação novamente, mas com &amp;lt;math&amp;gt;x_o = 0,2~L&amp;lt;/math&amp;gt;, obtemos o seguinte espectro&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_bridge_ana_julia.png |thumb|upright=2|center|Espectro para excitação inicial em &amp;lt;math&amp;gt;x_0 = 0,2~L&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos observar a influência da rigidez, a simulação foi rodada com &amp;lt;math&amp;gt;\epsilon=10^{-8}&amp;lt;/math&amp;gt; (10 vezes maior do que o valor anterior) resultando no seguinte espectro&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_high_stiff_ana_julia.png |thumb|upright=2|center|Espectro para &amp;lt;math&amp;gt;\epsilon=10^{-8}&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O efeito mais notável é o deslocamento para esquerda das frequência em relação as frequências que compõem o sinal no caso ideal.&lt;br /&gt;
&lt;br /&gt;
Por fim, conforme descrito anteriormente, podemos gerar som com as dados da simulação, mas infelizmente essa wiki não nos permite upar arquivos de áudio. No entanto, áudio das simulações discutidas aqui podem ser encontrados no repositório do projeto [https://github.com/marcos1561/ana-julia ana-julia] dentro da pasta &amp;quot;sound&amp;quot;. Em especial, o efeito de deslocamento de frequências causado pela rigidez é bastante evidente escutando os áudios.&lt;br /&gt;
&lt;br /&gt;
=== Bônus ===&lt;br /&gt;
Apenas por diversão, segue uma animação de um pacote gaussiano como condição inicial&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Gaussian_package_ana_julia.gif|frame|center|Animação da solução da equação da onda com um pacote gaussiano como condição inicial.]]&lt;br /&gt;
&lt;br /&gt;
== Notas ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;fator_ampl&amp;quot;&amp;gt; Perceba que não estamos operando expoentes, mas sim usando a relação entre os índices &amp;lt;math&amp;gt; B^{n-1}/B^{n} = B^{m}/B^{m+1} = A^{-1} &amp;lt;/math&amp;gt;.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;norm_const&amp;quot;&amp;gt;A constante &amp;lt;math&amp;gt; 1/\sqrt{\pi} &amp;lt;/math&amp;gt; está presente por questão de normalização. Esse caso pode parecer um pouco estranho, dado que não é possível normalizar os cossenos e senos, pois sua integral em todo a reta não é definida, mas o que se deseja é a seguinte propriedade &lt;br /&gt;
&amp;lt;math&amp;gt;\int_{\mathbb{R}}A_{\omega}cos(\omega t) \cdot A_{\omega&#039;}cos(\omega&#039; t)dt = \delta(\omega-\omega&#039;) &amp;lt;/math&amp;gt;&lt;br /&gt;
que é safisfeita quando &amp;lt;math&amp;gt; A_{\omega} = A_{\omega&#039;} =  1/\sqrt{\pi}, ~ \forall \omega,\omega&#039;&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Corda_Vibrante&amp;diff=10183</id>
		<title>Corda Vibrante</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Corda_Vibrante&amp;diff=10183"/>
		<updated>2024-04-23T02:48:12Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: /* Simulando uma corda de violão */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== A equação da onda ==&lt;br /&gt;
No estudo das oscilações, é comum entre os físicos o emprego de modelos simples como representações &amp;quot;prototípicas&amp;quot; de certos padrões básicos observados na natureza. A eficácia desses modelos simples decorre de duas características fundamentais: a capacidade de serem compreendidos em detalhes minuciosos e a habilidade de reproduzir comportamentos semelhantes aos de situações reais e mais complexas, auxiliando na compreensão destas, pelo menos em termos qualitativos.&lt;br /&gt;
&lt;br /&gt;
Quando se trata de comportamentos oscilatórios, o modelo mais comumente utilizado é o do sistema massa-mola. Por outro lado, para descrever comportamentos ondulatórios unidimensionais, o modelo simples mais difundido é o da corda vibrante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consideremos uma corda esticada, como a corda de um violão, por exemplo. Suponhamos que esta corda tenha um comprimento &amp;lt;math&amp;gt; L &amp;lt;/math&amp;gt; e que suas extremidades estejam fixas nos pontos &amp;lt;math&amp;gt; x = 0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; x = L &amp;lt;/math&amp;gt;. Além disso, vamos supor que a corda tenha uma densidade linear uniforme representada por &amp;lt;math&amp;gt; \mu = \frac{dm}{dx} &amp;lt;/math&amp;gt;, e que esteja sob uma tensão constante &amp;lt;math&amp;gt; T &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Assumindo que a corda realize vibrações transversais apenas na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt; (embora possa ter vibrações transversais na direção &amp;lt;math&amp;gt; z &amp;lt;/math&amp;gt;, as quais vamos ignorar aqui), podemos representar a configuração da corda em qualquer instante de tempo no plano &amp;lt;math&amp;gt; xy &amp;lt;/math&amp;gt; por uma função &amp;lt;math&amp;gt; y(x,t) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vamos considerar mais algumas suposições:&lt;br /&gt;
&lt;br /&gt;
I) A tensão &amp;lt;math&amp;gt; T &amp;lt;/math&amp;gt; que estica a corda é tão alta que podemos negligenciar a força gravitacional sobre ela;&lt;br /&gt;
&lt;br /&gt;
II) A corda é perfeitamente elástica, ou seja, não oferece resistência a dobras;&lt;br /&gt;
&lt;br /&gt;
III) Os deslocamentos da corda, que ocorrem apenas na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt;, são de pequena amplitude.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com essas suposições em mente, estamos prontos para abordar o problema da corda vibrante. Em qualquer instante de tempo, um segmento arbitrário da corda estará na posição geral indicada pela figura abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:posicao_generica.png|400px|thumb|center|Posição genérica de um pedaço qualquer da corda]]&lt;br /&gt;
&lt;br /&gt;
A massa do pequeno segmento de corda de comprimento &amp;lt;math&amp;gt; \Delta{x} &amp;lt;/math&amp;gt; é&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\Delta{m} = \mu \Delta{x}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As componentes horizontal e vertical da força resultante atuando sobre esse segmento são:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_x = T \cos{(\theta + \Delta{\theta})} - T \cos{(\theta)}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
e&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_y = T \sin{(\theta + \Delta{\theta})} - T \sin{(\theta)}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Estamos assumindo que a corda não se move na direção &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; (apenas na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt;). Isso implica que a força resultante na direção &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; é nula (&amp;lt;math&amp;gt; F_x = 0 &amp;lt;/math&amp;gt;). Substituindo essa condição na equação, obtemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\cos{(\theta + \Delta{\theta})} = \cos{(\theta)}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E a força resultante na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; F_y &amp;lt;/math&amp;gt;, é dada de acordo com a segunda lei de Newton:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_y = (\mu \Delta{x})a_y = (\mu \Delta{x}) \frac{\partial^2{y}}{\partial{t^2}},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
então:&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
T \sin{(\theta + \Delta{\theta})} - T \sin{(\theta)} = (\mu \Delta{x}) \frac{\partial^2{y}}{\partial{t^2}},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
ou&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\sin{(\theta + \Delta{\theta})} - \sin{(\theta)} = \Delta{x} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos prosseguir dividindo os dois lados da equação acima pelo termo &amp;lt;math&amp;gt; \cos{(\theta)} &amp;lt;/math&amp;gt;, sabendo que &amp;lt;math&amp;gt; \cos{(\theta)} = \cos{(\theta + \Delta{\theta})} &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\sin{(\theta + \Delta{\theta})}}{\cos{(\theta + \Delta{\theta})}} - \frac{\sin{(\theta)}}{\cos{(\theta)}} = \frac{\Delta{x}}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}} \to \tan{(\theta + \Delta{\theta})} - \tan{(\theta)} = \frac{\Delta{x}}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando que o coeficiente angular da reta tangente a uma função em um dado ponto do seu domínio é igual à derivada da função nesse ponto, temos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial{y}}{\partial{x}} (x + \Delta{x}, t) - \frac{\partial{y}}{\partial{x}} (x, t) = \frac{\Delta{x}}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dividindo ambos os lados por &amp;lt;math&amp;gt; \Delta{x} &amp;lt;/math&amp;gt;, teremos do lado esquerdo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\frac{\partial{y}}{\partial{x}} (x + \Delta{x}, t) - \frac{\partial{y}}{\partial{x}} (x, t)}{\Delta{x}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e no limite que &amp;lt;math&amp;gt; \Delta{x} \to 0 &amp;lt;/math&amp;gt;, a expressão se torna uma derivada parcial segunda &amp;lt;math&amp;gt; \frac{\partial^2{y}}{\partial{x^2}} &amp;lt;/math&amp;gt;, nos permitindo reescrever a equação como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2{y}}{\partial{x^2}} (x, t) = \frac{1}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}} (x, t).&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E, como última manipulação, vamos supor agora que os deslocamentos da corda são pequenos, o que implica que os ângulos associados a esses deslocamentos também são pequenos: &amp;lt;math&amp;gt; \theta &amp;lt;&amp;lt; 1 &amp;lt;/math&amp;gt;. Com essa condição, &amp;lt;math&amp;gt; \cos{(\theta)} \approx 1 &amp;lt;/math&amp;gt; e chegamos em:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2{y}}{\partial{x^2}} (x, t) = \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}} (x, t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde o termo &amp;lt;math&amp;gt; \frac{\mu}{T} &amp;lt;/math&amp;gt; tem dimensão de &amp;lt;math&amp;gt; \frac{1}{c^2} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; c &amp;lt;/math&amp;gt; é a velocidade de propagação de ondas na corda esticada:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2{y}}{\partial{x^2}} (x, t) = \frac{1}{c^2} \frac{\partial^2{y}}{\partial{t^2}} (x, t) \Leftrightarrow \frac{\partial^2{y}}{\partial{t^2}} (x, t) = &lt;br /&gt;
c^2 \frac{\partial^2{y}}{\partial{x^2}} (x, t).&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Chegando a conlusão de que essa é a expressão para a corda vibrante e que a velocidade de propagação aumenta com a tensão na corda e diminui com a sua inércia (massa por unidade de comprimento).&lt;br /&gt;
&lt;br /&gt;
== Método FTCS ==&lt;br /&gt;
&lt;br /&gt;
O método FTCS (Forward Time Central Space) é uma abordagem progressiva no tempo e centrada no espaço. Em outras palavras, ao lidarmos com uma função de duas variáveis, buscamos uma solução futura em termos do tempo, centrada em uma vizinhança espacial. Para a resolução numérica da equação diferencial unidimensional da onda, optamos por trabalhar exclusivamente com o método explícito.&lt;br /&gt;
&lt;br /&gt;
=== Corda Ideal ===&lt;br /&gt;
&lt;br /&gt;
==== Método Explícito ====&lt;br /&gt;
&lt;br /&gt;
Para aplicar o método, é necessário inicialmente discretizar tanto as variáveis espaciais quanto as variáveis temporais. Seja a função &amp;lt;math&amp;gt; y(t,x): \mathbb{R}^{2} \mapsto \mathbb{R} &amp;lt;/math&amp;gt;, sejam os intervalos &amp;lt;math&amp;gt; \left [ 0,X \right ], \left [ 0,T \right ]\subset \mathbb{R} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; N,M\in \mathbb{N} &amp;lt;/math&amp;gt;, discretizamos os intervalos em espaçamentos iguais &amp;lt;math&amp;gt; \Delta x = X/N &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; \Delta t = T/M &amp;lt;/math&amp;gt; de tal maneira que obtemos as sequências crescentes monótonas &amp;lt;math&amp;gt;\left \{ x_{i} \right \}_{i=0}^{N} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\left \{ t_{i} \right \}_{j=0}^{M} &amp;lt;/math&amp;gt; . Assim obtemos uma grade de malhas de pontos &amp;lt;math&amp;gt; (t_{i}, x_{i}) &amp;lt;/math&amp;gt; onde a função &amp;lt;math&amp;gt; y(t,x) &amp;lt;/math&amp;gt; tem seus valores aproximados por &amp;lt;math&amp;gt; y(t_{i}, x_{i}) &amp;lt;/math&amp;gt; denotado &amp;lt;math&amp;gt; y_{j}^{n} &amp;lt;/math&amp;gt;. Uma abordagem comum envolve a discretização da primeira derivada no tempo utilizando uma diferença finita progressiva baseada na expansão em séries de Taylor até a primeira ordem :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial y}{\partial t} \approx \frac{y(t+\Delta t, x) - y(t, x)}{\Delta t} = \frac{y_{j}^{n+1} - y_{j}^{n}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Discretizando a derivada temporal segunda utilizando um diferença finita regressiva :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} \approx  \frac{\partial}{\partial t} \left(\frac{y_{j}^{n+1} - y_{j}^{n}}{\Delta t}\right) \approx \frac{1}{\Delta t}\left [\frac{y\left (t+\Delta t, x  \right ) - y\left (\left (t + \Delta t  \right )- \Delta t, x  \right )}{\Delta t} - \frac{y\left (t,x  \right ) - y\left (t - \Delta t, x  \right )}{\Delta t } \right ] = \frac{y\left (t + \Delta t, x  \right ) + y\left (t - \Delta t, x  \right ) - 2y\left (t, x  \right )}{(\Delta t)^{2}} = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que o processo retorna uma derivada de diferenças finitas centrada, além disso obtemos um aproximação de segunda ordem. O mecanismo de discretização das derivadas espaciais é completamente análogo, a derivada segunda centrada :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^{2} y}{\partial x^{2}} \approx \frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aplicando as expressões das diferenciais na equação da onda :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} = c^{2} \frac{\partial^2 y}{\partial x^2} \mapsto \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} = c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
defina &amp;lt;math&amp;gt; a := c\Delta t / \Delta x &amp;lt;/math&amp;gt; e explicite a variável no estado temporal futuro, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_{j}^{n+1} = 2\left(1 - a^{2}\right)y_{j}^{n} - y_{j}^{n-1} + a^{2}\left ( y_{j+1}^{n} + y_{j-1}^{n}\right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
uma equação explicita no tempo &amp;lt;math&amp;gt; n+1 &amp;lt;/math&amp;gt; dependendo somente de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; n-1 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Estabilidade ====&lt;br /&gt;
&lt;br /&gt;
Para analisar a estabilidade da solução numérica para a equação da onda, utilizaremos o método de Von Neumann. O procedimento consiste em utilizar a transformada de Fourier para determinar a estabilidade do esquema, a solução problema tem a forma : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_{j}^{n+1}(\xi) = A(\xi \Delta x, \Delta x, \Delta t) y_{j}^{n}(\xi)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; \xi \in \left [ -\pi / \Delta x, \pi / \Delta x \right ] &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; é o fator de amplificação, observe que podemos estudar a estabilidade da aproximação somente analisando o fator de amplificação. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Teorema&#039;&#039;&#039; : Se o fator de amplificação não depender de &amp;lt;math&amp;gt; \Delta x &amp;lt;/math&amp;gt; nem &amp;lt;math&amp;gt; \Delta t &amp;lt;/math&amp;gt;, então a aproximação é estável se &amp;lt;math&amp;gt; \left | A(\xi \Delta x) \right | \leq 1 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Vejamos a estabilidade da aproximação de diferenças finitas para a equação da onda, utilizando as componentes de Fourier &amp;lt;math &amp;gt;y_{j}^{n} \mapsto B^{n}e^{ikj\Delta x} &amp;lt;/math&amp;gt;, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
B^{n+1}e^{ikj\Delta x} = 2\left ( 1-a^{2} \right )B^{n}e^{ikj\Delta x} - B^{n-1}e^{ikj\Delta x} + a^{2}\left ( B^{n}e^{ik(j+1)\Delta x} + B^{n}e^{ik(j-1)\Delta x} \right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
simplificando os termos em comum :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
B^{n+1} + B^{n-1}  = B^{n} \left [ 2\left ( 1-a^{2} \right ) + a^{2}\left (e^{ik\Delta x} + e^{-ik\Delta x}\right )\right ]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que &amp;lt;math&amp;gt; e^{ik\Delta x} - e^{-ik\Delta x} = 2cos(k\Delta x) &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{B^{n+1} + B^{n-1}}{B^{n}} = 2\left ( 1-a^{2} \right ) + 2a^{2}cos(k\Delta x)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
utilizando a identidade trigonométrica &amp;lt;math&amp;gt; cos(\theta) = cos^{2}(\theta /2) - sen^{2}(\theta /2) &amp;lt;/math&amp;gt; e a identidade trigonométrica fundamental &amp;lt;math&amp;gt; 1 = cos^{2}(\theta) + sen^{2}(\theta) &amp;lt;/math&amp;gt;, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A + \frac{1}{A} = -2\left [ 2a^{2}sen^{2}\left ( \frac{k\Delta x}{2} \right ) -1 \right ]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; A = B^{n+1}/B^{n} &amp;lt;/math&amp;gt; &amp;lt;ref name=&amp;quot;fator_ampl&amp;quot;/&amp;gt; é o fator de amplificação. Defina &amp;lt;math&amp;gt; d :=  2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 &amp;lt;/math&amp;gt;. Portanto obtemos a equação quadrática com soluções :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A^{2} + 2dA + 1 = 0 \Rightarrow A_{1,2} = -d \pm \sqrt{d^{2}-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
se &amp;lt;math&amp;gt; \left | d \right | &amp;gt; 1 &amp;lt;/math&amp;gt;, então : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
-1&amp;gt;d&amp;gt;1 \Rightarrow -1 &amp;gt; 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 &amp;gt; 1  \Rightarrow 0 &amp;gt; 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) &amp;gt; 2 \Rightarrow 0 &amp;gt; \left( asen\left (k\Delta x / 2 \right ) \right)^{2} &amp;gt; 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
o que é um aburdo, pois &amp;lt;math&amp;gt; asen\left (k\Delta x / 2 \right )\in \mathbb{R} &amp;lt;/math&amp;gt;. Se &amp;lt;math&amp;gt; \left | d \right | \leq  1 &amp;lt;/math&amp;gt; , então : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
-1\leq d \leq 1 \Rightarrow -1 \leq 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 \leq 1  \Rightarrow 0 \leq 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) \leq 2 \Rightarrow 0 \leq \left( asen\left (k\Delta x / 2 \right ) \right)^{2} \leq 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que &amp;lt;math&amp;gt; sen\left (k\Delta x / 2 \right ) \leq 1 &amp;lt;/math&amp;gt;, logo &amp;lt;math&amp;gt; a \leq 1 &amp;lt;/math&amp;gt;. Portanto para o método ser condicionalmente estável : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\frac{c \Delta t}{ \Delta x} \leq 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Embora &amp;lt;math&amp;gt; a \leq 1 &amp;lt;/math&amp;gt; garante a estabilidade do processo, &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt; é a melhor escolha possível para a estabilidade do método, pelos seguintes motivos :&lt;br /&gt;
* Quando &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt;, os termos de ordem superior que são descartados na discretização da equação da onda são amplamente cancelados. Essa compensação implica que o método numérico se torna mais estável e menos suscetível a erros numéricos significativos, ou seja, não ocorrerão variações abruptas devido aos termos de ordem maiores;&lt;br /&gt;
* Quando &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt;, a perturbação na corda se propaga exatamente um passo espacial a cada passo de tempo. Esse comportamento assegura que a velocidade da perturbação seja adequadamente representada pelo algoritmo numérico. Isso ocorre devido a relação entre a velocidade física da corda &amp;lt;math&amp;gt; c &amp;lt;/math&amp;gt; e a velocidade da perturbação &amp;lt;math&amp;gt; v = \Delta x / \Delta t &amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\frac{c \Delta t}{ \Delta x} = \frac{c}{v} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observe que além de obtermos o intervalo de estabilidade &amp;lt;math&amp;gt; a\in\left [ 0, 1 \right ] &amp;lt;/math&amp;gt;, também obtemos uma restrição na discretização das malhas temporais e espaciais, limitando assim &amp;lt;math&amp;gt; N,M\in \mathbb{N} &amp;lt;/math&amp;gt; a um subconjunto que satisfaça a condição de estabilidade.&lt;br /&gt;
&lt;br /&gt;
=== Corda Não Ideal ===&lt;br /&gt;
&lt;br /&gt;
==== Método Explícito ====&lt;br /&gt;
Optaremos novamente por realizar a análise utilizando um método explícito. Em geral, o desenvolvimento teórico para a discretização da equação diferencial da onda com amortecimento e rigidez é análogo ao caso ideal, portanto, não serão apresentados com detalhes os cálculos necessários para a implementação do método. A derivada quarta centrada é aproximada utilizando diferenças finitas :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^4 y}{\partial x^4} \approx \frac{y_{j+2}^{n} + y_{j+1}^{n} + y_{j}^{n} + y_{j-1}^{n} + y_{j-2}^{n}}{\left ( \Delta x \right )^{4}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
transformando a EDP não homogênea para um espaço discretizado usando a aproximação de diferenças finitas centrada : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} = c^{2}\left ( \frac{\partial^2 y}{\partial x^2} - \epsilon L^{2}\frac{\partial^4 y}{\partial x^4} \right ) - b\frac{\partial y}{\partial t} \mapsto  y_{j}^{n+1} = \left [ \left (2 - 2a^{2} - 6\epsilon a^{2}E^{2} - F \right )y_{j}^{n} - y_{j}^{n-1} + a^{2}\left ( 1 + 4\epsilon E^{2} \right ) \left ( y_{j+1}^{n} + y_{j-1}^{n} \right ) - \epsilon a^{2}E^{2} \left ( y_{j+2}^{n} + y_{j-2}^{n} \right ) \right ]\left (\frac{1}{1-F} \right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; E := L/ \Delta x &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; F := b/ \Delta t &amp;lt;/math&amp;gt;. Novamente obtemos um equação explicita no tempo &amp;lt;math&amp;gt; n+1 &amp;lt;/math&amp;gt; que depende somente de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; n-1 &amp;lt;/math&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
==== Estabilidade ====&lt;br /&gt;
&lt;br /&gt;
A abordagem que empregamos para demonstrar a estabilidade da equação da onda não homogênea é completamente análoga ao caso homogêneo. Em outras palavras, utilizamos o método de Von Neumann em conjunto com o teorema da estabilidade. Ao aplicar novamente as componentes de Fourier, representadas por &amp;lt;math &amp;gt;y_{j}^{n} \mapsto B^{n}e^{ikj\Delta x} &amp;lt;/math&amp;gt;, obtemos uma equação quadrática que impõe a seguinte restrição:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
a = \frac{c \Delta t}{ \Delta x} \leq \frac{1}{4}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
logo, o método é condicionalmente estável no intervalo &amp;lt;math&amp;gt; a\in\left [ 0, 1/4 \right ] &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Convergência ===&lt;br /&gt;
&lt;br /&gt;
Até este ponto, ainda não discutimos o quão bem o esquema de diferenças finitas descreve a solução da equação diferencial. Vamos abordar isso agora. A propriedade mais essencial que um esquema deve possuir é que, à medida que os espaçamentos na malha discreta diminuem, a aproximação para a solução deve se aproximar da solução real do sistema. Portanto, um esquema é considerado uma boa aproximação se &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left ( \Delta t, \Delta x \right ) \rightarrow 0 \Rightarrow \left | y \left ( t_{n}, x_{j}\right )  - y_{j}^{n}  \right |\rightarrow 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; y \left ( t_{n}, x_{j}\right ) &amp;lt;/math&amp;gt; é a solução exata e &amp;lt;math&amp;gt; y_{j}^{n} &amp;lt;/math&amp;gt; a solução aproximada. Se tais condições são satisfeitas, dizemos que o esquema de equações diferenciais finitas é convergente. Entretanto, geralmente, provar a convergência não é uma tarefa trivial. No entanto, podemos demonstrá-la de maneira indireta, utilizando estabilidade e consistência. Se um esquema é estável e consistente, então a convergência do esquema é garantida. Dada uma equação diferencial &amp;lt;math&amp;gt; Dy = f &amp;lt;/math&amp;gt;, dizemos que o esquema de diferenças finitas &amp;lt;math&amp;gt; D_{\Delta t \Delta x}y = f &amp;lt;/math&amp;gt; é consistente com a equação diferencial se, para qualquer função suficientemente diferenciável &amp;lt;math&amp;gt; \phi(t, x) &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left ( \Delta t, \Delta x \right ) \rightarrow 0 \Rightarrow  D \phi  - D_{\Delta t \Delta x} \phi  \rightarrow 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostremos a consistência da aproximação de diferenças finitas para a equação da onda homogênea. Seja a EDP da onda &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
Dy\left ( t, x \right ) = \frac{\partial^2 y}{\partial t^2} - c^{2}\frac{\partial^2 y}{\partial x^2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e seja a equação de diferenças finitas &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
D_{\left (\Delta t \Delta x  \right )}y\left ( t, x \right ) = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} - c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pela aproximação que demonstramos anteriormente, temos : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
&amp;amp;\frac{\partial^2 y}{\partial t^2} - c^{2}\frac{\partial^2 y}{\partial x^2} = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} + O\left ( \Delta t^{2} \right )- c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}} + O\left ( \Delta x^{2} \right ) \\&lt;br /&gt;
&amp;amp;\frac{\partial^2 y}{\partial t^2} - c^{2}\frac{\partial^2 y}{\partial x^2} - \left (\frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} - c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}  \right ) = O\left ( \Delta t^{2} \right ) + O\left ( \Delta x^{2} \right ) \\&lt;br /&gt;
&amp;amp;Dy\left ( t, x \right ) - D_{\left (\Delta t \Delta x  \right )}y\left ( t, x \right ) = O\left ( \Delta t^{2} \right ) + O\left ( \Delta x^{2} \right )&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
como estamos supondo que os termos de ordem 2 são desprezíveis, &amp;lt;math&amp;gt; O\left ( \Delta t^{2} \right ) \rightarrow 0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; O\left ( \Delta x^{2} \right ) \rightarrow 0 &amp;lt;/math&amp;gt;. Logo : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
Dy\left ( t, x \right ) - D_{\left (\Delta t \Delta x  \right )}y\left ( t, x \right ) \rightarrow 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
portanto o esquema de diferenças finitas é consistente. Como na seção anterior já havíamos provado a estabilidade condicional do método, podemos concluir que o esquema é condicionalmente convergente (é consistente e condicionalmente estável) e portanto representa uma boa aproximação para a solução exata da equação diferencial.&lt;br /&gt;
&lt;br /&gt;
== Análise espectral ==&lt;br /&gt;
Uma possível forma para quantitativamente analisar o som gerado por uma corda vibrante é estudar as frequências que compõem o seu movimento, técnica essa chamada de análise espectral. Antes de prosseguirmos vamos recapitular alguns resultados da álgebra linear&lt;br /&gt;
&lt;br /&gt;
=== Supremacia da álgebra linear ===&lt;br /&gt;
O seguinte conjunto &amp;lt;math&amp;gt; \mathbb{R}^{\mathbb{R}} = \{ f~|~f: \mathbb{R} \to \mathbb{R} \} &amp;lt;/math&amp;gt; é o espaço de funções reais de uma variável. Esse conjunto é um espaço vetorial, logo podemos utilizar toda a artilharia da álgebra linear, em especial, estamos interessados no sub-espaço gerado pela base &amp;lt;math&amp;gt; B = \{sen(\omega t) / \sqrt{\pi}, cos(\omega t) / \sqrt{\pi} \}_{\omega \in \mathbb{R^+}} &amp;lt;/math&amp;gt; &amp;lt;ref name=&amp;quot;norm_const&amp;quot;/&amp;gt;, pois elementos de &amp;lt;math&amp;gt; B &amp;lt;/math&amp;gt;, interpretados como sinais sonoros, representam um frequência pura de valor &amp;lt;math&amp;gt;f=\omega/(2\pi)&amp;lt;/math&amp;gt;. Dessa forma, um sinal arbitrário &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; pode ser escrito em termos das frequências puras que o formam&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 s(t) = \frac{1}{\sqrt{\pi}}\int_{0}^{\infty}[a(\omega)cos(\omega t) + b(\omega)sen(\omega t]d\omega&lt;br /&gt;
&amp;lt;/math&amp;gt;  &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E podemos extrair suas coordenadas (conhecidas como transformada de Fourier do sinal) (&amp;lt;math&amp;gt;a(\omega)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;b(\omega)&amp;lt;/math&amp;gt;), fazendo o produto escalar com os elementos da base&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
a(\omega) &amp;amp;= \int_{-\infty}^{\infty}s(t)\frac{1}{\sqrt{\pi}}cos(\omega t)dt \\&lt;br /&gt;
b(\omega) &amp;amp;= \int_{-\infty}^{\infty}s(t)\frac{1}{\sqrt{\pi}}sen(\omega t)dt&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Se o domínio de &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; é limitado, digamos &amp;lt;math&amp;gt;t \in [0, T]&amp;lt;/math&amp;gt;, então uma base infinita com cardinalidade enumerável (em contraste com a base anterior, que possui cardinalidade não enumerável) é suficiente para representar &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt;, uma possível base ortonormal é a seguinte: &amp;lt;math&amp;gt;\bigg\{ \sqrt{\frac{1}{T}}, \sqrt{\frac{2}{T}}sen(\omega_n t), \sqrt{\frac{2}{T}}cos(\omega_n t) \bigg\}_{n \in \mathbb{N^*}}&amp;lt;/math&amp;gt;, em que &amp;lt;math&amp;gt; \omega_n = \frac{n\pi}{T} &amp;lt;/math&amp;gt;. Dessa forma, a representação e coordenadas de &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; ficam&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
s(t) &amp;amp;= a_0\sqrt{\frac{1}{T}} + \sqrt{\frac{2}{T}}\sum_{n=1}^{\infty}\bigg[a_n cos(\omega_n t) + b_n sen(\omega_n) \bigg] \\&lt;br /&gt;
a_0 &amp;amp;= \int_0^T s(t) \sqrt{\frac{1}{T}}dt \\&lt;br /&gt;
a_n &amp;amp;= \int_0^T s(t) \sqrt{\frac{2}{T}}cos(\omega_n t)dt \\&lt;br /&gt;
b_n &amp;amp;= \int_0^T s(t) \sqrt{\frac{2}{T}}sen(\omega_n t)dt \\&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É impossível falar sobre bases enumeráveis de um sub-espaço de &amp;lt;math&amp;gt; \mathbb{R}^{\mathbb{R}} &amp;lt;/math&amp;gt; sem representar esse canhão matemático com uma animação. Abaixo segue uma visualização que calcula as primeiras &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; coordenadas (&amp;lt;math&amp;gt;a_0,\dots,a_N&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;b_1,\dots,b_N&amp;lt;/math&amp;gt;) de um sinal qualquer e sobrepõem a série obtida, incrementando &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; até as duas curvas serem indistinguíveis a olho nu. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie_fourier_ana_julia.gif|frame|center|Animação de uma série de fourier. É interessante notar que a série converge muito bem com apenas uma dúzia de frequências.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Potência espectral ===&lt;br /&gt;
Adiante vamos ver que o sinal sonoro provém da vibração de um ponto específico da mesma, digamos em &amp;lt;math&amp;gt;x=x_o&amp;lt;/math&amp;gt;, então a função que representa esse sinal é &amp;lt;math&amp;gt;y(x_o, t)&amp;lt;/math&amp;gt;. Como estamos interessados nas frequências que compõem o sinal, será calculado a transformada de fourier de &amp;lt;math&amp;gt;y(x_o, t)&amp;lt;/math&amp;gt; e definido que a potência da frequência &amp;lt;math&amp;gt;f = \omega/(2\pi)&amp;lt;/math&amp;gt; é &amp;lt;math&amp;gt;a_\omega^2 + b_\omega^2&amp;lt;/math&amp;gt;. A potência em função da frequência é o resultado da análise espectral.&lt;br /&gt;
&lt;br /&gt;
== Simulando uma corda de violão ==&lt;br /&gt;
Uma corda de violão geralmente é excitada por uma pancada dada por uma palheta ou pelo próprio dedo/unha do violonista. Essa pancada define uma condição inicial para a equação de onda. Uma suposição razoável da condição gerada é a seguinte&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\begin{aligned}&lt;br /&gt;
y(x, t=0) &amp;amp;= \begin{cases}  &lt;br /&gt;
\frac{h}{x_0}x &amp;amp;, ~ 0 \leq x \leq x_0\\&lt;br /&gt;
\frac{h}{L-x_0}(-x + L) &amp;amp;, ~ x_0 \leq x \leq L\\&lt;br /&gt;
\end{cases} \\&lt;br /&gt;
\frac{\partial}{\partial t} y(x, t=0) &amp;amp;= 0&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
supondo que a corda possui comprimento &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; e a pancado ocorreu em &amp;lt;math&amp;gt;x_o&amp;lt;/math&amp;gt;, causando uma deslocamento máximo &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt;. A imagem a seguir ilustra o estado da corda logo após a excitação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Init_cond_ana_julia.png|thumb|upright=2|center|Condição inicial de uma corda de violão.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dado essa condição inicial, podemos evoluir temporalmente o estado da corda utilizando a equação da onda, mantendo as bordas fixas (&amp;lt;math&amp;gt;y(x=0, t) = y(x=L, t) = 0&amp;lt;/math&amp;gt;), mas como extrair som dessa simulação? Para responder essa pergunta precisamos saber como um violão gera som. Ao contrário do que inicialmente pareça, as ondas sonoras não são diretamente geradas pela vibração das cordas, mas sim da caixa do violão, que está diretamente conectada com as cordas em uma peça chamada ponte. A vibração das cordas gera uma força dependente do tempo que atua na caixa através da ponte, assim vibrando a caixa e gerando o som que escutamos. Portanto, para gerar som de forma realista, precisaríamos fisicamente simular a caixa, levando em consideração a sua geometria e as propriedades física do seu material, e então determinar as ondas de pressão que seriam geradas por essa vibração, o que está fora do escopo do presente trabalho. Felizmente, as seguintes simplificações vão nos permitir calcular as ondas de pressão:&lt;br /&gt;
&lt;br /&gt;
* A força que a ponte exerce na caixa é aproximadamente proporcional a sua velocidade (Dinâmica aristotélica).&lt;br /&gt;
* A onda de pressão produzida pela caixa é aproximadamente proporcional a sua velocidade.&lt;br /&gt;
&lt;br /&gt;
A força que a ponte exerce na caixa (&amp;lt;math&amp;gt;F(t)&amp;lt;/math&amp;gt;) é a força que a corda exerce na ponte (pois a ponte está firmemente conectada na caixa), e essa força é proporcional a inclinação da corda, ou seja&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F(t) = T \frac{\partial}{\partial x}y(x=0, t) \approx T\frac{y(\Delta x, t) - \overbrace{y(0, t)}^{0}}{\Delta x} = \frac{T}{\Delta x} y(\Delta x, t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a tensão na corda. Portando, o sinal da onda de pressão pode ser aproximado como o deslocamento de um ponto da corda próximo a ponte. Para gerar som com esse sinal, o tipo de arquivo [https://en.wikipedia.org/wiki/WAV#:~:text=Waveform%20Audio%20File%20Format%20(WAVE,1991%20by%20IBM%20and%20Microsoft. WAV]] é utilizado, pois o seu dado de entrada pode ser justante o sinal da onda de pressão.&lt;br /&gt;
&lt;br /&gt;
Agora tudo está pronto para fazermos uma simulação, vamos tentar reproduzir a nota lá (&amp;lt;math&amp;gt;f = 440~Hz&amp;lt;/math&amp;gt;). Primeiro precisamos descobrir qual deve ser a velocidade de propagação das ondas (&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;) para gerar a nota em questão. Resolvendo a equação da onda ideal, obtemos que as possíveis frequência que existem na solução são &amp;lt;math&amp;gt;f_n = \frac{nc}{2L} &amp;lt;/math&amp;gt;, então não é possível fazer a corda vibrar apenas com uma frequência, mas quando músicos se referem a uma nota, eles realmente estão se referindo a &amp;lt;math&amp;gt;f_1&amp;lt;/math&amp;gt;, a primeira frequência que compõem o sinal, portanto&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; f_1 = \frac{c}{2L} = 440~Hz \Rightarrow c = L \cdot 880~Hz&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assumindo &amp;lt;math&amp;gt;L=1~m&amp;lt;/math&amp;gt;, temos que &amp;lt;math&amp;gt;c = 880~m/s&amp;lt;/math&amp;gt;. Resolvendo a equação da onda realista pelo método FTCS com os seguinte parâmetros&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Parâmetros da condição inicial&lt;br /&gt;
|-&lt;br /&gt;
! Parâmetros !! Valor&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;x_o&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;0,5~L&amp;lt;/math&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| h || 1 cm &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Parâmetros da integração&lt;br /&gt;
|-&lt;br /&gt;
! Parâmetros !! Valor&lt;br /&gt;
|-&lt;br /&gt;
| k || 1/4 &lt;br /&gt;
|-&lt;br /&gt;
| c || 880 m/s &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt; || 0,01 m&lt;br /&gt;
|-&lt;br /&gt;
| L || 1 m &lt;br /&gt;
|-&lt;br /&gt;
| b || 5 &amp;lt;math&amp;gt;s^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
obtemos o seguinte resultado&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Corda_vibrando_ana_julia.gif|frame|center|Solução da equação de onda ideal e realista.]]&lt;br /&gt;
&lt;br /&gt;
Na animação acima, por questão de comparação, também foi coloca a solução de uma simulação com os mesmos parâmetros, apenas com a modificação &amp;lt;math&amp;gt;b=\epsilon=0&amp;lt;/math&amp;gt;, que seria o caso ideal (sem amortecimento e rigidez).&lt;br /&gt;
 &lt;br /&gt;
Realizando a análise espectral do deslocamento de um ponto próximo de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, obtemos o seguinte gráfico&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_ana_julia.png |thumb|upright=2|center|Espectro do deslocamento de um ponto próximo de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As linhas verticais pretas e tracejadas representam as possíveis frequências da solução do caso ideal, ou seja, a primeira linha está em &amp;lt;math&amp;gt;f = 440 Hz &amp;lt;/math&amp;gt; como era de se esperar, mas é notável que a segunda e quarta linhas possuem uma potência praticamente nula, isso ocorre porque a excitação inicial foi exatamente no meio, e as frequência correspondentes a essas linhas provém de ondas estacionário que possum um nodo em &amp;lt;math&amp;gt;x=L/2&amp;lt;/math&amp;gt;, logo elas não foram excitadas pela condição inicial. Mudando o ponto de excitação inicial, podemos ver essas frequências aparecendo, rodando a simulação novamente, mas com &amp;lt;math&amp;gt;x_o = 0,2~L&amp;lt;/math&amp;gt;, obtemos o seguinte espectro&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_bridge_ana_julia.png |thumb|upright=2|center|Espectro para excitação inicial em &amp;lt;math&amp;gt;x_0 = 0,2~L&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos observar a influência da rigidez rodando a simulação com &amp;lt;math&amp;gt;\epsilon=10^{-8}&amp;lt;/math&amp;gt; (10 vezes maior do que o valor anterior) e olhar o espectro produzido&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_high_stiff_ana_julia.png |thumb|upright=2|center|Espectro para &amp;lt;math&amp;gt;\epsilon=10^{-8}&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O efeito mais notável é o deslocamento para esquerda das frequência em relação as frequências que compõem o sinal no caso ideal.&lt;br /&gt;
&lt;br /&gt;
Por fim, conforme descrito anteriormente, podemos gerar som com as dados da simulação, mas infelizmente essa wiki não nos permite upar arquivos de áudio. No entanto, áudio das simulações discutidas aqui podem ser encontrados no repositório do projeto [https://github.com/marcos1561/ana-julia ana-julia] dentro da pasta &amp;quot;sound&amp;quot;. Em especial, o efeito de deslocamento de frequências causado pela rigidez é bastante evidente escutando os áudios.&lt;br /&gt;
&lt;br /&gt;
=== Bônus ===&lt;br /&gt;
Apenas por diversão, segue uma animação de um pacote gaussiano como condição inicial&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Gaussian_package_ana_julia.gif|frame|center|Animação da solução da equação da onda com um pacote gaussiano como condição inicial.]]&lt;br /&gt;
&lt;br /&gt;
== Notas ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;fator_ampl&amp;quot;&amp;gt; Perceba que não estamos operando expoentes, mas sim usando a relação entre os índices &amp;lt;math&amp;gt; B^{n-1}/B^{n} = B^{m}/B^{m+1} = A^{-1} &amp;lt;/math&amp;gt;.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;norm_const&amp;quot;&amp;gt;A constante &amp;lt;math&amp;gt; 1/\sqrt{\pi} &amp;lt;/math&amp;gt; está presente por questão de normalização. Esse caso pode parecer um pouco estranho, dado que não é possível normalizar os cossenos e senos, pois sua integral em todo a reta não é definida, mas o que se deseja é a seguinte propriedade &lt;br /&gt;
&amp;lt;math&amp;gt;\int_{\mathbb{R}}A_{\omega}cos(\omega t) \cdot A_{\omega&#039;}cos(\omega&#039; t)dt = \delta(\omega-\omega&#039;) &amp;lt;/math&amp;gt;&lt;br /&gt;
que é safisfeita quando &amp;lt;math&amp;gt; A_{\omega} = A_{\omega&#039;} =  1/\sqrt{\pi}, ~ \forall \omega,\omega&#039;&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Corda_Vibrante&amp;diff=10182</id>
		<title>Corda Vibrante</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Corda_Vibrante&amp;diff=10182"/>
		<updated>2024-04-23T02:45:05Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: /* Supremacia da álgebra linear */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== A equação da onda ==&lt;br /&gt;
No estudo das oscilações, é comum entre os físicos o emprego de modelos simples como representações &amp;quot;prototípicas&amp;quot; de certos padrões básicos observados na natureza. A eficácia desses modelos simples decorre de duas características fundamentais: a capacidade de serem compreendidos em detalhes minuciosos e a habilidade de reproduzir comportamentos semelhantes aos de situações reais e mais complexas, auxiliando na compreensão destas, pelo menos em termos qualitativos.&lt;br /&gt;
&lt;br /&gt;
Quando se trata de comportamentos oscilatórios, o modelo mais comumente utilizado é o do sistema massa-mola. Por outro lado, para descrever comportamentos ondulatórios unidimensionais, o modelo simples mais difundido é o da corda vibrante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consideremos uma corda esticada, como a corda de um violão, por exemplo. Suponhamos que esta corda tenha um comprimento &amp;lt;math&amp;gt; L &amp;lt;/math&amp;gt; e que suas extremidades estejam fixas nos pontos &amp;lt;math&amp;gt; x = 0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; x = L &amp;lt;/math&amp;gt;. Além disso, vamos supor que a corda tenha uma densidade linear uniforme representada por &amp;lt;math&amp;gt; \mu = \frac{dm}{dx} &amp;lt;/math&amp;gt;, e que esteja sob uma tensão constante &amp;lt;math&amp;gt; T &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Assumindo que a corda realize vibrações transversais apenas na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt; (embora possa ter vibrações transversais na direção &amp;lt;math&amp;gt; z &amp;lt;/math&amp;gt;, as quais vamos ignorar aqui), podemos representar a configuração da corda em qualquer instante de tempo no plano &amp;lt;math&amp;gt; xy &amp;lt;/math&amp;gt; por uma função &amp;lt;math&amp;gt; y(x,t) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vamos considerar mais algumas suposições:&lt;br /&gt;
&lt;br /&gt;
I) A tensão &amp;lt;math&amp;gt; T &amp;lt;/math&amp;gt; que estica a corda é tão alta que podemos negligenciar a força gravitacional sobre ela;&lt;br /&gt;
&lt;br /&gt;
II) A corda é perfeitamente elástica, ou seja, não oferece resistência a dobras;&lt;br /&gt;
&lt;br /&gt;
III) Os deslocamentos da corda, que ocorrem apenas na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt;, são de pequena amplitude.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com essas suposições em mente, estamos prontos para abordar o problema da corda vibrante. Em qualquer instante de tempo, um segmento arbitrário da corda estará na posição geral indicada pela figura abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:posicao_generica.png|400px|thumb|center|Posição genérica de um pedaço qualquer da corda]]&lt;br /&gt;
&lt;br /&gt;
A massa do pequeno segmento de corda de comprimento &amp;lt;math&amp;gt; \Delta{x} &amp;lt;/math&amp;gt; é&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\Delta{m} = \mu \Delta{x}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As componentes horizontal e vertical da força resultante atuando sobre esse segmento são:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_x = T \cos{(\theta + \Delta{\theta})} - T \cos{(\theta)}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
e&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_y = T \sin{(\theta + \Delta{\theta})} - T \sin{(\theta)}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Estamos assumindo que a corda não se move na direção &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; (apenas na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt;). Isso implica que a força resultante na direção &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; é nula (&amp;lt;math&amp;gt; F_x = 0 &amp;lt;/math&amp;gt;). Substituindo essa condição na equação, obtemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\cos{(\theta + \Delta{\theta})} = \cos{(\theta)}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E a força resultante na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; F_y &amp;lt;/math&amp;gt;, é dada de acordo com a segunda lei de Newton:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_y = (\mu \Delta{x})a_y = (\mu \Delta{x}) \frac{\partial^2{y}}{\partial{t^2}},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
então:&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
T \sin{(\theta + \Delta{\theta})} - T \sin{(\theta)} = (\mu \Delta{x}) \frac{\partial^2{y}}{\partial{t^2}},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
ou&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\sin{(\theta + \Delta{\theta})} - \sin{(\theta)} = \Delta{x} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos prosseguir dividindo os dois lados da equação acima pelo termo &amp;lt;math&amp;gt; \cos{(\theta)} &amp;lt;/math&amp;gt;, sabendo que &amp;lt;math&amp;gt; \cos{(\theta)} = \cos{(\theta + \Delta{\theta})} &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\sin{(\theta + \Delta{\theta})}}{\cos{(\theta + \Delta{\theta})}} - \frac{\sin{(\theta)}}{\cos{(\theta)}} = \frac{\Delta{x}}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}} \to \tan{(\theta + \Delta{\theta})} - \tan{(\theta)} = \frac{\Delta{x}}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando que o coeficiente angular da reta tangente a uma função em um dado ponto do seu domínio é igual à derivada da função nesse ponto, temos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial{y}}{\partial{x}} (x + \Delta{x}, t) - \frac{\partial{y}}{\partial{x}} (x, t) = \frac{\Delta{x}}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dividindo ambos os lados por &amp;lt;math&amp;gt; \Delta{x} &amp;lt;/math&amp;gt;, teremos do lado esquerdo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\frac{\partial{y}}{\partial{x}} (x + \Delta{x}, t) - \frac{\partial{y}}{\partial{x}} (x, t)}{\Delta{x}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e no limite que &amp;lt;math&amp;gt; \Delta{x} \to 0 &amp;lt;/math&amp;gt;, a expressão se torna uma derivada parcial segunda &amp;lt;math&amp;gt; \frac{\partial^2{y}}{\partial{x^2}} &amp;lt;/math&amp;gt;, nos permitindo reescrever a equação como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2{y}}{\partial{x^2}} (x, t) = \frac{1}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}} (x, t).&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E, como última manipulação, vamos supor agora que os deslocamentos da corda são pequenos, o que implica que os ângulos associados a esses deslocamentos também são pequenos: &amp;lt;math&amp;gt; \theta &amp;lt;&amp;lt; 1 &amp;lt;/math&amp;gt;. Com essa condição, &amp;lt;math&amp;gt; \cos{(\theta)} \approx 1 &amp;lt;/math&amp;gt; e chegamos em:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2{y}}{\partial{x^2}} (x, t) = \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}} (x, t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde o termo &amp;lt;math&amp;gt; \frac{\mu}{T} &amp;lt;/math&amp;gt; tem dimensão de &amp;lt;math&amp;gt; \frac{1}{c^2} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; c &amp;lt;/math&amp;gt; é a velocidade de propagação de ondas na corda esticada:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2{y}}{\partial{x^2}} (x, t) = \frac{1}{c^2} \frac{\partial^2{y}}{\partial{t^2}} (x, t) \Leftrightarrow \frac{\partial^2{y}}{\partial{t^2}} (x, t) = &lt;br /&gt;
c^2 \frac{\partial^2{y}}{\partial{x^2}} (x, t).&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Chegando a conlusão de que essa é a expressão para a corda vibrante e que a velocidade de propagação aumenta com a tensão na corda e diminui com a sua inércia (massa por unidade de comprimento).&lt;br /&gt;
&lt;br /&gt;
== Método FTCS ==&lt;br /&gt;
&lt;br /&gt;
O método FTCS (Forward Time Central Space) é uma abordagem progressiva no tempo e centrada no espaço. Em outras palavras, ao lidarmos com uma função de duas variáveis, buscamos uma solução futura em termos do tempo, centrada em uma vizinhança espacial. Para a resolução numérica da equação diferencial unidimensional da onda, optamos por trabalhar exclusivamente com o método explícito.&lt;br /&gt;
&lt;br /&gt;
=== Corda Ideal ===&lt;br /&gt;
&lt;br /&gt;
==== Método Explícito ====&lt;br /&gt;
&lt;br /&gt;
Para aplicar o método, é necessário inicialmente discretizar tanto as variáveis espaciais quanto as variáveis temporais. Seja a função &amp;lt;math&amp;gt; y(t,x): \mathbb{R}^{2} \mapsto \mathbb{R} &amp;lt;/math&amp;gt;, sejam os intervalos &amp;lt;math&amp;gt; \left [ 0,X \right ], \left [ 0,T \right ]\subset \mathbb{R} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; N,M\in \mathbb{N} &amp;lt;/math&amp;gt;, discretizamos os intervalos em espaçamentos iguais &amp;lt;math&amp;gt; \Delta x = X/N &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; \Delta t = T/M &amp;lt;/math&amp;gt; de tal maneira que obtemos as sequências crescentes monótonas &amp;lt;math&amp;gt;\left \{ x_{i} \right \}_{i=0}^{N} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\left \{ t_{i} \right \}_{j=0}^{M} &amp;lt;/math&amp;gt; . Assim obtemos uma grade de malhas de pontos &amp;lt;math&amp;gt; (t_{i}, x_{i}) &amp;lt;/math&amp;gt; onde a função &amp;lt;math&amp;gt; y(t,x) &amp;lt;/math&amp;gt; tem seus valores aproximados por &amp;lt;math&amp;gt; y(t_{i}, x_{i}) &amp;lt;/math&amp;gt; denotado &amp;lt;math&amp;gt; y_{j}^{n} &amp;lt;/math&amp;gt;. Uma abordagem comum envolve a discretização da primeira derivada no tempo utilizando uma diferença finita progressiva baseada na expansão em séries de Taylor até a primeira ordem :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial y}{\partial t} \approx \frac{y(t+\Delta t, x) - y(t, x)}{\Delta t} = \frac{y_{j}^{n+1} - y_{j}^{n}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Discretizando a derivada temporal segunda utilizando um diferença finita regressiva :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} \approx  \frac{\partial}{\partial t} \left(\frac{y_{j}^{n+1} - y_{j}^{n}}{\Delta t}\right) \approx \frac{1}{\Delta t}\left [\frac{y\left (t+\Delta t, x  \right ) - y\left (\left (t + \Delta t  \right )- \Delta t, x  \right )}{\Delta t} - \frac{y\left (t,x  \right ) - y\left (t - \Delta t, x  \right )}{\Delta t } \right ] = \frac{y\left (t + \Delta t, x  \right ) + y\left (t - \Delta t, x  \right ) - 2y\left (t, x  \right )}{(\Delta t)^{2}} = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que o processo retorna uma derivada de diferenças finitas centrada, além disso obtemos um aproximação de segunda ordem. O mecanismo de discretização das derivadas espaciais é completamente análogo, a derivada segunda centrada :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^{2} y}{\partial x^{2}} \approx \frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aplicando as expressões das diferenciais na equação da onda :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} = c^{2} \frac{\partial^2 y}{\partial x^2} \mapsto \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} = c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
defina &amp;lt;math&amp;gt; a := c\Delta t / \Delta x &amp;lt;/math&amp;gt; e explicite a variável no estado temporal futuro, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_{j}^{n+1} = 2\left(1 - a^{2}\right)y_{j}^{n} - y_{j}^{n-1} + a^{2}\left ( y_{j+1}^{n} + y_{j-1}^{n}\right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
uma equação explicita no tempo &amp;lt;math&amp;gt; n+1 &amp;lt;/math&amp;gt; dependendo somente de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; n-1 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Estabilidade ====&lt;br /&gt;
&lt;br /&gt;
Para analisar a estabilidade da solução numérica para a equação da onda, utilizaremos o método de Von Neumann. O procedimento consiste em utilizar a transformada de Fourier para determinar a estabilidade do esquema, a solução problema tem a forma : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_{j}^{n+1}(\xi) = A(\xi \Delta x, \Delta x, \Delta t) y_{j}^{n}(\xi)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; \xi \in \left [ -\pi / \Delta x, \pi / \Delta x \right ] &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; é o fator de amplificação, observe que podemos estudar a estabilidade da aproximação somente analisando o fator de amplificação. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Teorema&#039;&#039;&#039; : Se o fator de amplificação não depender de &amp;lt;math&amp;gt; \Delta x &amp;lt;/math&amp;gt; nem &amp;lt;math&amp;gt; \Delta t &amp;lt;/math&amp;gt;, então a aproximação é estável se &amp;lt;math&amp;gt; \left | A(\xi \Delta x) \right | \leq 1 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Vejamos a estabilidade da aproximação de diferenças finitas para a equação da onda, utilizando as componentes de Fourier &amp;lt;math &amp;gt;y_{j}^{n} \mapsto B^{n}e^{ikj\Delta x} &amp;lt;/math&amp;gt;, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
B^{n+1}e^{ikj\Delta x} = 2\left ( 1-a^{2} \right )B^{n}e^{ikj\Delta x} - B^{n-1}e^{ikj\Delta x} + a^{2}\left ( B^{n}e^{ik(j+1)\Delta x} + B^{n}e^{ik(j-1)\Delta x} \right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
simplificando os termos em comum :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
B^{n+1} + B^{n-1}  = B^{n} \left [ 2\left ( 1-a^{2} \right ) + a^{2}\left (e^{ik\Delta x} + e^{-ik\Delta x}\right )\right ]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que &amp;lt;math&amp;gt; e^{ik\Delta x} - e^{-ik\Delta x} = 2cos(k\Delta x) &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{B^{n+1} + B^{n-1}}{B^{n}} = 2\left ( 1-a^{2} \right ) + 2a^{2}cos(k\Delta x)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
utilizando a identidade trigonométrica &amp;lt;math&amp;gt; cos(\theta) = cos^{2}(\theta /2) - sen^{2}(\theta /2) &amp;lt;/math&amp;gt; e a identidade trigonométrica fundamental &amp;lt;math&amp;gt; 1 = cos^{2}(\theta) + sen^{2}(\theta) &amp;lt;/math&amp;gt;, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A + \frac{1}{A} = -2\left [ 2a^{2}sen^{2}\left ( \frac{k\Delta x}{2} \right ) -1 \right ]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; A = B^{n+1}/B^{n} &amp;lt;/math&amp;gt; &amp;lt;ref name=&amp;quot;fator_ampl&amp;quot;/&amp;gt; é o fator de amplificação. Defina &amp;lt;math&amp;gt; d :=  2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 &amp;lt;/math&amp;gt;. Portanto obtemos a equação quadrática com soluções :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A^{2} + 2dA + 1 = 0 \Rightarrow A_{1,2} = -d \pm \sqrt{d^{2}-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
se &amp;lt;math&amp;gt; \left | d \right | &amp;gt; 1 &amp;lt;/math&amp;gt;, então : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
-1&amp;gt;d&amp;gt;1 \Rightarrow -1 &amp;gt; 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 &amp;gt; 1  \Rightarrow 0 &amp;gt; 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) &amp;gt; 2 \Rightarrow 0 &amp;gt; \left( asen\left (k\Delta x / 2 \right ) \right)^{2} &amp;gt; 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
o que é um aburdo, pois &amp;lt;math&amp;gt; asen\left (k\Delta x / 2 \right )\in \mathbb{R} &amp;lt;/math&amp;gt;. Se &amp;lt;math&amp;gt; \left | d \right | \leq  1 &amp;lt;/math&amp;gt; , então : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
-1\leq d \leq 1 \Rightarrow -1 \leq 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 \leq 1  \Rightarrow 0 \leq 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) \leq 2 \Rightarrow 0 \leq \left( asen\left (k\Delta x / 2 \right ) \right)^{2} \leq 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que &amp;lt;math&amp;gt; sen\left (k\Delta x / 2 \right ) \leq 1 &amp;lt;/math&amp;gt;, logo &amp;lt;math&amp;gt; a \leq 1 &amp;lt;/math&amp;gt;. Portanto para o método ser condicionalmente estável : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\frac{c \Delta t}{ \Delta x} \leq 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Embora &amp;lt;math&amp;gt; a \leq 1 &amp;lt;/math&amp;gt; garante a estabilidade do processo, &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt; é a melhor escolha possível para a estabilidade do método, pelos seguintes motivos :&lt;br /&gt;
* Quando &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt;, os termos de ordem superior que são descartados na discretização da equação da onda são amplamente cancelados. Essa compensação implica que o método numérico se torna mais estável e menos suscetível a erros numéricos significativos, ou seja, não ocorrerão variações abruptas devido aos termos de ordem maiores;&lt;br /&gt;
* Quando &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt;, a perturbação na corda se propaga exatamente um passo espacial a cada passo de tempo. Esse comportamento assegura que a velocidade da perturbação seja adequadamente representada pelo algoritmo numérico. Isso ocorre devido a relação entre a velocidade física da corda &amp;lt;math&amp;gt; c &amp;lt;/math&amp;gt; e a velocidade da perturbação &amp;lt;math&amp;gt; v = \Delta x / \Delta t &amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\frac{c \Delta t}{ \Delta x} = \frac{c}{v} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observe que além de obtermos o intervalo de estabilidade &amp;lt;math&amp;gt; a\in\left [ 0, 1 \right ] &amp;lt;/math&amp;gt;, também obtemos uma restrição na discretização das malhas temporais e espaciais, limitando assim &amp;lt;math&amp;gt; N,M\in \mathbb{N} &amp;lt;/math&amp;gt; a um subconjunto que satisfaça a condição de estabilidade.&lt;br /&gt;
&lt;br /&gt;
=== Corda Não Ideal ===&lt;br /&gt;
&lt;br /&gt;
==== Método Explícito ====&lt;br /&gt;
Optaremos novamente por realizar a análise utilizando um método explícito. Em geral, o desenvolvimento teórico para a discretização da equação diferencial da onda com amortecimento e rigidez é análogo ao caso ideal, portanto, não serão apresentados com detalhes os cálculos necessários para a implementação do método. A derivada quarta centrada é aproximada utilizando diferenças finitas :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^4 y}{\partial x^4} \approx \frac{y_{j+2}^{n} + y_{j+1}^{n} + y_{j}^{n} + y_{j-1}^{n} + y_{j-2}^{n}}{\left ( \Delta x \right )^{4}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
transformando a EDP não homogênea para um espaço discretizado usando a aproximação de diferenças finitas centrada : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} = c^{2}\left ( \frac{\partial^2 y}{\partial x^2} - \epsilon L^{2}\frac{\partial^4 y}{\partial x^4} \right ) - b\frac{\partial y}{\partial t} \mapsto  y_{j}^{n+1} = \left [ \left (2 - 2a^{2} - 6\epsilon a^{2}E^{2} - F \right )y_{j}^{n} - y_{j}^{n-1} + a^{2}\left ( 1 + 4\epsilon E^{2} \right ) \left ( y_{j+1}^{n} + y_{j-1}^{n} \right ) - \epsilon a^{2}E^{2} \left ( y_{j+2}^{n} + y_{j-2}^{n} \right ) \right ]\left (\frac{1}{1-F} \right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; E := L/ \Delta x &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; F := b/ \Delta t &amp;lt;/math&amp;gt;. Novamente obtemos um equação explicita no tempo &amp;lt;math&amp;gt; n+1 &amp;lt;/math&amp;gt; que depende somente de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; n-1 &amp;lt;/math&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
==== Estabilidade ====&lt;br /&gt;
&lt;br /&gt;
A abordagem que empregamos para demonstrar a estabilidade da equação da onda não homogênea é completamente análoga ao caso homogêneo. Em outras palavras, utilizamos o método de Von Neumann em conjunto com o teorema da estabilidade. Ao aplicar novamente as componentes de Fourier, representadas por &amp;lt;math &amp;gt;y_{j}^{n} \mapsto B^{n}e^{ikj\Delta x} &amp;lt;/math&amp;gt;, obtemos uma equação quadrática que impõe a seguinte restrição:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
a = \frac{c \Delta t}{ \Delta x} \leq \frac{1}{4}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
logo, o método é condicionalmente estável no intervalo &amp;lt;math&amp;gt; a\in\left [ 0, 1/4 \right ] &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Convergência ===&lt;br /&gt;
&lt;br /&gt;
Até este ponto, ainda não discutimos o quão bem o esquema de diferenças finitas descreve a solução da equação diferencial. Vamos abordar isso agora. A propriedade mais essencial que um esquema deve possuir é que, à medida que os espaçamentos na malha discreta diminuem, a aproximação para a solução deve se aproximar da solução real do sistema. Portanto, um esquema é considerado uma boa aproximação se &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left ( \Delta t, \Delta x \right ) \rightarrow 0 \Rightarrow \left | y \left ( t_{n}, x_{j}\right )  - y_{j}^{n}  \right |\rightarrow 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; y \left ( t_{n}, x_{j}\right ) &amp;lt;/math&amp;gt; é a solução exata e &amp;lt;math&amp;gt; y_{j}^{n} &amp;lt;/math&amp;gt; a solução aproximada. Se tais condições são satisfeitas, dizemos que o esquema de equações diferenciais finitas é convergente. Entretanto, geralmente, provar a convergência não é uma tarefa trivial. No entanto, podemos demonstrá-la de maneira indireta, utilizando estabilidade e consistência. Se um esquema é estável e consistente, então a convergência do esquema é garantida. Dada uma equação diferencial &amp;lt;math&amp;gt; Dy = f &amp;lt;/math&amp;gt;, dizemos que o esquema de diferenças finitas &amp;lt;math&amp;gt; D_{\Delta t \Delta x}y = f &amp;lt;/math&amp;gt; é consistente com a equação diferencial se, para qualquer função suficientemente diferenciável &amp;lt;math&amp;gt; \phi(t, x) &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left ( \Delta t, \Delta x \right ) \rightarrow 0 \Rightarrow  D \phi  - D_{\Delta t \Delta x} \phi  \rightarrow 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostremos a consistência da aproximação de diferenças finitas para a equação da onda homogênea. Seja a EDP da onda &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
Dy\left ( t, x \right ) = \frac{\partial^2 y}{\partial t^2} - c^{2}\frac{\partial^2 y}{\partial x^2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e seja a equação de diferenças finitas &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
D_{\left (\Delta t \Delta x  \right )}y\left ( t, x \right ) = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} - c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pela aproximação que demonstramos anteriormente, temos : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
&amp;amp;\frac{\partial^2 y}{\partial t^2} - c^{2}\frac{\partial^2 y}{\partial x^2} = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} + O\left ( \Delta t^{2} \right )- c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}} + O\left ( \Delta x^{2} \right ) \\&lt;br /&gt;
&amp;amp;\frac{\partial^2 y}{\partial t^2} - c^{2}\frac{\partial^2 y}{\partial x^2} - \left (\frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} - c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}  \right ) = O\left ( \Delta t^{2} \right ) + O\left ( \Delta x^{2} \right ) \\&lt;br /&gt;
&amp;amp;Dy\left ( t, x \right ) - D_{\left (\Delta t \Delta x  \right )}y\left ( t, x \right ) = O\left ( \Delta t^{2} \right ) + O\left ( \Delta x^{2} \right )&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
como estamos supondo que os termos de ordem 2 são desprezíveis, &amp;lt;math&amp;gt; O\left ( \Delta t^{2} \right ) \rightarrow 0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; O\left ( \Delta x^{2} \right ) \rightarrow 0 &amp;lt;/math&amp;gt;. Logo : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
Dy\left ( t, x \right ) - D_{\left (\Delta t \Delta x  \right )}y\left ( t, x \right ) \rightarrow 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
portanto o esquema de diferenças finitas é consistente. Como na seção anterior já havíamos provado a estabilidade condicional do método, podemos concluir que o esquema é condicionalmente convergente (é consistente e condicionalmente estável) e portanto representa uma boa aproximação para a solução exata da equação diferencial.&lt;br /&gt;
&lt;br /&gt;
== Análise espectral ==&lt;br /&gt;
Uma possível forma para quantitativamente analisar o som gerado por uma corda vibrante é estudar as frequências que compõem o seu movimento, técnica essa chamada de análise espectral. Antes de prosseguirmos vamos recapitular alguns resultados da álgebra linear&lt;br /&gt;
&lt;br /&gt;
=== Supremacia da álgebra linear ===&lt;br /&gt;
O seguinte conjunto &amp;lt;math&amp;gt; \mathbb{R}^{\mathbb{R}} = \{ f~|~f: \mathbb{R} \to \mathbb{R} \} &amp;lt;/math&amp;gt; é o espaço de funções reais de uma variável. Esse conjunto é um espaço vetorial, logo podemos utilizar toda a artilharia da álgebra linear, em especial, estamos interessados no sub-espaço gerado pela base &amp;lt;math&amp;gt; B = \{sen(\omega t) / \sqrt{\pi}, cos(\omega t) / \sqrt{\pi} \}_{\omega \in \mathbb{R^+}} &amp;lt;/math&amp;gt; &amp;lt;ref name=&amp;quot;norm_const&amp;quot;/&amp;gt;, pois elementos de &amp;lt;math&amp;gt; B &amp;lt;/math&amp;gt;, interpretados como sinais sonoros, representam um frequência pura de valor &amp;lt;math&amp;gt;f=\omega/(2\pi)&amp;lt;/math&amp;gt;. Dessa forma, um sinal arbitrário &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; pode ser escrito em termos das frequências puras que o formam&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 s(t) = \frac{1}{\sqrt{\pi}}\int_{0}^{\infty}[a(\omega)cos(\omega t) + b(\omega)sen(\omega t]d\omega&lt;br /&gt;
&amp;lt;/math&amp;gt;  &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E podemos extrair suas coordenadas (conhecidas como transformada de Fourier do sinal) (&amp;lt;math&amp;gt;a(\omega)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;b(\omega)&amp;lt;/math&amp;gt;), fazendo o produto escalar com os elementos da base&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
a(\omega) &amp;amp;= \int_{-\infty}^{\infty}s(t)\frac{1}{\sqrt{\pi}}cos(\omega t)dt \\&lt;br /&gt;
b(\omega) &amp;amp;= \int_{-\infty}^{\infty}s(t)\frac{1}{\sqrt{\pi}}sen(\omega t)dt&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Se o domínio de &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; é limitado, digamos &amp;lt;math&amp;gt;t \in [0, T]&amp;lt;/math&amp;gt;, então uma base infinita com cardinalidade enumerável (em contraste com a base anterior, que possui cardinalidade não enumerável) é suficiente para representar &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt;, uma possível base ortonormal é a seguinte: &amp;lt;math&amp;gt;\bigg\{ \sqrt{\frac{1}{T}}, \sqrt{\frac{2}{T}}sen(\omega_n t), \sqrt{\frac{2}{T}}cos(\omega_n t) \bigg\}_{n \in \mathbb{N^*}}&amp;lt;/math&amp;gt;, em que &amp;lt;math&amp;gt; \omega_n = \frac{n\pi}{T} &amp;lt;/math&amp;gt;. Dessa forma, a representação e coordenadas de &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; ficam&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
s(t) &amp;amp;= a_0\sqrt{\frac{1}{T}} + \sqrt{\frac{2}{T}}\sum_{n=1}^{\infty}\bigg[a_n cos(\omega_n t) + b_n sen(\omega_n) \bigg] \\&lt;br /&gt;
a_0 &amp;amp;= \int_0^T s(t) \sqrt{\frac{1}{T}}dt \\&lt;br /&gt;
a_n &amp;amp;= \int_0^T s(t) \sqrt{\frac{2}{T}}cos(\omega_n t)dt \\&lt;br /&gt;
b_n &amp;amp;= \int_0^T s(t) \sqrt{\frac{2}{T}}sen(\omega_n t)dt \\&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É impossível falar sobre bases enumeráveis de um sub-espaço de &amp;lt;math&amp;gt; \mathbb{R}^{\mathbb{R}} &amp;lt;/math&amp;gt; sem representar esse canhão matemático com uma animação. Abaixo segue uma visualização que calcula as primeiras &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; coordenadas (&amp;lt;math&amp;gt;a_0,\dots,a_N&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;b_1,\dots,b_N&amp;lt;/math&amp;gt;) de um sinal qualquer e sobrepõem a série obtida, incrementando &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; até as duas curvas serem indistinguíveis a olho nu. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie_fourier_ana_julia.gif|frame|center|Animação de uma série de fourier. É interessante notar que a série converge muito bem com apenas uma dúzia de frequências.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Potência espectral ===&lt;br /&gt;
Adiante vamos ver que o sinal sonoro provém da vibração de um ponto específico da mesma, digamos em &amp;lt;math&amp;gt;x=x_o&amp;lt;/math&amp;gt;, então a função que representa esse sinal é &amp;lt;math&amp;gt;y(x_o, t)&amp;lt;/math&amp;gt;. Como estamos interessados nas frequências que compõem o sinal, será calculado a transformada de fourier de &amp;lt;math&amp;gt;y(x_o, t)&amp;lt;/math&amp;gt; e definido que a potência da frequência &amp;lt;math&amp;gt;f = \omega/(2\pi)&amp;lt;/math&amp;gt; é &amp;lt;math&amp;gt;a_\omega^2 + b_\omega^2&amp;lt;/math&amp;gt;. A potência em função da frequência é o resultado da análise espectral.&lt;br /&gt;
&lt;br /&gt;
== Simulando uma corda de violão ==&lt;br /&gt;
Uma corda de violão geralmente é excitada por uma pancada dada por uma palheta ou pelo próprio dedo/unha do violonista. Essa pancada define uma condição inicial para a equação de onda. Uma suposição razoável da condição gerada é a seguinte&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\begin{aligned}&lt;br /&gt;
y(x, t=0) &amp;amp;= \begin{cases}  &lt;br /&gt;
\frac{h}{x_0}x &amp;amp;, ~ 0 \leq x \leq x_0\\&lt;br /&gt;
\frac{h}{L-x_0}(-x + L) &amp;amp;, ~ x_0 \leq x \leq L\\&lt;br /&gt;
\end{cases} \\&lt;br /&gt;
\frac{\partial}{\partial t} y(x, t=0) &amp;amp;= 0&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
supondo que a corda possui comprimento &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; e a pancado ocorreu em &amp;lt;math&amp;gt;x_o&amp;lt;/math&amp;gt;, causando uma deslocamento máximo &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt;. A imagem a seguir ilustra o estado da corda logo após a excitação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Init_cond_ana_julia.png|thumb|upright=2|center|Condição inicial de uma corda de violão.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dado essa condição inicial, podemos evoluir temporalmente o estado da corda utilizando a equação da onda, mantendo as bordas fixas (&amp;lt;math&amp;gt;y(x=0, t) = y(x=L, t) = 0&amp;lt;/math&amp;gt;), mas como extrair som dessa simulação? Para responder essa pergunta precisamos saber como um violão gera som. Ao contrário do que inicialmente pareça, as ondas sonoras não são diretamente geradas pela vibração das cordas, mas sim da caixa do violão, que está diretamente conectada com as cordas em uma peça chamada ponte. A vibração das cordas gera uma força dependente do tempo que atua na caixa através da ponte, assim vibrando a caixa e gerando o som que escutamos. Portanto, para gerar som de forma realista, precisaríamos fisicamente simular a caixa, levando em consideração a sua geometria e as propriedades física do seu material, e então determinar as ondas de pressão que seriam geradas por essa vibração, o que está fora do escopo do presente trabalho. Felizmente, as seguintes simplificações vão nos permitir calcular as ondas de pressão:&lt;br /&gt;
&lt;br /&gt;
* A força que a ponte exerce na caixa é aproximadamente proporcional a sua velocidade (Dinâmica aristotélica).&lt;br /&gt;
* A onda de pressão produzida pela caixa é aproximadamente proporcional a sua velocidade.&lt;br /&gt;
&lt;br /&gt;
A força que a ponte exercer na caixa (&amp;lt;math&amp;gt;F(t)&amp;lt;/math&amp;gt;) é a força que a corda exerce na ponte (pois a ponte está firmemente conectada na caixa), e essa força é proporcional a inclinação da corda, ou seja&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F(t) = T \frac{\partial}{\partial x}y(x=0, t) \approx T\frac{y(\Delta x, t) - \overbrace{y(0, t)}^{0}}{\Delta x} = \frac{T}{\Delta x} y(\Delta x, t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a tensão na corda. Portando, o sinal da onda de pressão pode ser aproximado como o deslocamento de um ponto da corda próximo a ponte. Para gerar som com esse sinal, o tipo de arquivo [https://en.wikipedia.org/wiki/WAV#:~:text=Waveform%20Audio%20File%20Format%20(WAVE,1991%20by%20IBM%20and%20Microsoft. WAV]] é utilizado, pois o seu dado de entrada pode ser justante o sinal da onda de pressão.&lt;br /&gt;
&lt;br /&gt;
Agora tudo está pronto para fazermos uma simulação, vamos tentar reproduzir a nota lá (&amp;lt;math&amp;gt;f = 440~Hz&amp;lt;/math&amp;gt;). Primeiro precisamos descobrir qual deve ser a velocidade de propagação das ondas (&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;) para gerar a nota em questão. Resolvendo a equação da onda ideal, obtemos que as possíveis frequência que existem na solução são &amp;lt;math&amp;gt;f_n = \frac{nc}{2L} &amp;lt;/math&amp;gt;, então não é possível fazer a corda vibrar apenas com uma frequência, mas quando músicos se referem a uma nota, eles realmente estão se referindo a &amp;lt;math&amp;gt;f_1&amp;lt;/math&amp;gt;, a primeira frequência que compõem o sinal, então&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; f_1 = \frac{c}{2L} = 440~Hz \Rightarrow c = L \cdot 880~Hz&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assumindo &amp;lt;math&amp;gt;L=1~m&amp;lt;/math&amp;gt;, temos que &amp;lt;math&amp;gt;c = 880~m/s&amp;lt;/math&amp;gt;. Resolvendo a equação da onda realista pelo método FTCS com os seguinte parâmetros&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Parâmetros da condição inicial&lt;br /&gt;
|-&lt;br /&gt;
! Parâmetros !! Valor&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;x_o&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;0,5~L&amp;lt;/math&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| h || 1 cm &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Parâmetros da integração&lt;br /&gt;
|-&lt;br /&gt;
! Parâmetros !! Valor&lt;br /&gt;
|-&lt;br /&gt;
| k || 1/4 &lt;br /&gt;
|-&lt;br /&gt;
| c || 880 m/s &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt; || 0,01 m&lt;br /&gt;
|-&lt;br /&gt;
| L || 1 m &lt;br /&gt;
|-&lt;br /&gt;
| b || 5 &amp;lt;math&amp;gt;s^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
obtemos o seguinte resultado&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Corda_vibrando_ana_julia.gif|frame|center|Solução da equação de onda ideal e realista.]]&lt;br /&gt;
&lt;br /&gt;
Na animação acima, por questão de comparação, também foi coloca a solução de uma simulação com os mesmos parâmetros, apenas com a modificação &amp;lt;math&amp;gt;b=\epsilon=0&amp;lt;/math&amp;gt;, que seria o caso ideal (sem amortecimento e rigidez).&lt;br /&gt;
 &lt;br /&gt;
Realizando a análise espectral do deslocamento de um ponto próximo de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, obtemos o seguinte gráfico&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_ana_julia.png |thumb|upright=2|center|Espectro do deslocamento de um ponto próximo de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As linhas verticais pretas e tracejadas representam as possíveis frequências da solução do caso ideal, ou seja, a primeira linha está em &amp;lt;math&amp;gt;f = 440 Hz &amp;lt;/math&amp;gt; como era de se esperar, mas é notável que a segunda e quarta linhas possuem uma potência praticamente nula, isso ocorre porque a excitação inicial foi exatamente no meio, e as frequência correspondentes a essas linhas provém de ondas estacionário que possum um nodo em &amp;lt;math&amp;gt;x=L/2&amp;lt;/math&amp;gt;, logo elas não foram excitadas pela condição inicial. Mudando o ponto de excitação inicial, podemos ver essas frequências aparecendo, rodando a simulação novamente, mas com &amp;lt;math&amp;gt;x_o = 0,2~L&amp;lt;/math&amp;gt;, obtemos o seguinte espectro&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_bridge_ana_julia.png |thumb|upright=2|center|Espectro para excitação inicial em &amp;lt;math&amp;gt;x_0 = 0,2~L&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos observar a influência da rigidez rodando a simulação com &amp;lt;math&amp;gt;\epsilon=10^{-8}&amp;lt;/math&amp;gt; (10 vezes maior do que o valor anterior) e olhar o espectro produzido&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_high_stiff_ana_julia.png |thumb|upright=2|center|Espectro para &amp;lt;math&amp;gt;\epsilon=10^{-8}&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O efeito mais notável é o deslocamento para esquerda das frequência em relação as frequências que compõem o sinal no caso ideal.&lt;br /&gt;
&lt;br /&gt;
Por fim, conforme descrito anteriormente, podemos gerar som com as dados da simulação, mas infelizmente essa wiki não nos permite upar arquivos de áudio. No entanto, áudio das simulações discutidas aqui podem ser encontrados no repositório do projeto [https://github.com/marcos1561/ana-julia ana-julia] dentro da pasta &amp;quot;sound&amp;quot;. Em especial, o efeito de deslocamento de frequências causado pela rigidez é bastante evidente escutando os áudios.&lt;br /&gt;
&lt;br /&gt;
=== Bônus ===&lt;br /&gt;
Apenas por diversão, segue uma animação de um pacote gaussiano como condição inicial&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Gaussian_package_ana_julia.gif|frame|center|Animação da solução da equação da onda com um pacote gaussiano como condição inicial.]]&lt;br /&gt;
&lt;br /&gt;
== Notas ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;fator_ampl&amp;quot;&amp;gt; Perceba que não estamos operando expoentes, mas sim usando a relação entre os índices &amp;lt;math&amp;gt; B^{n-1}/B^{n} = B^{m}/B^{m+1} = A^{-1} &amp;lt;/math&amp;gt;.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;norm_const&amp;quot;&amp;gt;A constante &amp;lt;math&amp;gt; 1/\sqrt{\pi} &amp;lt;/math&amp;gt; está presente por questão de normalização. Esse caso pode parecer um pouco estranho, dado que não é possível normalizar os cossenos e senos, pois sua integral em todo a reta não é definida, mas o que se deseja é a seguinte propriedade &lt;br /&gt;
&amp;lt;math&amp;gt;\int_{\mathbb{R}}A_{\omega}cos(\omega t) \cdot A_{\omega&#039;}cos(\omega&#039; t)dt = \delta(\omega-\omega&#039;) &amp;lt;/math&amp;gt;&lt;br /&gt;
que é safisfeita quando &amp;lt;math&amp;gt; A_{\omega} = A_{\omega&#039;} =  1/\sqrt{\pi}, ~ \forall \omega,\omega&#039;&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Corda_Vibrante&amp;diff=10181</id>
		<title>Corda Vibrante</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Corda_Vibrante&amp;diff=10181"/>
		<updated>2024-04-23T02:43:13Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: /* Supremacia da álgebra linear */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== A equação da onda ==&lt;br /&gt;
No estudo das oscilações, é comum entre os físicos o emprego de modelos simples como representações &amp;quot;prototípicas&amp;quot; de certos padrões básicos observados na natureza. A eficácia desses modelos simples decorre de duas características fundamentais: a capacidade de serem compreendidos em detalhes minuciosos e a habilidade de reproduzir comportamentos semelhantes aos de situações reais e mais complexas, auxiliando na compreensão destas, pelo menos em termos qualitativos.&lt;br /&gt;
&lt;br /&gt;
Quando se trata de comportamentos oscilatórios, o modelo mais comumente utilizado é o do sistema massa-mola. Por outro lado, para descrever comportamentos ondulatórios unidimensionais, o modelo simples mais difundido é o da corda vibrante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consideremos uma corda esticada, como a corda de um violão, por exemplo. Suponhamos que esta corda tenha um comprimento &amp;lt;math&amp;gt; L &amp;lt;/math&amp;gt; e que suas extremidades estejam fixas nos pontos &amp;lt;math&amp;gt; x = 0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; x = L &amp;lt;/math&amp;gt;. Além disso, vamos supor que a corda tenha uma densidade linear uniforme representada por &amp;lt;math&amp;gt; \mu = \frac{dm}{dx} &amp;lt;/math&amp;gt;, e que esteja sob uma tensão constante &amp;lt;math&amp;gt; T &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Assumindo que a corda realize vibrações transversais apenas na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt; (embora possa ter vibrações transversais na direção &amp;lt;math&amp;gt; z &amp;lt;/math&amp;gt;, as quais vamos ignorar aqui), podemos representar a configuração da corda em qualquer instante de tempo no plano &amp;lt;math&amp;gt; xy &amp;lt;/math&amp;gt; por uma função &amp;lt;math&amp;gt; y(x,t) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vamos considerar mais algumas suposições:&lt;br /&gt;
&lt;br /&gt;
I) A tensão &amp;lt;math&amp;gt; T &amp;lt;/math&amp;gt; que estica a corda é tão alta que podemos negligenciar a força gravitacional sobre ela;&lt;br /&gt;
&lt;br /&gt;
II) A corda é perfeitamente elástica, ou seja, não oferece resistência a dobras;&lt;br /&gt;
&lt;br /&gt;
III) Os deslocamentos da corda, que ocorrem apenas na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt;, são de pequena amplitude.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com essas suposições em mente, estamos prontos para abordar o problema da corda vibrante. Em qualquer instante de tempo, um segmento arbitrário da corda estará na posição geral indicada pela figura abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:posicao_generica.png|400px|thumb|center|Posição genérica de um pedaço qualquer da corda]]&lt;br /&gt;
&lt;br /&gt;
A massa do pequeno segmento de corda de comprimento &amp;lt;math&amp;gt; \Delta{x} &amp;lt;/math&amp;gt; é&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\Delta{m} = \mu \Delta{x}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As componentes horizontal e vertical da força resultante atuando sobre esse segmento são:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_x = T \cos{(\theta + \Delta{\theta})} - T \cos{(\theta)}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
e&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_y = T \sin{(\theta + \Delta{\theta})} - T \sin{(\theta)}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Estamos assumindo que a corda não se move na direção &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; (apenas na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt;). Isso implica que a força resultante na direção &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; é nula (&amp;lt;math&amp;gt; F_x = 0 &amp;lt;/math&amp;gt;). Substituindo essa condição na equação, obtemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\cos{(\theta + \Delta{\theta})} = \cos{(\theta)}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E a força resultante na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; F_y &amp;lt;/math&amp;gt;, é dada de acordo com a segunda lei de Newton:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_y = (\mu \Delta{x})a_y = (\mu \Delta{x}) \frac{\partial^2{y}}{\partial{t^2}},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
então:&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
T \sin{(\theta + \Delta{\theta})} - T \sin{(\theta)} = (\mu \Delta{x}) \frac{\partial^2{y}}{\partial{t^2}},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
ou&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\sin{(\theta + \Delta{\theta})} - \sin{(\theta)} = \Delta{x} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos prosseguir dividindo os dois lados da equação acima pelo termo &amp;lt;math&amp;gt; \cos{(\theta)} &amp;lt;/math&amp;gt;, sabendo que &amp;lt;math&amp;gt; \cos{(\theta)} = \cos{(\theta + \Delta{\theta})} &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\sin{(\theta + \Delta{\theta})}}{\cos{(\theta + \Delta{\theta})}} - \frac{\sin{(\theta)}}{\cos{(\theta)}} = \frac{\Delta{x}}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}} \to \tan{(\theta + \Delta{\theta})} - \tan{(\theta)} = \frac{\Delta{x}}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando que o coeficiente angular da reta tangente a uma função em um dado ponto do seu domínio é igual à derivada da função nesse ponto, temos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial{y}}{\partial{x}} (x + \Delta{x}, t) - \frac{\partial{y}}{\partial{x}} (x, t) = \frac{\Delta{x}}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dividindo ambos os lados por &amp;lt;math&amp;gt; \Delta{x} &amp;lt;/math&amp;gt;, teremos do lado esquerdo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\frac{\partial{y}}{\partial{x}} (x + \Delta{x}, t) - \frac{\partial{y}}{\partial{x}} (x, t)}{\Delta{x}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e no limite que &amp;lt;math&amp;gt; \Delta{x} \to 0 &amp;lt;/math&amp;gt;, a expressão se torna uma derivada parcial segunda &amp;lt;math&amp;gt; \frac{\partial^2{y}}{\partial{x^2}} &amp;lt;/math&amp;gt;, nos permitindo reescrever a equação como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2{y}}{\partial{x^2}} (x, t) = \frac{1}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}} (x, t).&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E, como última manipulação, vamos supor agora que os deslocamentos da corda são pequenos, o que implica que os ângulos associados a esses deslocamentos também são pequenos: &amp;lt;math&amp;gt; \theta &amp;lt;&amp;lt; 1 &amp;lt;/math&amp;gt;. Com essa condição, &amp;lt;math&amp;gt; \cos{(\theta)} \approx 1 &amp;lt;/math&amp;gt; e chegamos em:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2{y}}{\partial{x^2}} (x, t) = \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}} (x, t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde o termo &amp;lt;math&amp;gt; \frac{\mu}{T} &amp;lt;/math&amp;gt; tem dimensão de &amp;lt;math&amp;gt; \frac{1}{c^2} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; c &amp;lt;/math&amp;gt; é a velocidade de propagação de ondas na corda esticada:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2{y}}{\partial{x^2}} (x, t) = \frac{1}{c^2} \frac{\partial^2{y}}{\partial{t^2}} (x, t) \Leftrightarrow \frac{\partial^2{y}}{\partial{t^2}} (x, t) = &lt;br /&gt;
c^2 \frac{\partial^2{y}}{\partial{x^2}} (x, t).&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Chegando a conlusão de que essa é a expressão para a corda vibrante e que a velocidade de propagação aumenta com a tensão na corda e diminui com a sua inércia (massa por unidade de comprimento).&lt;br /&gt;
&lt;br /&gt;
== Método FTCS ==&lt;br /&gt;
&lt;br /&gt;
O método FTCS (Forward Time Central Space) é uma abordagem progressiva no tempo e centrada no espaço. Em outras palavras, ao lidarmos com uma função de duas variáveis, buscamos uma solução futura em termos do tempo, centrada em uma vizinhança espacial. Para a resolução numérica da equação diferencial unidimensional da onda, optamos por trabalhar exclusivamente com o método explícito.&lt;br /&gt;
&lt;br /&gt;
=== Corda Ideal ===&lt;br /&gt;
&lt;br /&gt;
==== Método Explícito ====&lt;br /&gt;
&lt;br /&gt;
Para aplicar o método, é necessário inicialmente discretizar tanto as variáveis espaciais quanto as variáveis temporais. Seja a função &amp;lt;math&amp;gt; y(t,x): \mathbb{R}^{2} \mapsto \mathbb{R} &amp;lt;/math&amp;gt;, sejam os intervalos &amp;lt;math&amp;gt; \left [ 0,X \right ], \left [ 0,T \right ]\subset \mathbb{R} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; N,M\in \mathbb{N} &amp;lt;/math&amp;gt;, discretizamos os intervalos em espaçamentos iguais &amp;lt;math&amp;gt; \Delta x = X/N &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; \Delta t = T/M &amp;lt;/math&amp;gt; de tal maneira que obtemos as sequências crescentes monótonas &amp;lt;math&amp;gt;\left \{ x_{i} \right \}_{i=0}^{N} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\left \{ t_{i} \right \}_{j=0}^{M} &amp;lt;/math&amp;gt; . Assim obtemos uma grade de malhas de pontos &amp;lt;math&amp;gt; (t_{i}, x_{i}) &amp;lt;/math&amp;gt; onde a função &amp;lt;math&amp;gt; y(t,x) &amp;lt;/math&amp;gt; tem seus valores aproximados por &amp;lt;math&amp;gt; y(t_{i}, x_{i}) &amp;lt;/math&amp;gt; denotado &amp;lt;math&amp;gt; y_{j}^{n} &amp;lt;/math&amp;gt;. Uma abordagem comum envolve a discretização da primeira derivada no tempo utilizando uma diferença finita progressiva baseada na expansão em séries de Taylor até a primeira ordem :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial y}{\partial t} \approx \frac{y(t+\Delta t, x) - y(t, x)}{\Delta t} = \frac{y_{j}^{n+1} - y_{j}^{n}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Discretizando a derivada temporal segunda utilizando um diferença finita regressiva :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} \approx  \frac{\partial}{\partial t} \left(\frac{y_{j}^{n+1} - y_{j}^{n}}{\Delta t}\right) \approx \frac{1}{\Delta t}\left [\frac{y\left (t+\Delta t, x  \right ) - y\left (\left (t + \Delta t  \right )- \Delta t, x  \right )}{\Delta t} - \frac{y\left (t,x  \right ) - y\left (t - \Delta t, x  \right )}{\Delta t } \right ] = \frac{y\left (t + \Delta t, x  \right ) + y\left (t - \Delta t, x  \right ) - 2y\left (t, x  \right )}{(\Delta t)^{2}} = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que o processo retorna uma derivada de diferenças finitas centrada, além disso obtemos um aproximação de segunda ordem. O mecanismo de discretização das derivadas espaciais é completamente análogo, a derivada segunda centrada :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^{2} y}{\partial x^{2}} \approx \frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aplicando as expressões das diferenciais na equação da onda :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} = c^{2} \frac{\partial^2 y}{\partial x^2} \mapsto \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} = c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
defina &amp;lt;math&amp;gt; a := c\Delta t / \Delta x &amp;lt;/math&amp;gt; e explicite a variável no estado temporal futuro, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_{j}^{n+1} = 2\left(1 - a^{2}\right)y_{j}^{n} - y_{j}^{n-1} + a^{2}\left ( y_{j+1}^{n} + y_{j-1}^{n}\right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
uma equação explicita no tempo &amp;lt;math&amp;gt; n+1 &amp;lt;/math&amp;gt; dependendo somente de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; n-1 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Estabilidade ====&lt;br /&gt;
&lt;br /&gt;
Para analisar a estabilidade da solução numérica para a equação da onda, utilizaremos o método de Von Neumann. O procedimento consiste em utilizar a transformada de Fourier para determinar a estabilidade do esquema, a solução problema tem a forma : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_{j}^{n+1}(\xi) = A(\xi \Delta x, \Delta x, \Delta t) y_{j}^{n}(\xi)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; \xi \in \left [ -\pi / \Delta x, \pi / \Delta x \right ] &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; é o fator de amplificação, observe que podemos estudar a estabilidade da aproximação somente analisando o fator de amplificação. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Teorema&#039;&#039;&#039; : Se o fator de amplificação não depender de &amp;lt;math&amp;gt; \Delta x &amp;lt;/math&amp;gt; nem &amp;lt;math&amp;gt; \Delta t &amp;lt;/math&amp;gt;, então a aproximação é estável se &amp;lt;math&amp;gt; \left | A(\xi \Delta x) \right | \leq 1 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Vejamos a estabilidade da aproximação de diferenças finitas para a equação da onda, utilizando as componentes de Fourier &amp;lt;math &amp;gt;y_{j}^{n} \mapsto B^{n}e^{ikj\Delta x} &amp;lt;/math&amp;gt;, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
B^{n+1}e^{ikj\Delta x} = 2\left ( 1-a^{2} \right )B^{n}e^{ikj\Delta x} - B^{n-1}e^{ikj\Delta x} + a^{2}\left ( B^{n}e^{ik(j+1)\Delta x} + B^{n}e^{ik(j-1)\Delta x} \right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
simplificando os termos em comum :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
B^{n+1} + B^{n-1}  = B^{n} \left [ 2\left ( 1-a^{2} \right ) + a^{2}\left (e^{ik\Delta x} + e^{-ik\Delta x}\right )\right ]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que &amp;lt;math&amp;gt; e^{ik\Delta x} - e^{-ik\Delta x} = 2cos(k\Delta x) &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{B^{n+1} + B^{n-1}}{B^{n}} = 2\left ( 1-a^{2} \right ) + 2a^{2}cos(k\Delta x)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
utilizando a identidade trigonométrica &amp;lt;math&amp;gt; cos(\theta) = cos^{2}(\theta /2) - sen^{2}(\theta /2) &amp;lt;/math&amp;gt; e a identidade trigonométrica fundamental &amp;lt;math&amp;gt; 1 = cos^{2}(\theta) + sen^{2}(\theta) &amp;lt;/math&amp;gt;, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A + \frac{1}{A} = -2\left [ 2a^{2}sen^{2}\left ( \frac{k\Delta x}{2} \right ) -1 \right ]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; A = B^{n+1}/B^{n} &amp;lt;/math&amp;gt; &amp;lt;ref name=&amp;quot;fator_ampl&amp;quot;/&amp;gt; é o fator de amplificação. Defina &amp;lt;math&amp;gt; d :=  2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 &amp;lt;/math&amp;gt;. Portanto obtemos a equação quadrática com soluções :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A^{2} + 2dA + 1 = 0 \Rightarrow A_{1,2} = -d \pm \sqrt{d^{2}-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
se &amp;lt;math&amp;gt; \left | d \right | &amp;gt; 1 &amp;lt;/math&amp;gt;, então : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
-1&amp;gt;d&amp;gt;1 \Rightarrow -1 &amp;gt; 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 &amp;gt; 1  \Rightarrow 0 &amp;gt; 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) &amp;gt; 2 \Rightarrow 0 &amp;gt; \left( asen\left (k\Delta x / 2 \right ) \right)^{2} &amp;gt; 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
o que é um aburdo, pois &amp;lt;math&amp;gt; asen\left (k\Delta x / 2 \right )\in \mathbb{R} &amp;lt;/math&amp;gt;. Se &amp;lt;math&amp;gt; \left | d \right | \leq  1 &amp;lt;/math&amp;gt; , então : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
-1\leq d \leq 1 \Rightarrow -1 \leq 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 \leq 1  \Rightarrow 0 \leq 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) \leq 2 \Rightarrow 0 \leq \left( asen\left (k\Delta x / 2 \right ) \right)^{2} \leq 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que &amp;lt;math&amp;gt; sen\left (k\Delta x / 2 \right ) \leq 1 &amp;lt;/math&amp;gt;, logo &amp;lt;math&amp;gt; a \leq 1 &amp;lt;/math&amp;gt;. Portanto para o método ser condicionalmente estável : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\frac{c \Delta t}{ \Delta x} \leq 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Embora &amp;lt;math&amp;gt; a \leq 1 &amp;lt;/math&amp;gt; garante a estabilidade do processo, &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt; é a melhor escolha possível para a estabilidade do método, pelos seguintes motivos :&lt;br /&gt;
* Quando &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt;, os termos de ordem superior que são descartados na discretização da equação da onda são amplamente cancelados. Essa compensação implica que o método numérico se torna mais estável e menos suscetível a erros numéricos significativos, ou seja, não ocorrerão variações abruptas devido aos termos de ordem maiores;&lt;br /&gt;
* Quando &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt;, a perturbação na corda se propaga exatamente um passo espacial a cada passo de tempo. Esse comportamento assegura que a velocidade da perturbação seja adequadamente representada pelo algoritmo numérico. Isso ocorre devido a relação entre a velocidade física da corda &amp;lt;math&amp;gt; c &amp;lt;/math&amp;gt; e a velocidade da perturbação &amp;lt;math&amp;gt; v = \Delta x / \Delta t &amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\frac{c \Delta t}{ \Delta x} = \frac{c}{v} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observe que além de obtermos o intervalo de estabilidade &amp;lt;math&amp;gt; a\in\left [ 0, 1 \right ] &amp;lt;/math&amp;gt;, também obtemos uma restrição na discretização das malhas temporais e espaciais, limitando assim &amp;lt;math&amp;gt; N,M\in \mathbb{N} &amp;lt;/math&amp;gt; a um subconjunto que satisfaça a condição de estabilidade.&lt;br /&gt;
&lt;br /&gt;
=== Corda Não Ideal ===&lt;br /&gt;
&lt;br /&gt;
==== Método Explícito ====&lt;br /&gt;
Optaremos novamente por realizar a análise utilizando um método explícito. Em geral, o desenvolvimento teórico para a discretização da equação diferencial da onda com amortecimento e rigidez é análogo ao caso ideal, portanto, não serão apresentados com detalhes os cálculos necessários para a implementação do método. A derivada quarta centrada é aproximada utilizando diferenças finitas :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^4 y}{\partial x^4} \approx \frac{y_{j+2}^{n} + y_{j+1}^{n} + y_{j}^{n} + y_{j-1}^{n} + y_{j-2}^{n}}{\left ( \Delta x \right )^{4}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
transformando a EDP não homogênea para um espaço discretizado usando a aproximação de diferenças finitas centrada : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} = c^{2}\left ( \frac{\partial^2 y}{\partial x^2} - \epsilon L^{2}\frac{\partial^4 y}{\partial x^4} \right ) - b\frac{\partial y}{\partial t} \mapsto  y_{j}^{n+1} = \left [ \left (2 - 2a^{2} - 6\epsilon a^{2}E^{2} - F \right )y_{j}^{n} - y_{j}^{n-1} + a^{2}\left ( 1 + 4\epsilon E^{2} \right ) \left ( y_{j+1}^{n} + y_{j-1}^{n} \right ) - \epsilon a^{2}E^{2} \left ( y_{j+2}^{n} + y_{j-2}^{n} \right ) \right ]\left (\frac{1}{1-F} \right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; E := L/ \Delta x &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; F := b/ \Delta t &amp;lt;/math&amp;gt;. Novamente obtemos um equação explicita no tempo &amp;lt;math&amp;gt; n+1 &amp;lt;/math&amp;gt; que depende somente de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; n-1 &amp;lt;/math&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
==== Estabilidade ====&lt;br /&gt;
&lt;br /&gt;
A abordagem que empregamos para demonstrar a estabilidade da equação da onda não homogênea é completamente análoga ao caso homogêneo. Em outras palavras, utilizamos o método de Von Neumann em conjunto com o teorema da estabilidade. Ao aplicar novamente as componentes de Fourier, representadas por &amp;lt;math &amp;gt;y_{j}^{n} \mapsto B^{n}e^{ikj\Delta x} &amp;lt;/math&amp;gt;, obtemos uma equação quadrática que impõe a seguinte restrição:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
a = \frac{c \Delta t}{ \Delta x} \leq \frac{1}{4}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
logo, o método é condicionalmente estável no intervalo &amp;lt;math&amp;gt; a\in\left [ 0, 1/4 \right ] &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Convergência ===&lt;br /&gt;
&lt;br /&gt;
Até este ponto, ainda não discutimos o quão bem o esquema de diferenças finitas descreve a solução da equação diferencial. Vamos abordar isso agora. A propriedade mais essencial que um esquema deve possuir é que, à medida que os espaçamentos na malha discreta diminuem, a aproximação para a solução deve se aproximar da solução real do sistema. Portanto, um esquema é considerado uma boa aproximação se &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left ( \Delta t, \Delta x \right ) \rightarrow 0 \Rightarrow \left | y \left ( t_{n}, x_{j}\right )  - y_{j}^{n}  \right |\rightarrow 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; y \left ( t_{n}, x_{j}\right ) &amp;lt;/math&amp;gt; é a solução exata e &amp;lt;math&amp;gt; y_{j}^{n} &amp;lt;/math&amp;gt; a solução aproximada. Se tais condições são satisfeitas, dizemos que o esquema de equações diferenciais finitas é convergente. Entretanto, geralmente, provar a convergência não é uma tarefa trivial. No entanto, podemos demonstrá-la de maneira indireta, utilizando estabilidade e consistência. Se um esquema é estável e consistente, então a convergência do esquema é garantida. Dada uma equação diferencial &amp;lt;math&amp;gt; Dy = f &amp;lt;/math&amp;gt;, dizemos que o esquema de diferenças finitas &amp;lt;math&amp;gt; D_{\Delta t \Delta x}y = f &amp;lt;/math&amp;gt; é consistente com a equação diferencial se, para qualquer função suficientemente diferenciável &amp;lt;math&amp;gt; \phi(t, x) &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left ( \Delta t, \Delta x \right ) \rightarrow 0 \Rightarrow  D \phi  - D_{\Delta t \Delta x} \phi  \rightarrow 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostremos a consistência da aproximação de diferenças finitas para a equação da onda homogênea. Seja a EDP da onda &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
Dy\left ( t, x \right ) = \frac{\partial^2 y}{\partial t^2} - c^{2}\frac{\partial^2 y}{\partial x^2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e seja a equação de diferenças finitas &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
D_{\left (\Delta t \Delta x  \right )}y\left ( t, x \right ) = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} - c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pela aproximação que demonstramos anteriormente, temos : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
&amp;amp;\frac{\partial^2 y}{\partial t^2} - c^{2}\frac{\partial^2 y}{\partial x^2} = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} + O\left ( \Delta t^{2} \right )- c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}} + O\left ( \Delta x^{2} \right ) \\&lt;br /&gt;
&amp;amp;\frac{\partial^2 y}{\partial t^2} - c^{2}\frac{\partial^2 y}{\partial x^2} - \left (\frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} - c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}  \right ) = O\left ( \Delta t^{2} \right ) + O\left ( \Delta x^{2} \right ) \\&lt;br /&gt;
&amp;amp;Dy\left ( t, x \right ) - D_{\left (\Delta t \Delta x  \right )}y\left ( t, x \right ) = O\left ( \Delta t^{2} \right ) + O\left ( \Delta x^{2} \right )&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
como estamos supondo que os termos de ordem 2 são desprezíveis, &amp;lt;math&amp;gt; O\left ( \Delta t^{2} \right ) \rightarrow 0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; O\left ( \Delta x^{2} \right ) \rightarrow 0 &amp;lt;/math&amp;gt;. Logo : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
Dy\left ( t, x \right ) - D_{\left (\Delta t \Delta x  \right )}y\left ( t, x \right ) \rightarrow 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
portanto o esquema de diferenças finitas é consistente. Como na seção anterior já havíamos provado a estabilidade condicional do método, podemos concluir que o esquema é condicionalmente convergente (é consistente e condicionalmente estável) e portanto representa uma boa aproximação para a solução exata da equação diferencial.&lt;br /&gt;
&lt;br /&gt;
== Análise espectral ==&lt;br /&gt;
Uma possível forma para quantitativamente analisar o som gerado por uma corda vibrante é estudar as frequências que compõem o seu movimento, técnica essa chamada de análise espectral. Antes de prosseguirmos vamos recapitular alguns resultados da álgebra linear&lt;br /&gt;
&lt;br /&gt;
=== Supremacia da álgebra linear ===&lt;br /&gt;
O seguinte conjunto &amp;lt;math&amp;gt; \mathbb{R}^{\mathbb{R}} = \{ f~|~f: \mathbb{R} \to \mathbb{R} \} &amp;lt;/math&amp;gt; é o espaço de funções reais de uma variável. Esse conjunto é um espaço vetorial, logo podemos utilizar toda a artilharia da álgebra linear, em especial, estamos interessados no sub-espaço gerado pela base &amp;lt;math&amp;gt; B = \{sen(\omega t) / \sqrt{\pi}, cos(\omega t) / \sqrt{\pi} \}_{\omega \in \mathbb{R^+}} &amp;lt;/math&amp;gt; &amp;lt;ref name=&amp;quot;norm_const&amp;quot;/&amp;gt;, pois elementos de &amp;lt;math&amp;gt; B &amp;lt;/math&amp;gt;, interpretados como sinais sonoros, representam um frequência pura de valor &amp;lt;math&amp;gt;f=\omega/(2\pi)&amp;lt;/math&amp;gt;. Dessa forma, um sinal arbitrário &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; pode ser escrito em termos das frequências puras que o formam&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 s(t) = \frac{1}{\sqrt{\pi}}\int_{0}^{\infty}[a(\omega)cos(\omega t) + b(\omega)sen(\omega t]d\omega&lt;br /&gt;
&amp;lt;/math&amp;gt;  &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E podemos extrair suas coordenadas (conhecidas como transformada de Fourier do sinal) (&amp;lt;math&amp;gt;a(\omega)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;b(\omega)&amp;lt;/math&amp;gt;), fazendo o produto escalar com os elementos da base&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
a(\omega) &amp;amp;= \int_{-\infty}^{\infty}s(t)\frac{1}{\sqrt{\pi}}cos(\omega t)dt \\&lt;br /&gt;
b(\omega) &amp;amp;= \int_{-\infty}^{\infty}s(t)\frac{1}{\sqrt{\pi}}sen(\omega t)dt&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Se o domínio de &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; é limitado, digamos &amp;lt;math&amp;gt;t \in [0, T]&amp;lt;/math&amp;gt;, então uma base infinita com cardinalidade enumerável (em contraste com a base anterior, que possui cardinalidade não enumerável) é suficiente para representar &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt;, uma possível base ortonormal é a seguinte: &amp;lt;math&amp;gt;\bigg\{ \sqrt{\frac{1}{T}}, \sqrt{\frac{2}{T}}sen(\omega_n t), \sqrt{\frac{2}{T}}cos(\omega_n t) \bigg\}_{n \in \mathbb{N^*}}&amp;lt;/math&amp;gt;, em que &amp;lt;math&amp;gt; \omega_n = \frac{n\pi}{T} &amp;lt;/math&amp;gt;. Dessa forma, a representação e coordenadas de &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; ficam&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
s(t) &amp;amp;= a_0\sqrt{\frac{1}{T}} + \sqrt{\frac{2}{T}}\sum_{n=1}^{\infty}\bigg[a_n cos(\omega_n t) + b_n sen(\omega_n) \bigg] \\&lt;br /&gt;
a_0 &amp;amp;= \int_0^T s(t) \sqrt{\frac{1}{T}}dt \\&lt;br /&gt;
a_n &amp;amp;= \int_0^T s(t) \sqrt{\frac{2}{T}}cos(\omega_n t)dt \\&lt;br /&gt;
b_n &amp;amp;= \int_0^T s(t) \sqrt{\frac{2}{T}}sen(\omega_n t)dt \\&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É impossível falar sobre bases enumeráveis de um sub-espaço de &amp;lt;math&amp;gt; \mathbb{R}^{\mathbb{R}} &amp;lt;/math&amp;gt; sem representar esse canhão matemático com uma animação. Abaixo segue uma visualização que calcula as primeiras &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; coordenadas (&amp;lt;math&amp;gt;a_0,\dots,a_N&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;b_1,\dots,b_N&amp;lt;/math&amp;gt;) de um sinal qualquer e sobrepõem a série obtida incrementando &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; até as duas curvas serem indistinguíveis a olho nu. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie_fourier_ana_julia.gif|frame|center|Animação de uma série de fourier. É interessante notar que a série converge muito bem com apenas uma dúzia de frequências.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Potência espectral ===&lt;br /&gt;
Adiante vamos ver que o sinal sonoro provém da vibração de um ponto específico da mesma, digamos em &amp;lt;math&amp;gt;x=x_o&amp;lt;/math&amp;gt;, então a função que representa esse sinal é &amp;lt;math&amp;gt;y(x_o, t)&amp;lt;/math&amp;gt;. Como estamos interessados nas frequências que compõem o sinal, será calculado a transformada de fourier de &amp;lt;math&amp;gt;y(x_o, t)&amp;lt;/math&amp;gt; e definido que a potência da frequência &amp;lt;math&amp;gt;f = \omega/(2\pi)&amp;lt;/math&amp;gt; é &amp;lt;math&amp;gt;a_\omega^2 + b_\omega^2&amp;lt;/math&amp;gt;. A potência em função da frequência é o resultado da análise espectral.&lt;br /&gt;
&lt;br /&gt;
== Simulando uma corda de violão ==&lt;br /&gt;
Uma corda de violão geralmente é excitada por uma pancada dada por uma palheta ou pelo próprio dedo/unha do violonista. Essa pancada define uma condição inicial para a equação de onda. Uma suposição razoável da condição gerada é a seguinte&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\begin{aligned}&lt;br /&gt;
y(x, t=0) &amp;amp;= \begin{cases}  &lt;br /&gt;
\frac{h}{x_0}x &amp;amp;, ~ 0 \leq x \leq x_0\\&lt;br /&gt;
\frac{h}{L-x_0}(-x + L) &amp;amp;, ~ x_0 \leq x \leq L\\&lt;br /&gt;
\end{cases} \\&lt;br /&gt;
\frac{\partial}{\partial t} y(x, t=0) &amp;amp;= 0&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
supondo que a corda possui comprimento &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; e a pancado ocorreu em &amp;lt;math&amp;gt;x_o&amp;lt;/math&amp;gt;, causando uma deslocamento máximo &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt;. A imagem a seguir ilustra o estado da corda logo após a excitação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Init_cond_ana_julia.png|thumb|upright=2|center|Condição inicial de uma corda de violão.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dado essa condição inicial, podemos evoluir temporalmente o estado da corda utilizando a equação da onda, mantendo as bordas fixas (&amp;lt;math&amp;gt;y(x=0, t) = y(x=L, t) = 0&amp;lt;/math&amp;gt;), mas como extrair som dessa simulação? Para responder essa pergunta precisamos saber como um violão gera som. Ao contrário do que inicialmente pareça, as ondas sonoras não são diretamente geradas pela vibração das cordas, mas sim da caixa do violão, que está diretamente conectada com as cordas em uma peça chamada ponte. A vibração das cordas gera uma força dependente do tempo que atua na caixa através da ponte, assim vibrando a caixa e gerando o som que escutamos. Portanto, para gerar som de forma realista, precisaríamos fisicamente simular a caixa, levando em consideração a sua geometria e as propriedades física do seu material, e então determinar as ondas de pressão que seriam geradas por essa vibração, o que está fora do escopo do presente trabalho. Felizmente, as seguintes simplificações vão nos permitir calcular as ondas de pressão:&lt;br /&gt;
&lt;br /&gt;
* A força que a ponte exerce na caixa é aproximadamente proporcional a sua velocidade (Dinâmica aristotélica).&lt;br /&gt;
* A onda de pressão produzida pela caixa é aproximadamente proporcional a sua velocidade.&lt;br /&gt;
&lt;br /&gt;
A força que a ponte exercer na caixa (&amp;lt;math&amp;gt;F(t)&amp;lt;/math&amp;gt;) é a força que a corda exerce na ponte (pois a ponte está firmemente conectada na caixa), e essa força é proporcional a inclinação da corda, ou seja&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F(t) = T \frac{\partial}{\partial x}y(x=0, t) \approx T\frac{y(\Delta x, t) - \overbrace{y(0, t)}^{0}}{\Delta x} = \frac{T}{\Delta x} y(\Delta x, t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a tensão na corda. Portando, o sinal da onda de pressão pode ser aproximado como o deslocamento de um ponto da corda próximo a ponte. Para gerar som com esse sinal, o tipo de arquivo [https://en.wikipedia.org/wiki/WAV#:~:text=Waveform%20Audio%20File%20Format%20(WAVE,1991%20by%20IBM%20and%20Microsoft. WAV]] é utilizado, pois o seu dado de entrada pode ser justante o sinal da onda de pressão.&lt;br /&gt;
&lt;br /&gt;
Agora tudo está pronto para fazermos uma simulação, vamos tentar reproduzir a nota lá (&amp;lt;math&amp;gt;f = 440~Hz&amp;lt;/math&amp;gt;). Primeiro precisamos descobrir qual deve ser a velocidade de propagação das ondas (&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;) para gerar a nota em questão. Resolvendo a equação da onda ideal, obtemos que as possíveis frequência que existem na solução são &amp;lt;math&amp;gt;f_n = \frac{nc}{2L} &amp;lt;/math&amp;gt;, então não é possível fazer a corda vibrar apenas com uma frequência, mas quando músicos se referem a uma nota, eles realmente estão se referindo a &amp;lt;math&amp;gt;f_1&amp;lt;/math&amp;gt;, a primeira frequência que compõem o sinal, então&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; f_1 = \frac{c}{2L} = 440~Hz \Rightarrow c = L \cdot 880~Hz&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assumindo &amp;lt;math&amp;gt;L=1~m&amp;lt;/math&amp;gt;, temos que &amp;lt;math&amp;gt;c = 880~m/s&amp;lt;/math&amp;gt;. Resolvendo a equação da onda realista pelo método FTCS com os seguinte parâmetros&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Parâmetros da condição inicial&lt;br /&gt;
|-&lt;br /&gt;
! Parâmetros !! Valor&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;x_o&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;0,5~L&amp;lt;/math&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| h || 1 cm &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Parâmetros da integração&lt;br /&gt;
|-&lt;br /&gt;
! Parâmetros !! Valor&lt;br /&gt;
|-&lt;br /&gt;
| k || 1/4 &lt;br /&gt;
|-&lt;br /&gt;
| c || 880 m/s &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt; || 0,01 m&lt;br /&gt;
|-&lt;br /&gt;
| L || 1 m &lt;br /&gt;
|-&lt;br /&gt;
| b || 5 &amp;lt;math&amp;gt;s^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
obtemos o seguinte resultado&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Corda_vibrando_ana_julia.gif|frame|center|Solução da equação de onda ideal e realista.]]&lt;br /&gt;
&lt;br /&gt;
Na animação acima, por questão de comparação, também foi coloca a solução de uma simulação com os mesmos parâmetros, apenas com a modificação &amp;lt;math&amp;gt;b=\epsilon=0&amp;lt;/math&amp;gt;, que seria o caso ideal (sem amortecimento e rigidez).&lt;br /&gt;
 &lt;br /&gt;
Realizando a análise espectral do deslocamento de um ponto próximo de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, obtemos o seguinte gráfico&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_ana_julia.png |thumb|upright=2|center|Espectro do deslocamento de um ponto próximo de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As linhas verticais pretas e tracejadas representam as possíveis frequências da solução do caso ideal, ou seja, a primeira linha está em &amp;lt;math&amp;gt;f = 440 Hz &amp;lt;/math&amp;gt; como era de se esperar, mas é notável que a segunda e quarta linhas possuem uma potência praticamente nula, isso ocorre porque a excitação inicial foi exatamente no meio, e as frequência correspondentes a essas linhas provém de ondas estacionário que possum um nodo em &amp;lt;math&amp;gt;x=L/2&amp;lt;/math&amp;gt;, logo elas não foram excitadas pela condição inicial. Mudando o ponto de excitação inicial, podemos ver essas frequências aparecendo, rodando a simulação novamente, mas com &amp;lt;math&amp;gt;x_o = 0,2~L&amp;lt;/math&amp;gt;, obtemos o seguinte espectro&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_bridge_ana_julia.png |thumb|upright=2|center|Espectro para excitação inicial em &amp;lt;math&amp;gt;x_0 = 0,2~L&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos observar a influência da rigidez rodando a simulação com &amp;lt;math&amp;gt;\epsilon=10^{-8}&amp;lt;/math&amp;gt; (10 vezes maior do que o valor anterior) e olhar o espectro produzido&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_high_stiff_ana_julia.png |thumb|upright=2|center|Espectro para &amp;lt;math&amp;gt;\epsilon=10^{-8}&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O efeito mais notável é o deslocamento para esquerda das frequência em relação as frequências que compõem o sinal no caso ideal.&lt;br /&gt;
&lt;br /&gt;
Por fim, conforme descrito anteriormente, podemos gerar som com as dados da simulação, mas infelizmente essa wiki não nos permite upar arquivos de áudio. No entanto, áudio das simulações discutidas aqui podem ser encontrados no repositório do projeto [https://github.com/marcos1561/ana-julia ana-julia] dentro da pasta &amp;quot;sound&amp;quot;. Em especial, o efeito de deslocamento de frequências causado pela rigidez é bastante evidente escutando os áudios.&lt;br /&gt;
&lt;br /&gt;
=== Bônus ===&lt;br /&gt;
Apenas por diversão, segue uma animação de um pacote gaussiano como condição inicial&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Gaussian_package_ana_julia.gif|frame|center|Animação da solução da equação da onda com um pacote gaussiano como condição inicial.]]&lt;br /&gt;
&lt;br /&gt;
== Notas ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;fator_ampl&amp;quot;&amp;gt; Perceba que não estamos operando expoentes, mas sim usando a relação entre os índices &amp;lt;math&amp;gt; B^{n-1}/B^{n} = B^{m}/B^{m+1} = A^{-1} &amp;lt;/math&amp;gt;.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;norm_const&amp;quot;&amp;gt;A constante &amp;lt;math&amp;gt; 1/\sqrt{\pi} &amp;lt;/math&amp;gt; está presente por questão de normalização. Esse caso pode parecer um pouco estranho, dado que não é possível normalizar os cossenos e senos, pois sua integral em todo a reta não é definida, mas o que se deseja é a seguinte propriedade &lt;br /&gt;
&amp;lt;math&amp;gt;\int_{\mathbb{R}}A_{\omega}cos(\omega t) \cdot A_{\omega&#039;}cos(\omega&#039; t)dt = \delta(\omega-\omega&#039;) &amp;lt;/math&amp;gt;&lt;br /&gt;
que é safisfeita quando &amp;lt;math&amp;gt; A_{\omega} = A_{\omega&#039;} =  1/\sqrt{\pi}, ~ \forall \omega,\omega&#039;&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Corda_Vibrante&amp;diff=10180</id>
		<title>Corda Vibrante</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Corda_Vibrante&amp;diff=10180"/>
		<updated>2024-04-23T02:41:52Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: /* Potência espectral */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== A equação da onda ==&lt;br /&gt;
No estudo das oscilações, é comum entre os físicos o emprego de modelos simples como representações &amp;quot;prototípicas&amp;quot; de certos padrões básicos observados na natureza. A eficácia desses modelos simples decorre de duas características fundamentais: a capacidade de serem compreendidos em detalhes minuciosos e a habilidade de reproduzir comportamentos semelhantes aos de situações reais e mais complexas, auxiliando na compreensão destas, pelo menos em termos qualitativos.&lt;br /&gt;
&lt;br /&gt;
Quando se trata de comportamentos oscilatórios, o modelo mais comumente utilizado é o do sistema massa-mola. Por outro lado, para descrever comportamentos ondulatórios unidimensionais, o modelo simples mais difundido é o da corda vibrante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consideremos uma corda esticada, como a corda de um violão, por exemplo. Suponhamos que esta corda tenha um comprimento &amp;lt;math&amp;gt; L &amp;lt;/math&amp;gt; e que suas extremidades estejam fixas nos pontos &amp;lt;math&amp;gt; x = 0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; x = L &amp;lt;/math&amp;gt;. Além disso, vamos supor que a corda tenha uma densidade linear uniforme representada por &amp;lt;math&amp;gt; \mu = \frac{dm}{dx} &amp;lt;/math&amp;gt;, e que esteja sob uma tensão constante &amp;lt;math&amp;gt; T &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Assumindo que a corda realize vibrações transversais apenas na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt; (embora possa ter vibrações transversais na direção &amp;lt;math&amp;gt; z &amp;lt;/math&amp;gt;, as quais vamos ignorar aqui), podemos representar a configuração da corda em qualquer instante de tempo no plano &amp;lt;math&amp;gt; xy &amp;lt;/math&amp;gt; por uma função &amp;lt;math&amp;gt; y(x,t) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vamos considerar mais algumas suposições:&lt;br /&gt;
&lt;br /&gt;
I) A tensão &amp;lt;math&amp;gt; T &amp;lt;/math&amp;gt; que estica a corda é tão alta que podemos negligenciar a força gravitacional sobre ela;&lt;br /&gt;
&lt;br /&gt;
II) A corda é perfeitamente elástica, ou seja, não oferece resistência a dobras;&lt;br /&gt;
&lt;br /&gt;
III) Os deslocamentos da corda, que ocorrem apenas na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt;, são de pequena amplitude.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com essas suposições em mente, estamos prontos para abordar o problema da corda vibrante. Em qualquer instante de tempo, um segmento arbitrário da corda estará na posição geral indicada pela figura abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:posicao_generica.png|400px|thumb|center|Posição genérica de um pedaço qualquer da corda]]&lt;br /&gt;
&lt;br /&gt;
A massa do pequeno segmento de corda de comprimento &amp;lt;math&amp;gt; \Delta{x} &amp;lt;/math&amp;gt; é&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\Delta{m} = \mu \Delta{x}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As componentes horizontal e vertical da força resultante atuando sobre esse segmento são:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_x = T \cos{(\theta + \Delta{\theta})} - T \cos{(\theta)}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
e&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_y = T \sin{(\theta + \Delta{\theta})} - T \sin{(\theta)}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Estamos assumindo que a corda não se move na direção &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; (apenas na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt;). Isso implica que a força resultante na direção &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; é nula (&amp;lt;math&amp;gt; F_x = 0 &amp;lt;/math&amp;gt;). Substituindo essa condição na equação, obtemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\cos{(\theta + \Delta{\theta})} = \cos{(\theta)}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E a força resultante na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; F_y &amp;lt;/math&amp;gt;, é dada de acordo com a segunda lei de Newton:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_y = (\mu \Delta{x})a_y = (\mu \Delta{x}) \frac{\partial^2{y}}{\partial{t^2}},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
então:&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
T \sin{(\theta + \Delta{\theta})} - T \sin{(\theta)} = (\mu \Delta{x}) \frac{\partial^2{y}}{\partial{t^2}},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
ou&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\sin{(\theta + \Delta{\theta})} - \sin{(\theta)} = \Delta{x} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos prosseguir dividindo os dois lados da equação acima pelo termo &amp;lt;math&amp;gt; \cos{(\theta)} &amp;lt;/math&amp;gt;, sabendo que &amp;lt;math&amp;gt; \cos{(\theta)} = \cos{(\theta + \Delta{\theta})} &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\sin{(\theta + \Delta{\theta})}}{\cos{(\theta + \Delta{\theta})}} - \frac{\sin{(\theta)}}{\cos{(\theta)}} = \frac{\Delta{x}}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}} \to \tan{(\theta + \Delta{\theta})} - \tan{(\theta)} = \frac{\Delta{x}}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando que o coeficiente angular da reta tangente a uma função em um dado ponto do seu domínio é igual à derivada da função nesse ponto, temos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial{y}}{\partial{x}} (x + \Delta{x}, t) - \frac{\partial{y}}{\partial{x}} (x, t) = \frac{\Delta{x}}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dividindo ambos os lados por &amp;lt;math&amp;gt; \Delta{x} &amp;lt;/math&amp;gt;, teremos do lado esquerdo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\frac{\partial{y}}{\partial{x}} (x + \Delta{x}, t) - \frac{\partial{y}}{\partial{x}} (x, t)}{\Delta{x}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e no limite que &amp;lt;math&amp;gt; \Delta{x} \to 0 &amp;lt;/math&amp;gt;, a expressão se torna uma derivada parcial segunda &amp;lt;math&amp;gt; \frac{\partial^2{y}}{\partial{x^2}} &amp;lt;/math&amp;gt;, nos permitindo reescrever a equação como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2{y}}{\partial{x^2}} (x, t) = \frac{1}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}} (x, t).&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E, como última manipulação, vamos supor agora que os deslocamentos da corda são pequenos, o que implica que os ângulos associados a esses deslocamentos também são pequenos: &amp;lt;math&amp;gt; \theta &amp;lt;&amp;lt; 1 &amp;lt;/math&amp;gt;. Com essa condição, &amp;lt;math&amp;gt; \cos{(\theta)} \approx 1 &amp;lt;/math&amp;gt; e chegamos em:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2{y}}{\partial{x^2}} (x, t) = \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}} (x, t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde o termo &amp;lt;math&amp;gt; \frac{\mu}{T} &amp;lt;/math&amp;gt; tem dimensão de &amp;lt;math&amp;gt; \frac{1}{c^2} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; c &amp;lt;/math&amp;gt; é a velocidade de propagação de ondas na corda esticada:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2{y}}{\partial{x^2}} (x, t) = \frac{1}{c^2} \frac{\partial^2{y}}{\partial{t^2}} (x, t) \Leftrightarrow \frac{\partial^2{y}}{\partial{t^2}} (x, t) = &lt;br /&gt;
c^2 \frac{\partial^2{y}}{\partial{x^2}} (x, t).&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Chegando a conlusão de que essa é a expressão para a corda vibrante e que a velocidade de propagação aumenta com a tensão na corda e diminui com a sua inércia (massa por unidade de comprimento).&lt;br /&gt;
&lt;br /&gt;
== Método FTCS ==&lt;br /&gt;
&lt;br /&gt;
O método FTCS (Forward Time Central Space) é uma abordagem progressiva no tempo e centrada no espaço. Em outras palavras, ao lidarmos com uma função de duas variáveis, buscamos uma solução futura em termos do tempo, centrada em uma vizinhança espacial. Para a resolução numérica da equação diferencial unidimensional da onda, optamos por trabalhar exclusivamente com o método explícito.&lt;br /&gt;
&lt;br /&gt;
=== Corda Ideal ===&lt;br /&gt;
&lt;br /&gt;
==== Método Explícito ====&lt;br /&gt;
&lt;br /&gt;
Para aplicar o método, é necessário inicialmente discretizar tanto as variáveis espaciais quanto as variáveis temporais. Seja a função &amp;lt;math&amp;gt; y(t,x): \mathbb{R}^{2} \mapsto \mathbb{R} &amp;lt;/math&amp;gt;, sejam os intervalos &amp;lt;math&amp;gt; \left [ 0,X \right ], \left [ 0,T \right ]\subset \mathbb{R} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; N,M\in \mathbb{N} &amp;lt;/math&amp;gt;, discretizamos os intervalos em espaçamentos iguais &amp;lt;math&amp;gt; \Delta x = X/N &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; \Delta t = T/M &amp;lt;/math&amp;gt; de tal maneira que obtemos as sequências crescentes monótonas &amp;lt;math&amp;gt;\left \{ x_{i} \right \}_{i=0}^{N} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\left \{ t_{i} \right \}_{j=0}^{M} &amp;lt;/math&amp;gt; . Assim obtemos uma grade de malhas de pontos &amp;lt;math&amp;gt; (t_{i}, x_{i}) &amp;lt;/math&amp;gt; onde a função &amp;lt;math&amp;gt; y(t,x) &amp;lt;/math&amp;gt; tem seus valores aproximados por &amp;lt;math&amp;gt; y(t_{i}, x_{i}) &amp;lt;/math&amp;gt; denotado &amp;lt;math&amp;gt; y_{j}^{n} &amp;lt;/math&amp;gt;. Uma abordagem comum envolve a discretização da primeira derivada no tempo utilizando uma diferença finita progressiva baseada na expansão em séries de Taylor até a primeira ordem :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial y}{\partial t} \approx \frac{y(t+\Delta t, x) - y(t, x)}{\Delta t} = \frac{y_{j}^{n+1} - y_{j}^{n}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Discretizando a derivada temporal segunda utilizando um diferença finita regressiva :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} \approx  \frac{\partial}{\partial t} \left(\frac{y_{j}^{n+1} - y_{j}^{n}}{\Delta t}\right) \approx \frac{1}{\Delta t}\left [\frac{y\left (t+\Delta t, x  \right ) - y\left (\left (t + \Delta t  \right )- \Delta t, x  \right )}{\Delta t} - \frac{y\left (t,x  \right ) - y\left (t - \Delta t, x  \right )}{\Delta t } \right ] = \frac{y\left (t + \Delta t, x  \right ) + y\left (t - \Delta t, x  \right ) - 2y\left (t, x  \right )}{(\Delta t)^{2}} = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que o processo retorna uma derivada de diferenças finitas centrada, além disso obtemos um aproximação de segunda ordem. O mecanismo de discretização das derivadas espaciais é completamente análogo, a derivada segunda centrada :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^{2} y}{\partial x^{2}} \approx \frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aplicando as expressões das diferenciais na equação da onda :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} = c^{2} \frac{\partial^2 y}{\partial x^2} \mapsto \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} = c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
defina &amp;lt;math&amp;gt; a := c\Delta t / \Delta x &amp;lt;/math&amp;gt; e explicite a variável no estado temporal futuro, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_{j}^{n+1} = 2\left(1 - a^{2}\right)y_{j}^{n} - y_{j}^{n-1} + a^{2}\left ( y_{j+1}^{n} + y_{j-1}^{n}\right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
uma equação explicita no tempo &amp;lt;math&amp;gt; n+1 &amp;lt;/math&amp;gt; dependendo somente de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; n-1 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Estabilidade ====&lt;br /&gt;
&lt;br /&gt;
Para analisar a estabilidade da solução numérica para a equação da onda, utilizaremos o método de Von Neumann. O procedimento consiste em utilizar a transformada de Fourier para determinar a estabilidade do esquema, a solução problema tem a forma : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_{j}^{n+1}(\xi) = A(\xi \Delta x, \Delta x, \Delta t) y_{j}^{n}(\xi)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; \xi \in \left [ -\pi / \Delta x, \pi / \Delta x \right ] &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; é o fator de amplificação, observe que podemos estudar a estabilidade da aproximação somente analisando o fator de amplificação. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Teorema&#039;&#039;&#039; : Se o fator de amplificação não depender de &amp;lt;math&amp;gt; \Delta x &amp;lt;/math&amp;gt; nem &amp;lt;math&amp;gt; \Delta t &amp;lt;/math&amp;gt;, então a aproximação é estável se &amp;lt;math&amp;gt; \left | A(\xi \Delta x) \right | \leq 1 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Vejamos a estabilidade da aproximação de diferenças finitas para a equação da onda, utilizando as componentes de Fourier &amp;lt;math &amp;gt;y_{j}^{n} \mapsto B^{n}e^{ikj\Delta x} &amp;lt;/math&amp;gt;, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
B^{n+1}e^{ikj\Delta x} = 2\left ( 1-a^{2} \right )B^{n}e^{ikj\Delta x} - B^{n-1}e^{ikj\Delta x} + a^{2}\left ( B^{n}e^{ik(j+1)\Delta x} + B^{n}e^{ik(j-1)\Delta x} \right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
simplificando os termos em comum :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
B^{n+1} + B^{n-1}  = B^{n} \left [ 2\left ( 1-a^{2} \right ) + a^{2}\left (e^{ik\Delta x} + e^{-ik\Delta x}\right )\right ]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que &amp;lt;math&amp;gt; e^{ik\Delta x} - e^{-ik\Delta x} = 2cos(k\Delta x) &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{B^{n+1} + B^{n-1}}{B^{n}} = 2\left ( 1-a^{2} \right ) + 2a^{2}cos(k\Delta x)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
utilizando a identidade trigonométrica &amp;lt;math&amp;gt; cos(\theta) = cos^{2}(\theta /2) - sen^{2}(\theta /2) &amp;lt;/math&amp;gt; e a identidade trigonométrica fundamental &amp;lt;math&amp;gt; 1 = cos^{2}(\theta) + sen^{2}(\theta) &amp;lt;/math&amp;gt;, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A + \frac{1}{A} = -2\left [ 2a^{2}sen^{2}\left ( \frac{k\Delta x}{2} \right ) -1 \right ]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; A = B^{n+1}/B^{n} &amp;lt;/math&amp;gt; &amp;lt;ref name=&amp;quot;fator_ampl&amp;quot;/&amp;gt; é o fator de amplificação. Defina &amp;lt;math&amp;gt; d :=  2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 &amp;lt;/math&amp;gt;. Portanto obtemos a equação quadrática com soluções :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A^{2} + 2dA + 1 = 0 \Rightarrow A_{1,2} = -d \pm \sqrt{d^{2}-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
se &amp;lt;math&amp;gt; \left | d \right | &amp;gt; 1 &amp;lt;/math&amp;gt;, então : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
-1&amp;gt;d&amp;gt;1 \Rightarrow -1 &amp;gt; 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 &amp;gt; 1  \Rightarrow 0 &amp;gt; 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) &amp;gt; 2 \Rightarrow 0 &amp;gt; \left( asen\left (k\Delta x / 2 \right ) \right)^{2} &amp;gt; 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
o que é um aburdo, pois &amp;lt;math&amp;gt; asen\left (k\Delta x / 2 \right )\in \mathbb{R} &amp;lt;/math&amp;gt;. Se &amp;lt;math&amp;gt; \left | d \right | \leq  1 &amp;lt;/math&amp;gt; , então : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
-1\leq d \leq 1 \Rightarrow -1 \leq 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 \leq 1  \Rightarrow 0 \leq 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) \leq 2 \Rightarrow 0 \leq \left( asen\left (k\Delta x / 2 \right ) \right)^{2} \leq 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que &amp;lt;math&amp;gt; sen\left (k\Delta x / 2 \right ) \leq 1 &amp;lt;/math&amp;gt;, logo &amp;lt;math&amp;gt; a \leq 1 &amp;lt;/math&amp;gt;. Portanto para o método ser condicionalmente estável : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\frac{c \Delta t}{ \Delta x} \leq 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Embora &amp;lt;math&amp;gt; a \leq 1 &amp;lt;/math&amp;gt; garante a estabilidade do processo, &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt; é a melhor escolha possível para a estabilidade do método, pelos seguintes motivos :&lt;br /&gt;
* Quando &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt;, os termos de ordem superior que são descartados na discretização da equação da onda são amplamente cancelados. Essa compensação implica que o método numérico se torna mais estável e menos suscetível a erros numéricos significativos, ou seja, não ocorrerão variações abruptas devido aos termos de ordem maiores;&lt;br /&gt;
* Quando &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt;, a perturbação na corda se propaga exatamente um passo espacial a cada passo de tempo. Esse comportamento assegura que a velocidade da perturbação seja adequadamente representada pelo algoritmo numérico. Isso ocorre devido a relação entre a velocidade física da corda &amp;lt;math&amp;gt; c &amp;lt;/math&amp;gt; e a velocidade da perturbação &amp;lt;math&amp;gt; v = \Delta x / \Delta t &amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\frac{c \Delta t}{ \Delta x} = \frac{c}{v} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observe que além de obtermos o intervalo de estabilidade &amp;lt;math&amp;gt; a\in\left [ 0, 1 \right ] &amp;lt;/math&amp;gt;, também obtemos uma restrição na discretização das malhas temporais e espaciais, limitando assim &amp;lt;math&amp;gt; N,M\in \mathbb{N} &amp;lt;/math&amp;gt; a um subconjunto que satisfaça a condição de estabilidade.&lt;br /&gt;
&lt;br /&gt;
=== Corda Não Ideal ===&lt;br /&gt;
&lt;br /&gt;
==== Método Explícito ====&lt;br /&gt;
Optaremos novamente por realizar a análise utilizando um método explícito. Em geral, o desenvolvimento teórico para a discretização da equação diferencial da onda com amortecimento e rigidez é análogo ao caso ideal, portanto, não serão apresentados com detalhes os cálculos necessários para a implementação do método. A derivada quarta centrada é aproximada utilizando diferenças finitas :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^4 y}{\partial x^4} \approx \frac{y_{j+2}^{n} + y_{j+1}^{n} + y_{j}^{n} + y_{j-1}^{n} + y_{j-2}^{n}}{\left ( \Delta x \right )^{4}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
transformando a EDP não homogênea para um espaço discretizado usando a aproximação de diferenças finitas centrada : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} = c^{2}\left ( \frac{\partial^2 y}{\partial x^2} - \epsilon L^{2}\frac{\partial^4 y}{\partial x^4} \right ) - b\frac{\partial y}{\partial t} \mapsto  y_{j}^{n+1} = \left [ \left (2 - 2a^{2} - 6\epsilon a^{2}E^{2} - F \right )y_{j}^{n} - y_{j}^{n-1} + a^{2}\left ( 1 + 4\epsilon E^{2} \right ) \left ( y_{j+1}^{n} + y_{j-1}^{n} \right ) - \epsilon a^{2}E^{2} \left ( y_{j+2}^{n} + y_{j-2}^{n} \right ) \right ]\left (\frac{1}{1-F} \right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; E := L/ \Delta x &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; F := b/ \Delta t &amp;lt;/math&amp;gt;. Novamente obtemos um equação explicita no tempo &amp;lt;math&amp;gt; n+1 &amp;lt;/math&amp;gt; que depende somente de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; n-1 &amp;lt;/math&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
==== Estabilidade ====&lt;br /&gt;
&lt;br /&gt;
A abordagem que empregamos para demonstrar a estabilidade da equação da onda não homogênea é completamente análoga ao caso homogêneo. Em outras palavras, utilizamos o método de Von Neumann em conjunto com o teorema da estabilidade. Ao aplicar novamente as componentes de Fourier, representadas por &amp;lt;math &amp;gt;y_{j}^{n} \mapsto B^{n}e^{ikj\Delta x} &amp;lt;/math&amp;gt;, obtemos uma equação quadrática que impõe a seguinte restrição:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
a = \frac{c \Delta t}{ \Delta x} \leq \frac{1}{4}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
logo, o método é condicionalmente estável no intervalo &amp;lt;math&amp;gt; a\in\left [ 0, 1/4 \right ] &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Convergência ===&lt;br /&gt;
&lt;br /&gt;
Até este ponto, ainda não discutimos o quão bem o esquema de diferenças finitas descreve a solução da equação diferencial. Vamos abordar isso agora. A propriedade mais essencial que um esquema deve possuir é que, à medida que os espaçamentos na malha discreta diminuem, a aproximação para a solução deve se aproximar da solução real do sistema. Portanto, um esquema é considerado uma boa aproximação se &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left ( \Delta t, \Delta x \right ) \rightarrow 0 \Rightarrow \left | y \left ( t_{n}, x_{j}\right )  - y_{j}^{n}  \right |\rightarrow 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; y \left ( t_{n}, x_{j}\right ) &amp;lt;/math&amp;gt; é a solução exata e &amp;lt;math&amp;gt; y_{j}^{n} &amp;lt;/math&amp;gt; a solução aproximada. Se tais condições são satisfeitas, dizemos que o esquema de equações diferenciais finitas é convergente. Entretanto, geralmente, provar a convergência não é uma tarefa trivial. No entanto, podemos demonstrá-la de maneira indireta, utilizando estabilidade e consistência. Se um esquema é estável e consistente, então a convergência do esquema é garantida. Dada uma equação diferencial &amp;lt;math&amp;gt; Dy = f &amp;lt;/math&amp;gt;, dizemos que o esquema de diferenças finitas &amp;lt;math&amp;gt; D_{\Delta t \Delta x}y = f &amp;lt;/math&amp;gt; é consistente com a equação diferencial se, para qualquer função suficientemente diferenciável &amp;lt;math&amp;gt; \phi(t, x) &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left ( \Delta t, \Delta x \right ) \rightarrow 0 \Rightarrow  D \phi  - D_{\Delta t \Delta x} \phi  \rightarrow 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostremos a consistência da aproximação de diferenças finitas para a equação da onda homogênea. Seja a EDP da onda &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
Dy\left ( t, x \right ) = \frac{\partial^2 y}{\partial t^2} - c^{2}\frac{\partial^2 y}{\partial x^2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e seja a equação de diferenças finitas &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
D_{\left (\Delta t \Delta x  \right )}y\left ( t, x \right ) = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} - c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pela aproximação que demonstramos anteriormente, temos : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
&amp;amp;\frac{\partial^2 y}{\partial t^2} - c^{2}\frac{\partial^2 y}{\partial x^2} = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} + O\left ( \Delta t^{2} \right )- c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}} + O\left ( \Delta x^{2} \right ) \\&lt;br /&gt;
&amp;amp;\frac{\partial^2 y}{\partial t^2} - c^{2}\frac{\partial^2 y}{\partial x^2} - \left (\frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} - c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}  \right ) = O\left ( \Delta t^{2} \right ) + O\left ( \Delta x^{2} \right ) \\&lt;br /&gt;
&amp;amp;Dy\left ( t, x \right ) - D_{\left (\Delta t \Delta x  \right )}y\left ( t, x \right ) = O\left ( \Delta t^{2} \right ) + O\left ( \Delta x^{2} \right )&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
como estamos supondo que os termos de ordem 2 são desprezíveis, &amp;lt;math&amp;gt; O\left ( \Delta t^{2} \right ) \rightarrow 0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; O\left ( \Delta x^{2} \right ) \rightarrow 0 &amp;lt;/math&amp;gt;. Logo : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
Dy\left ( t, x \right ) - D_{\left (\Delta t \Delta x  \right )}y\left ( t, x \right ) \rightarrow 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
portanto o esquema de diferenças finitas é consistente. Como na seção anterior já havíamos provado a estabilidade condicional do método, podemos concluir que o esquema é condicionalmente convergente (é consistente e condicionalmente estável) e portanto representa uma boa aproximação para a solução exata da equação diferencial.&lt;br /&gt;
&lt;br /&gt;
== Análise espectral ==&lt;br /&gt;
Uma possível forma para quantitativamente analisar o som gerado por uma corda vibrante é estudar as frequências que compõem o seu movimento, técnica essa chamada de análise espectral. Antes de prosseguirmos vamos recapitular alguns resultados da álgebra linear&lt;br /&gt;
&lt;br /&gt;
=== Supremacia da álgebra linear ===&lt;br /&gt;
O seguinte conjunto &amp;lt;math&amp;gt; \mathbb{R}^{\mathbb{R}} = \{ f~|~f: \mathbb{R} \to \mathbb{R} \} &amp;lt;/math&amp;gt; é o espaço de funções reais de uma variável. Esse conjunto é um espaço vetorial, logo podemos utilizar toda a artilharia da álgebra linear, em especial, estamos interessados no sub-espaço gerado pela base &amp;lt;math&amp;gt; B = \{sen(\omega t) / \sqrt{\pi}, cos(\omega t) / \sqrt{\pi} \}_{\omega \in \mathbb{R^+}} &amp;lt;/math&amp;gt; &amp;lt;ref name=&amp;quot;norm_const&amp;quot;/&amp;gt;, pois elementos de &amp;lt;math&amp;gt; B &amp;lt;/math&amp;gt;, interpretados como sinais sonoros, representam um frequência pura de valor &amp;lt;math&amp;gt;f=\omega/(2\pi)&amp;lt;/math&amp;gt;. Dessa forma, um sinal arbitrário &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; pode ser escrito em termos das frequências puras que o formam&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 s(t) = \frac{1}{\sqrt{\pi}}\int_{0}^{\infty}[a(\omega)cos(\omega t) + b(\omega)sen(\omega t]d\omega&lt;br /&gt;
&amp;lt;/math&amp;gt;  &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E podemos extrair suas coordenadas (também chamadas de transformada de fourier do sinal) (&amp;lt;math&amp;gt;a(\omega)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;b(\omega)&amp;lt;/math&amp;gt;), fazendo o produto escalar com os elementos da base&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
a(\omega) &amp;amp;= \int_{-\infty}^{\infty}s(t)\frac{1}{\sqrt{\pi}}cos(\omega t)dt \\&lt;br /&gt;
b(\omega) &amp;amp;= \int_{-\infty}^{\infty}s(t)\frac{1}{\sqrt{\pi}}sen(\omega t)dt&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Se o domínio de &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; é limitado, digamos &amp;lt;math&amp;gt;t \in [0, T]&amp;lt;/math&amp;gt;, então uma base infinita com cardinalidade enumerável (em contraste com a base anterior, que possui cardinalidade não enumerável) é suficiente para representar &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt;, uma possível base ortonormal é a seguinte: &amp;lt;math&amp;gt;\bigg\{ \sqrt{\frac{1}{T}}, \sqrt{\frac{2}{T}}sen(\omega_n t), \sqrt{\frac{2}{T}}cos(\omega_n t) \bigg\}_{n \in \mathbb{N^*}}&amp;lt;/math&amp;gt;, em que &amp;lt;math&amp;gt; \omega_n = \frac{n\pi}{T} &amp;lt;/math&amp;gt;. Dessa forma, a representação e coordenadas de &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; ficam&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
s(t) &amp;amp;= a_0\sqrt{\frac{1}{T}} + \sqrt{\frac{2}{T}}\sum_{n=1}^{\infty}\bigg[a_n cos(\omega_n t) + b_n sen(\omega_n) \bigg] \\&lt;br /&gt;
a_0 &amp;amp;= \int_0^T s(t) \sqrt{\frac{1}{T}}dt \\&lt;br /&gt;
a_n &amp;amp;= \int_0^T s(t) \sqrt{\frac{2}{T}}cos(\omega_n t)dt \\&lt;br /&gt;
b_n &amp;amp;= \int_0^T s(t) \sqrt{\frac{2}{T}}sen(\omega_n t)dt \\&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É impossível falar sobre bases enumeráveis de um sub-espaço de &amp;lt;math&amp;gt; \mathbb{R}^{\mathbb{R}} &amp;lt;/math&amp;gt; sem representar esse canhão matemático com uma animação. Abaixo segue uma visualização que calcula as primeiras &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; coordenadas (&amp;lt;math&amp;gt;a_0,\dots,a_N&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;b_1,\dots,b_N&amp;lt;/math&amp;gt;) de um sinal qualquer e sobrepõem a série obtida incrementando &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; até as duas curvas serem indistinguíveis a olho nu. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie_fourier_ana_julia.gif|frame|center|Animação de uma série de fourier. É interessante notar que a série converge muito bem com apenas uma dúzia de frequências.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Potência espectral ===&lt;br /&gt;
Adiante vamos ver que o sinal sonoro provém da vibração de um ponto específico da mesma, digamos em &amp;lt;math&amp;gt;x=x_o&amp;lt;/math&amp;gt;, então a função que representa esse sinal é &amp;lt;math&amp;gt;y(x_o, t)&amp;lt;/math&amp;gt;. Como estamos interessados nas frequências que compõem o sinal, será calculado a transformada de fourier de &amp;lt;math&amp;gt;y(x_o, t)&amp;lt;/math&amp;gt; e definido que a potência da frequência &amp;lt;math&amp;gt;f = \omega/(2\pi)&amp;lt;/math&amp;gt; é &amp;lt;math&amp;gt;a_\omega^2 + b_\omega^2&amp;lt;/math&amp;gt;. A potência em função da frequência é o resultado da análise espectral.&lt;br /&gt;
&lt;br /&gt;
== Simulando uma corda de violão ==&lt;br /&gt;
Uma corda de violão geralmente é excitada por uma pancada dada por uma palheta ou pelo próprio dedo/unha do violonista. Essa pancada define uma condição inicial para a equação de onda. Uma suposição razoável da condição gerada é a seguinte&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\begin{aligned}&lt;br /&gt;
y(x, t=0) &amp;amp;= \begin{cases}  &lt;br /&gt;
\frac{h}{x_0}x &amp;amp;, ~ 0 \leq x \leq x_0\\&lt;br /&gt;
\frac{h}{L-x_0}(-x + L) &amp;amp;, ~ x_0 \leq x \leq L\\&lt;br /&gt;
\end{cases} \\&lt;br /&gt;
\frac{\partial}{\partial t} y(x, t=0) &amp;amp;= 0&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
supondo que a corda possui comprimento &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; e a pancado ocorreu em &amp;lt;math&amp;gt;x_o&amp;lt;/math&amp;gt;, causando uma deslocamento máximo &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt;. A imagem a seguir ilustra o estado da corda logo após a excitação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Init_cond_ana_julia.png|thumb|upright=2|center|Condição inicial de uma corda de violão.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dado essa condição inicial, podemos evoluir temporalmente o estado da corda utilizando a equação da onda, mantendo as bordas fixas (&amp;lt;math&amp;gt;y(x=0, t) = y(x=L, t) = 0&amp;lt;/math&amp;gt;), mas como extrair som dessa simulação? Para responder essa pergunta precisamos saber como um violão gera som. Ao contrário do que inicialmente pareça, as ondas sonoras não são diretamente geradas pela vibração das cordas, mas sim da caixa do violão, que está diretamente conectada com as cordas em uma peça chamada ponte. A vibração das cordas gera uma força dependente do tempo que atua na caixa através da ponte, assim vibrando a caixa e gerando o som que escutamos. Portanto, para gerar som de forma realista, precisaríamos fisicamente simular a caixa, levando em consideração a sua geometria e as propriedades física do seu material, e então determinar as ondas de pressão que seriam geradas por essa vibração, o que está fora do escopo do presente trabalho. Felizmente, as seguintes simplificações vão nos permitir calcular as ondas de pressão:&lt;br /&gt;
&lt;br /&gt;
* A força que a ponte exerce na caixa é aproximadamente proporcional a sua velocidade (Dinâmica aristotélica).&lt;br /&gt;
* A onda de pressão produzida pela caixa é aproximadamente proporcional a sua velocidade.&lt;br /&gt;
&lt;br /&gt;
A força que a ponte exercer na caixa (&amp;lt;math&amp;gt;F(t)&amp;lt;/math&amp;gt;) é a força que a corda exerce na ponte (pois a ponte está firmemente conectada na caixa), e essa força é proporcional a inclinação da corda, ou seja&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F(t) = T \frac{\partial}{\partial x}y(x=0, t) \approx T\frac{y(\Delta x, t) - \overbrace{y(0, t)}^{0}}{\Delta x} = \frac{T}{\Delta x} y(\Delta x, t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a tensão na corda. Portando, o sinal da onda de pressão pode ser aproximado como o deslocamento de um ponto da corda próximo a ponte. Para gerar som com esse sinal, o tipo de arquivo [https://en.wikipedia.org/wiki/WAV#:~:text=Waveform%20Audio%20File%20Format%20(WAVE,1991%20by%20IBM%20and%20Microsoft. WAV]] é utilizado, pois o seu dado de entrada pode ser justante o sinal da onda de pressão.&lt;br /&gt;
&lt;br /&gt;
Agora tudo está pronto para fazermos uma simulação, vamos tentar reproduzir a nota lá (&amp;lt;math&amp;gt;f = 440~Hz&amp;lt;/math&amp;gt;). Primeiro precisamos descobrir qual deve ser a velocidade de propagação das ondas (&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;) para gerar a nota em questão. Resolvendo a equação da onda ideal, obtemos que as possíveis frequência que existem na solução são &amp;lt;math&amp;gt;f_n = \frac{nc}{2L} &amp;lt;/math&amp;gt;, então não é possível fazer a corda vibrar apenas com uma frequência, mas quando músicos se referem a uma nota, eles realmente estão se referindo a &amp;lt;math&amp;gt;f_1&amp;lt;/math&amp;gt;, a primeira frequência que compõem o sinal, então&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; f_1 = \frac{c}{2L} = 440~Hz \Rightarrow c = L \cdot 880~Hz&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assumindo &amp;lt;math&amp;gt;L=1~m&amp;lt;/math&amp;gt;, temos que &amp;lt;math&amp;gt;c = 880~m/s&amp;lt;/math&amp;gt;. Resolvendo a equação da onda realista pelo método FTCS com os seguinte parâmetros&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Parâmetros da condição inicial&lt;br /&gt;
|-&lt;br /&gt;
! Parâmetros !! Valor&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;x_o&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;0,5~L&amp;lt;/math&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| h || 1 cm &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Parâmetros da integração&lt;br /&gt;
|-&lt;br /&gt;
! Parâmetros !! Valor&lt;br /&gt;
|-&lt;br /&gt;
| k || 1/4 &lt;br /&gt;
|-&lt;br /&gt;
| c || 880 m/s &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt; || 0,01 m&lt;br /&gt;
|-&lt;br /&gt;
| L || 1 m &lt;br /&gt;
|-&lt;br /&gt;
| b || 5 &amp;lt;math&amp;gt;s^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
obtemos o seguinte resultado&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Corda_vibrando_ana_julia.gif|frame|center|Solução da equação de onda ideal e realista.]]&lt;br /&gt;
&lt;br /&gt;
Na animação acima, por questão de comparação, também foi coloca a solução de uma simulação com os mesmos parâmetros, apenas com a modificação &amp;lt;math&amp;gt;b=\epsilon=0&amp;lt;/math&amp;gt;, que seria o caso ideal (sem amortecimento e rigidez).&lt;br /&gt;
 &lt;br /&gt;
Realizando a análise espectral do deslocamento de um ponto próximo de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, obtemos o seguinte gráfico&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_ana_julia.png |thumb|upright=2|center|Espectro do deslocamento de um ponto próximo de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As linhas verticais pretas e tracejadas representam as possíveis frequências da solução do caso ideal, ou seja, a primeira linha está em &amp;lt;math&amp;gt;f = 440 Hz &amp;lt;/math&amp;gt; como era de se esperar, mas é notável que a segunda e quarta linhas possuem uma potência praticamente nula, isso ocorre porque a excitação inicial foi exatamente no meio, e as frequência correspondentes a essas linhas provém de ondas estacionário que possum um nodo em &amp;lt;math&amp;gt;x=L/2&amp;lt;/math&amp;gt;, logo elas não foram excitadas pela condição inicial. Mudando o ponto de excitação inicial, podemos ver essas frequências aparecendo, rodando a simulação novamente, mas com &amp;lt;math&amp;gt;x_o = 0,2~L&amp;lt;/math&amp;gt;, obtemos o seguinte espectro&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_bridge_ana_julia.png |thumb|upright=2|center|Espectro para excitação inicial em &amp;lt;math&amp;gt;x_0 = 0,2~L&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos observar a influência da rigidez rodando a simulação com &amp;lt;math&amp;gt;\epsilon=10^{-8}&amp;lt;/math&amp;gt; (10 vezes maior do que o valor anterior) e olhar o espectro produzido&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_high_stiff_ana_julia.png |thumb|upright=2|center|Espectro para &amp;lt;math&amp;gt;\epsilon=10^{-8}&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O efeito mais notável é o deslocamento para esquerda das frequência em relação as frequências que compõem o sinal no caso ideal.&lt;br /&gt;
&lt;br /&gt;
Por fim, conforme descrito anteriormente, podemos gerar som com as dados da simulação, mas infelizmente essa wiki não nos permite upar arquivos de áudio. No entanto, áudio das simulações discutidas aqui podem ser encontrados no repositório do projeto [https://github.com/marcos1561/ana-julia ana-julia] dentro da pasta &amp;quot;sound&amp;quot;. Em especial, o efeito de deslocamento de frequências causado pela rigidez é bastante evidente escutando os áudios.&lt;br /&gt;
&lt;br /&gt;
=== Bônus ===&lt;br /&gt;
Apenas por diversão, segue uma animação de um pacote gaussiano como condição inicial&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Gaussian_package_ana_julia.gif|frame|center|Animação da solução da equação da onda com um pacote gaussiano como condição inicial.]]&lt;br /&gt;
&lt;br /&gt;
== Notas ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;fator_ampl&amp;quot;&amp;gt; Perceba que não estamos operando expoentes, mas sim usando a relação entre os índices &amp;lt;math&amp;gt; B^{n-1}/B^{n} = B^{m}/B^{m+1} = A^{-1} &amp;lt;/math&amp;gt;.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;norm_const&amp;quot;&amp;gt;A constante &amp;lt;math&amp;gt; 1/\sqrt{\pi} &amp;lt;/math&amp;gt; está presente por questão de normalização. Esse caso pode parecer um pouco estranho, dado que não é possível normalizar os cossenos e senos, pois sua integral em todo a reta não é definida, mas o que se deseja é a seguinte propriedade &lt;br /&gt;
&amp;lt;math&amp;gt;\int_{\mathbb{R}}A_{\omega}cos(\omega t) \cdot A_{\omega&#039;}cos(\omega&#039; t)dt = \delta(\omega-\omega&#039;) &amp;lt;/math&amp;gt;&lt;br /&gt;
que é safisfeita quando &amp;lt;math&amp;gt; A_{\omega} = A_{\omega&#039;} =  1/\sqrt{\pi}, ~ \forall \omega,\omega&#039;&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Corda_Vibrante&amp;diff=10179</id>
		<title>Corda Vibrante</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Corda_Vibrante&amp;diff=10179"/>
		<updated>2024-04-23T02:41:04Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: /* Potência espectral */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== A equação da onda ==&lt;br /&gt;
No estudo das oscilações, é comum entre os físicos o emprego de modelos simples como representações &amp;quot;prototípicas&amp;quot; de certos padrões básicos observados na natureza. A eficácia desses modelos simples decorre de duas características fundamentais: a capacidade de serem compreendidos em detalhes minuciosos e a habilidade de reproduzir comportamentos semelhantes aos de situações reais e mais complexas, auxiliando na compreensão destas, pelo menos em termos qualitativos.&lt;br /&gt;
&lt;br /&gt;
Quando se trata de comportamentos oscilatórios, o modelo mais comumente utilizado é o do sistema massa-mola. Por outro lado, para descrever comportamentos ondulatórios unidimensionais, o modelo simples mais difundido é o da corda vibrante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Consideremos uma corda esticada, como a corda de um violão, por exemplo. Suponhamos que esta corda tenha um comprimento &amp;lt;math&amp;gt; L &amp;lt;/math&amp;gt; e que suas extremidades estejam fixas nos pontos &amp;lt;math&amp;gt; x = 0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; x = L &amp;lt;/math&amp;gt;. Além disso, vamos supor que a corda tenha uma densidade linear uniforme representada por &amp;lt;math&amp;gt; \mu = \frac{dm}{dx} &amp;lt;/math&amp;gt;, e que esteja sob uma tensão constante &amp;lt;math&amp;gt; T &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Assumindo que a corda realize vibrações transversais apenas na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt; (embora possa ter vibrações transversais na direção &amp;lt;math&amp;gt; z &amp;lt;/math&amp;gt;, as quais vamos ignorar aqui), podemos representar a configuração da corda em qualquer instante de tempo no plano &amp;lt;math&amp;gt; xy &amp;lt;/math&amp;gt; por uma função &amp;lt;math&amp;gt; y(x,t) &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vamos considerar mais algumas suposições:&lt;br /&gt;
&lt;br /&gt;
I) A tensão &amp;lt;math&amp;gt; T &amp;lt;/math&amp;gt; que estica a corda é tão alta que podemos negligenciar a força gravitacional sobre ela;&lt;br /&gt;
&lt;br /&gt;
II) A corda é perfeitamente elástica, ou seja, não oferece resistência a dobras;&lt;br /&gt;
&lt;br /&gt;
III) Os deslocamentos da corda, que ocorrem apenas na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt;, são de pequena amplitude.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Com essas suposições em mente, estamos prontos para abordar o problema da corda vibrante. Em qualquer instante de tempo, um segmento arbitrário da corda estará na posição geral indicada pela figura abaixo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:posicao_generica.png|400px|thumb|center|Posição genérica de um pedaço qualquer da corda]]&lt;br /&gt;
&lt;br /&gt;
A massa do pequeno segmento de corda de comprimento &amp;lt;math&amp;gt; \Delta{x} &amp;lt;/math&amp;gt; é&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\Delta{m} = \mu \Delta{x}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As componentes horizontal e vertical da força resultante atuando sobre esse segmento são:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_x = T \cos{(\theta + \Delta{\theta})} - T \cos{(\theta)}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
e&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_y = T \sin{(\theta + \Delta{\theta})} - T \sin{(\theta)}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Estamos assumindo que a corda não se move na direção &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; (apenas na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt;). Isso implica que a força resultante na direção &amp;lt;math&amp;gt; x &amp;lt;/math&amp;gt; é nula (&amp;lt;math&amp;gt; F_x = 0 &amp;lt;/math&amp;gt;). Substituindo essa condição na equação, obtemos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\cos{(\theta + \Delta{\theta})} = \cos{(\theta)}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E a força resultante na direção &amp;lt;math&amp;gt; y &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; F_y &amp;lt;/math&amp;gt;, é dada de acordo com a segunda lei de Newton:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F_y = (\mu \Delta{x})a_y = (\mu \Delta{x}) \frac{\partial^2{y}}{\partial{t^2}},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
então:&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
T \sin{(\theta + \Delta{\theta})} - T \sin{(\theta)} = (\mu \Delta{x}) \frac{\partial^2{y}}{\partial{t^2}},&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
ou&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\sin{(\theta + \Delta{\theta})} - \sin{(\theta)} = \Delta{x} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos prosseguir dividindo os dois lados da equação acima pelo termo &amp;lt;math&amp;gt; \cos{(\theta)} &amp;lt;/math&amp;gt;, sabendo que &amp;lt;math&amp;gt; \cos{(\theta)} = \cos{(\theta + \Delta{\theta})} &amp;lt;/math&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\sin{(\theta + \Delta{\theta})}}{\cos{(\theta + \Delta{\theta})}} - \frac{\sin{(\theta)}}{\cos{(\theta)}} = \frac{\Delta{x}}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}} \to \tan{(\theta + \Delta{\theta})} - \tan{(\theta)} = \frac{\Delta{x}}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Considerando que o coeficiente angular da reta tangente a uma função em um dado ponto do seu domínio é igual à derivada da função nesse ponto, temos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial{y}}{\partial{x}} (x + \Delta{x}, t) - \frac{\partial{y}}{\partial{x}} (x, t) = \frac{\Delta{x}}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}}.&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dividindo ambos os lados por &amp;lt;math&amp;gt; \Delta{x} &amp;lt;/math&amp;gt;, teremos do lado esquerdo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\frac{\partial{y}}{\partial{x}} (x + \Delta{x}, t) - \frac{\partial{y}}{\partial{x}} (x, t)}{\Delta{x}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e no limite que &amp;lt;math&amp;gt; \Delta{x} \to 0 &amp;lt;/math&amp;gt;, a expressão se torna uma derivada parcial segunda &amp;lt;math&amp;gt; \frac{\partial^2{y}}{\partial{x^2}} &amp;lt;/math&amp;gt;, nos permitindo reescrever a equação como:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2{y}}{\partial{x^2}} (x, t) = \frac{1}{\cos{(\theta)}} \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}} (x, t).&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E, como última manipulação, vamos supor agora que os deslocamentos da corda são pequenos, o que implica que os ângulos associados a esses deslocamentos também são pequenos: &amp;lt;math&amp;gt; \theta &amp;lt;&amp;lt; 1 &amp;lt;/math&amp;gt;. Com essa condição, &amp;lt;math&amp;gt; \cos{(\theta)} \approx 1 &amp;lt;/math&amp;gt; e chegamos em:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2{y}}{\partial{x^2}} (x, t) = \frac{\mu}{T} \frac{\partial^2{y}}{\partial{t^2}} (x, t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde o termo &amp;lt;math&amp;gt; \frac{\mu}{T} &amp;lt;/math&amp;gt; tem dimensão de &amp;lt;math&amp;gt; \frac{1}{c^2} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; c &amp;lt;/math&amp;gt; é a velocidade de propagação de ondas na corda esticada:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2{y}}{\partial{x^2}} (x, t) = \frac{1}{c^2} \frac{\partial^2{y}}{\partial{t^2}} (x, t) \Leftrightarrow \frac{\partial^2{y}}{\partial{t^2}} (x, t) = &lt;br /&gt;
c^2 \frac{\partial^2{y}}{\partial{x^2}} (x, t).&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Chegando a conlusão de que essa é a expressão para a corda vibrante e que a velocidade de propagação aumenta com a tensão na corda e diminui com a sua inércia (massa por unidade de comprimento).&lt;br /&gt;
&lt;br /&gt;
== Método FTCS ==&lt;br /&gt;
&lt;br /&gt;
O método FTCS (Forward Time Central Space) é uma abordagem progressiva no tempo e centrada no espaço. Em outras palavras, ao lidarmos com uma função de duas variáveis, buscamos uma solução futura em termos do tempo, centrada em uma vizinhança espacial. Para a resolução numérica da equação diferencial unidimensional da onda, optamos por trabalhar exclusivamente com o método explícito.&lt;br /&gt;
&lt;br /&gt;
=== Corda Ideal ===&lt;br /&gt;
&lt;br /&gt;
==== Método Explícito ====&lt;br /&gt;
&lt;br /&gt;
Para aplicar o método, é necessário inicialmente discretizar tanto as variáveis espaciais quanto as variáveis temporais. Seja a função &amp;lt;math&amp;gt; y(t,x): \mathbb{R}^{2} \mapsto \mathbb{R} &amp;lt;/math&amp;gt;, sejam os intervalos &amp;lt;math&amp;gt; \left [ 0,X \right ], \left [ 0,T \right ]\subset \mathbb{R} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; N,M\in \mathbb{N} &amp;lt;/math&amp;gt;, discretizamos os intervalos em espaçamentos iguais &amp;lt;math&amp;gt; \Delta x = X/N &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; \Delta t = T/M &amp;lt;/math&amp;gt; de tal maneira que obtemos as sequências crescentes monótonas &amp;lt;math&amp;gt;\left \{ x_{i} \right \}_{i=0}^{N} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\left \{ t_{i} \right \}_{j=0}^{M} &amp;lt;/math&amp;gt; . Assim obtemos uma grade de malhas de pontos &amp;lt;math&amp;gt; (t_{i}, x_{i}) &amp;lt;/math&amp;gt; onde a função &amp;lt;math&amp;gt; y(t,x) &amp;lt;/math&amp;gt; tem seus valores aproximados por &amp;lt;math&amp;gt; y(t_{i}, x_{i}) &amp;lt;/math&amp;gt; denotado &amp;lt;math&amp;gt; y_{j}^{n} &amp;lt;/math&amp;gt;. Uma abordagem comum envolve a discretização da primeira derivada no tempo utilizando uma diferença finita progressiva baseada na expansão em séries de Taylor até a primeira ordem :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial y}{\partial t} \approx \frac{y(t+\Delta t, x) - y(t, x)}{\Delta t} = \frac{y_{j}^{n+1} - y_{j}^{n}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Discretizando a derivada temporal segunda utilizando um diferença finita regressiva :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} \approx  \frac{\partial}{\partial t} \left(\frac{y_{j}^{n+1} - y_{j}^{n}}{\Delta t}\right) \approx \frac{1}{\Delta t}\left [\frac{y\left (t+\Delta t, x  \right ) - y\left (\left (t + \Delta t  \right )- \Delta t, x  \right )}{\Delta t} - \frac{y\left (t,x  \right ) - y\left (t - \Delta t, x  \right )}{\Delta t } \right ] = \frac{y\left (t + \Delta t, x  \right ) + y\left (t - \Delta t, x  \right ) - 2y\left (t, x  \right )}{(\Delta t)^{2}} = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que o processo retorna uma derivada de diferenças finitas centrada, além disso obtemos um aproximação de segunda ordem. O mecanismo de discretização das derivadas espaciais é completamente análogo, a derivada segunda centrada :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^{2} y}{\partial x^{2}} \approx \frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aplicando as expressões das diferenciais na equação da onda :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} = c^{2} \frac{\partial^2 y}{\partial x^2} \mapsto \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} = c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
defina &amp;lt;math&amp;gt; a := c\Delta t / \Delta x &amp;lt;/math&amp;gt; e explicite a variável no estado temporal futuro, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_{j}^{n+1} = 2\left(1 - a^{2}\right)y_{j}^{n} - y_{j}^{n-1} + a^{2}\left ( y_{j+1}^{n} + y_{j-1}^{n}\right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
uma equação explicita no tempo &amp;lt;math&amp;gt; n+1 &amp;lt;/math&amp;gt; dependendo somente de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; n-1 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Estabilidade ====&lt;br /&gt;
&lt;br /&gt;
Para analisar a estabilidade da solução numérica para a equação da onda, utilizaremos o método de Von Neumann. O procedimento consiste em utilizar a transformada de Fourier para determinar a estabilidade do esquema, a solução problema tem a forma : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_{j}^{n+1}(\xi) = A(\xi \Delta x, \Delta x, \Delta t) y_{j}^{n}(\xi)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; \xi \in \left [ -\pi / \Delta x, \pi / \Delta x \right ] &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; é o fator de amplificação, observe que podemos estudar a estabilidade da aproximação somente analisando o fator de amplificação. &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Teorema&#039;&#039;&#039; : Se o fator de amplificação não depender de &amp;lt;math&amp;gt; \Delta x &amp;lt;/math&amp;gt; nem &amp;lt;math&amp;gt; \Delta t &amp;lt;/math&amp;gt;, então a aproximação é estável se &amp;lt;math&amp;gt; \left | A(\xi \Delta x) \right | \leq 1 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Vejamos a estabilidade da aproximação de diferenças finitas para a equação da onda, utilizando as componentes de Fourier &amp;lt;math &amp;gt;y_{j}^{n} \mapsto B^{n}e^{ikj\Delta x} &amp;lt;/math&amp;gt;, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
B^{n+1}e^{ikj\Delta x} = 2\left ( 1-a^{2} \right )B^{n}e^{ikj\Delta x} - B^{n-1}e^{ikj\Delta x} + a^{2}\left ( B^{n}e^{ik(j+1)\Delta x} + B^{n}e^{ik(j-1)\Delta x} \right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
simplificando os termos em comum :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
B^{n+1} + B^{n-1}  = B^{n} \left [ 2\left ( 1-a^{2} \right ) + a^{2}\left (e^{ik\Delta x} + e^{-ik\Delta x}\right )\right ]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que &amp;lt;math&amp;gt; e^{ik\Delta x} - e^{-ik\Delta x} = 2cos(k\Delta x) &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{B^{n+1} + B^{n-1}}{B^{n}} = 2\left ( 1-a^{2} \right ) + 2a^{2}cos(k\Delta x)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
utilizando a identidade trigonométrica &amp;lt;math&amp;gt; cos(\theta) = cos^{2}(\theta /2) - sen^{2}(\theta /2) &amp;lt;/math&amp;gt; e a identidade trigonométrica fundamental &amp;lt;math&amp;gt; 1 = cos^{2}(\theta) + sen^{2}(\theta) &amp;lt;/math&amp;gt;, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A + \frac{1}{A} = -2\left [ 2a^{2}sen^{2}\left ( \frac{k\Delta x}{2} \right ) -1 \right ]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; A = B^{n+1}/B^{n} &amp;lt;/math&amp;gt; &amp;lt;ref name=&amp;quot;fator_ampl&amp;quot;/&amp;gt; é o fator de amplificação. Defina &amp;lt;math&amp;gt; d :=  2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 &amp;lt;/math&amp;gt;. Portanto obtemos a equação quadrática com soluções :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A^{2} + 2dA + 1 = 0 \Rightarrow A_{1,2} = -d \pm \sqrt{d^{2}-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
se &amp;lt;math&amp;gt; \left | d \right | &amp;gt; 1 &amp;lt;/math&amp;gt;, então : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
-1&amp;gt;d&amp;gt;1 \Rightarrow -1 &amp;gt; 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 &amp;gt; 1  \Rightarrow 0 &amp;gt; 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) &amp;gt; 2 \Rightarrow 0 &amp;gt; \left( asen\left (k\Delta x / 2 \right ) \right)^{2} &amp;gt; 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
o que é um aburdo, pois &amp;lt;math&amp;gt; asen\left (k\Delta x / 2 \right )\in \mathbb{R} &amp;lt;/math&amp;gt;. Se &amp;lt;math&amp;gt; \left | d \right | \leq  1 &amp;lt;/math&amp;gt; , então : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
-1\leq d \leq 1 \Rightarrow -1 \leq 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 \leq 1  \Rightarrow 0 \leq 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) \leq 2 \Rightarrow 0 \leq \left( asen\left (k\Delta x / 2 \right ) \right)^{2} \leq 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que &amp;lt;math&amp;gt; sen\left (k\Delta x / 2 \right ) \leq 1 &amp;lt;/math&amp;gt;, logo &amp;lt;math&amp;gt; a \leq 1 &amp;lt;/math&amp;gt;. Portanto para o método ser condicionalmente estável : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\frac{c \Delta t}{ \Delta x} \leq 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Embora &amp;lt;math&amp;gt; a \leq 1 &amp;lt;/math&amp;gt; garante a estabilidade do processo, &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt; é a melhor escolha possível para a estabilidade do método, pelos seguintes motivos :&lt;br /&gt;
* Quando &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt;, os termos de ordem superior que são descartados na discretização da equação da onda são amplamente cancelados. Essa compensação implica que o método numérico se torna mais estável e menos suscetível a erros numéricos significativos, ou seja, não ocorrerão variações abruptas devido aos termos de ordem maiores;&lt;br /&gt;
* Quando &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt;, a perturbação na corda se propaga exatamente um passo espacial a cada passo de tempo. Esse comportamento assegura que a velocidade da perturbação seja adequadamente representada pelo algoritmo numérico. Isso ocorre devido a relação entre a velocidade física da corda &amp;lt;math&amp;gt; c &amp;lt;/math&amp;gt; e a velocidade da perturbação &amp;lt;math&amp;gt; v = \Delta x / \Delta t &amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\frac{c \Delta t}{ \Delta x} = \frac{c}{v} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Observe que além de obtermos o intervalo de estabilidade &amp;lt;math&amp;gt; a\in\left [ 0, 1 \right ] &amp;lt;/math&amp;gt;, também obtemos uma restrição na discretização das malhas temporais e espaciais, limitando assim &amp;lt;math&amp;gt; N,M\in \mathbb{N} &amp;lt;/math&amp;gt; a um subconjunto que satisfaça a condição de estabilidade.&lt;br /&gt;
&lt;br /&gt;
=== Corda Não Ideal ===&lt;br /&gt;
&lt;br /&gt;
==== Método Explícito ====&lt;br /&gt;
Optaremos novamente por realizar a análise utilizando um método explícito. Em geral, o desenvolvimento teórico para a discretização da equação diferencial da onda com amortecimento e rigidez é análogo ao caso ideal, portanto, não serão apresentados com detalhes os cálculos necessários para a implementação do método. A derivada quarta centrada é aproximada utilizando diferenças finitas :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^4 y}{\partial x^4} \approx \frac{y_{j+2}^{n} + y_{j+1}^{n} + y_{j}^{n} + y_{j-1}^{n} + y_{j-2}^{n}}{\left ( \Delta x \right )^{4}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
transformando a EDP não homogênea para um espaço discretizado usando a aproximação de diferenças finitas centrada : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} = c^{2}\left ( \frac{\partial^2 y}{\partial x^2} - \epsilon L^{2}\frac{\partial^4 y}{\partial x^4} \right ) - b\frac{\partial y}{\partial t} \mapsto  y_{j}^{n+1} = \left [ \left (2 - 2a^{2} - 6\epsilon a^{2}E^{2} - F \right )y_{j}^{n} - y_{j}^{n-1} + a^{2}\left ( 1 + 4\epsilon E^{2} \right ) \left ( y_{j+1}^{n} + y_{j-1}^{n} \right ) - \epsilon a^{2}E^{2} \left ( y_{j+2}^{n} + y_{j-2}^{n} \right ) \right ]\left (\frac{1}{1-F} \right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; E := L/ \Delta x &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; F := b/ \Delta t &amp;lt;/math&amp;gt;. Novamente obtemos um equação explicita no tempo &amp;lt;math&amp;gt; n+1 &amp;lt;/math&amp;gt; que depende somente de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; n-1 &amp;lt;/math&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
==== Estabilidade ====&lt;br /&gt;
&lt;br /&gt;
A abordagem que empregamos para demonstrar a estabilidade da equação da onda não homogênea é completamente análoga ao caso homogêneo. Em outras palavras, utilizamos o método de Von Neumann em conjunto com o teorema da estabilidade. Ao aplicar novamente as componentes de Fourier, representadas por &amp;lt;math &amp;gt;y_{j}^{n} \mapsto B^{n}e^{ikj\Delta x} &amp;lt;/math&amp;gt;, obtemos uma equação quadrática que impõe a seguinte restrição:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
a = \frac{c \Delta t}{ \Delta x} \leq \frac{1}{4}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
logo, o método é condicionalmente estável no intervalo &amp;lt;math&amp;gt; a\in\left [ 0, 1/4 \right ] &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Convergência ===&lt;br /&gt;
&lt;br /&gt;
Até este ponto, ainda não discutimos o quão bem o esquema de diferenças finitas descreve a solução da equação diferencial. Vamos abordar isso agora. A propriedade mais essencial que um esquema deve possuir é que, à medida que os espaçamentos na malha discreta diminuem, a aproximação para a solução deve se aproximar da solução real do sistema. Portanto, um esquema é considerado uma boa aproximação se &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left ( \Delta t, \Delta x \right ) \rightarrow 0 \Rightarrow \left | y \left ( t_{n}, x_{j}\right )  - y_{j}^{n}  \right |\rightarrow 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; y \left ( t_{n}, x_{j}\right ) &amp;lt;/math&amp;gt; é a solução exata e &amp;lt;math&amp;gt; y_{j}^{n} &amp;lt;/math&amp;gt; a solução aproximada. Se tais condições são satisfeitas, dizemos que o esquema de equações diferenciais finitas é convergente. Entretanto, geralmente, provar a convergência não é uma tarefa trivial. No entanto, podemos demonstrá-la de maneira indireta, utilizando estabilidade e consistência. Se um esquema é estável e consistente, então a convergência do esquema é garantida. Dada uma equação diferencial &amp;lt;math&amp;gt; Dy = f &amp;lt;/math&amp;gt;, dizemos que o esquema de diferenças finitas &amp;lt;math&amp;gt; D_{\Delta t \Delta x}y = f &amp;lt;/math&amp;gt; é consistente com a equação diferencial se, para qualquer função suficientemente diferenciável &amp;lt;math&amp;gt; \phi(t, x) &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\left ( \Delta t, \Delta x \right ) \rightarrow 0 \Rightarrow  D \phi  - D_{\Delta t \Delta x} \phi  \rightarrow 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mostremos a consistência da aproximação de diferenças finitas para a equação da onda homogênea. Seja a EDP da onda &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
Dy\left ( t, x \right ) = \frac{\partial^2 y}{\partial t^2} - c^{2}\frac{\partial^2 y}{\partial x^2}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
e seja a equação de diferenças finitas &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
D_{\left (\Delta t \Delta x  \right )}y\left ( t, x \right ) = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} - c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pela aproximação que demonstramos anteriormente, temos : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
&amp;amp;\frac{\partial^2 y}{\partial t^2} - c^{2}\frac{\partial^2 y}{\partial x^2} = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} + O\left ( \Delta t^{2} \right )- c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}} + O\left ( \Delta x^{2} \right ) \\&lt;br /&gt;
&amp;amp;\frac{\partial^2 y}{\partial t^2} - c^{2}\frac{\partial^2 y}{\partial x^2} - \left (\frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} - c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}  \right ) = O\left ( \Delta t^{2} \right ) + O\left ( \Delta x^{2} \right ) \\&lt;br /&gt;
&amp;amp;Dy\left ( t, x \right ) - D_{\left (\Delta t \Delta x  \right )}y\left ( t, x \right ) = O\left ( \Delta t^{2} \right ) + O\left ( \Delta x^{2} \right )&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
como estamos supondo que os termos de ordem 2 são desprezíveis, &amp;lt;math&amp;gt; O\left ( \Delta t^{2} \right ) \rightarrow 0 &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; O\left ( \Delta x^{2} \right ) \rightarrow 0 &amp;lt;/math&amp;gt;. Logo : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
Dy\left ( t, x \right ) - D_{\left (\Delta t \Delta x  \right )}y\left ( t, x \right ) \rightarrow 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
portanto o esquema de diferenças finitas é consistente. Como na seção anterior já havíamos provado a estabilidade condicional do método, podemos concluir que o esquema é condicionalmente convergente (é consistente e condicionalmente estável) e portanto representa uma boa aproximação para a solução exata da equação diferencial.&lt;br /&gt;
&lt;br /&gt;
== Análise espectral ==&lt;br /&gt;
Uma possível forma para quantitativamente analisar o som gerado por uma corda vibrante é estudar as frequências que compõem o seu movimento, técnica essa chamada de análise espectral. Antes de prosseguirmos vamos recapitular alguns resultados da álgebra linear&lt;br /&gt;
&lt;br /&gt;
=== Supremacia da álgebra linear ===&lt;br /&gt;
O seguinte conjunto &amp;lt;math&amp;gt; \mathbb{R}^{\mathbb{R}} = \{ f~|~f: \mathbb{R} \to \mathbb{R} \} &amp;lt;/math&amp;gt; é o espaço de funções reais de uma variável. Esse conjunto é um espaço vetorial, logo podemos utilizar toda a artilharia da álgebra linear, em especial, estamos interessados no sub-espaço gerado pela base &amp;lt;math&amp;gt; B = \{sen(\omega t) / \sqrt{\pi}, cos(\omega t) / \sqrt{\pi} \}_{\omega \in \mathbb{R^+}} &amp;lt;/math&amp;gt; &amp;lt;ref name=&amp;quot;norm_const&amp;quot;/&amp;gt;, pois elementos de &amp;lt;math&amp;gt; B &amp;lt;/math&amp;gt;, interpretados como sinais sonoros, representam um frequência pura de valor &amp;lt;math&amp;gt;f=\omega/(2\pi)&amp;lt;/math&amp;gt;. Dessa forma, um sinal arbitrário &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; pode ser escrito em termos das frequências puras que o formam&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 s(t) = \frac{1}{\sqrt{\pi}}\int_{0}^{\infty}[a(\omega)cos(\omega t) + b(\omega)sen(\omega t]d\omega&lt;br /&gt;
&amp;lt;/math&amp;gt;  &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E podemos extrair suas coordenadas (também chamadas de transformada de fourier do sinal) (&amp;lt;math&amp;gt;a(\omega)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;b(\omega)&amp;lt;/math&amp;gt;), fazendo o produto escalar com os elementos da base&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
a(\omega) &amp;amp;= \int_{-\infty}^{\infty}s(t)\frac{1}{\sqrt{\pi}}cos(\omega t)dt \\&lt;br /&gt;
b(\omega) &amp;amp;= \int_{-\infty}^{\infty}s(t)\frac{1}{\sqrt{\pi}}sen(\omega t)dt&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Se o domínio de &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; é limitado, digamos &amp;lt;math&amp;gt;t \in [0, T]&amp;lt;/math&amp;gt;, então uma base infinita com cardinalidade enumerável (em contraste com a base anterior, que possui cardinalidade não enumerável) é suficiente para representar &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt;, uma possível base ortonormal é a seguinte: &amp;lt;math&amp;gt;\bigg\{ \sqrt{\frac{1}{T}}, \sqrt{\frac{2}{T}}sen(\omega_n t), \sqrt{\frac{2}{T}}cos(\omega_n t) \bigg\}_{n \in \mathbb{N^*}}&amp;lt;/math&amp;gt;, em que &amp;lt;math&amp;gt; \omega_n = \frac{n\pi}{T} &amp;lt;/math&amp;gt;. Dessa forma, a representação e coordenadas de &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; ficam&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
s(t) &amp;amp;= a_0\sqrt{\frac{1}{T}} + \sqrt{\frac{2}{T}}\sum_{n=1}^{\infty}\bigg[a_n cos(\omega_n t) + b_n sen(\omega_n) \bigg] \\&lt;br /&gt;
a_0 &amp;amp;= \int_0^T s(t) \sqrt{\frac{1}{T}}dt \\&lt;br /&gt;
a_n &amp;amp;= \int_0^T s(t) \sqrt{\frac{2}{T}}cos(\omega_n t)dt \\&lt;br /&gt;
b_n &amp;amp;= \int_0^T s(t) \sqrt{\frac{2}{T}}sen(\omega_n t)dt \\&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É impossível falar sobre bases enumeráveis de um sub-espaço de &amp;lt;math&amp;gt; \mathbb{R}^{\mathbb{R}} &amp;lt;/math&amp;gt; sem representar esse canhão matemático com uma animação. Abaixo segue uma visualização que calcula as primeiras &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; coordenadas (&amp;lt;math&amp;gt;a_0,\dots,a_N&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;b_1,\dots,b_N&amp;lt;/math&amp;gt;) de um sinal qualquer e sobrepõem a série obtida incrementando &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; até as duas curvas serem indistinguíveis a olho nu. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie_fourier_ana_julia.gif|frame|center|Animação de uma série de fourier. É interessante notar que a série converge muito bem com apenas uma dúzia de frequências.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Potência espectral ===&lt;br /&gt;
Adiante vamos ver que o sinal sonoro provém da vibração de um ponto específico da mesma, digamos em &amp;lt;math&amp;gt;x=x_o&amp;lt;/math&amp;gt;, então a função que representa esse sinal é &amp;lt;math&amp;gt;y(x_o, t)&amp;lt;/math&amp;gt;. Como estamos interessados nas frequências que compõem o sinal, será calculado a transformada de fourier de &amp;lt;math&amp;gt;y(x_o, t)&amp;lt;/math&amp;gt; e vamos definir que a potência da frequência &amp;lt;math&amp;gt;f = \omega/(2\pi)&amp;lt;/math&amp;gt; é &amp;lt;math&amp;gt;a_\omega^2 + b_\omega^2&amp;lt;/math&amp;gt;. A potência em função da frequência é o resultado da análise espectral.&lt;br /&gt;
&lt;br /&gt;
== Simulando uma corda de violão ==&lt;br /&gt;
Uma corda de violão geralmente é excitada por uma pancada dada por uma palheta ou pelo próprio dedo/unha do violonista. Essa pancada define uma condição inicial para a equação de onda. Uma suposição razoável da condição gerada é a seguinte&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\begin{aligned}&lt;br /&gt;
y(x, t=0) &amp;amp;= \begin{cases}  &lt;br /&gt;
\frac{h}{x_0}x &amp;amp;, ~ 0 \leq x \leq x_0\\&lt;br /&gt;
\frac{h}{L-x_0}(-x + L) &amp;amp;, ~ x_0 \leq x \leq L\\&lt;br /&gt;
\end{cases} \\&lt;br /&gt;
\frac{\partial}{\partial t} y(x, t=0) &amp;amp;= 0&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
supondo que a corda possui comprimento &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; e a pancado ocorreu em &amp;lt;math&amp;gt;x_o&amp;lt;/math&amp;gt;, causando uma deslocamento máximo &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt;. A imagem a seguir ilustra o estado da corda logo após a excitação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Init_cond_ana_julia.png|thumb|upright=2|center|Condição inicial de uma corda de violão.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dado essa condição inicial, podemos evoluir temporalmente o estado da corda utilizando a equação da onda, mantendo as bordas fixas (&amp;lt;math&amp;gt;y(x=0, t) = y(x=L, t) = 0&amp;lt;/math&amp;gt;), mas como extrair som dessa simulação? Para responder essa pergunta precisamos saber como um violão gera som. Ao contrário do que inicialmente pareça, as ondas sonoras não são diretamente geradas pela vibração das cordas, mas sim da caixa do violão, que está diretamente conectada com as cordas em uma peça chamada ponte. A vibração das cordas gera uma força dependente do tempo que atua na caixa através da ponte, assim vibrando a caixa e gerando o som que escutamos. Portanto, para gerar som de forma realista, precisaríamos fisicamente simular a caixa, levando em consideração a sua geometria e as propriedades física do seu material, e então determinar as ondas de pressão que seriam geradas por essa vibração, o que está fora do escopo do presente trabalho. Felizmente, as seguintes simplificações vão nos permitir calcular as ondas de pressão:&lt;br /&gt;
&lt;br /&gt;
* A força que a ponte exerce na caixa é aproximadamente proporcional a sua velocidade (Dinâmica aristotélica).&lt;br /&gt;
* A onda de pressão produzida pela caixa é aproximadamente proporcional a sua velocidade.&lt;br /&gt;
&lt;br /&gt;
A força que a ponte exercer na caixa (&amp;lt;math&amp;gt;F(t)&amp;lt;/math&amp;gt;) é a força que a corda exerce na ponte (pois a ponte está firmemente conectada na caixa), e essa força é proporcional a inclinação da corda, ou seja&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F(t) = T \frac{\partial}{\partial x}y(x=0, t) \approx T\frac{y(\Delta x, t) - \overbrace{y(0, t)}^{0}}{\Delta x} = \frac{T}{\Delta x} y(\Delta x, t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a tensão na corda. Portando, o sinal da onda de pressão pode ser aproximado como o deslocamento de um ponto da corda próximo a ponte. Para gerar som com esse sinal, o tipo de arquivo [https://en.wikipedia.org/wiki/WAV#:~:text=Waveform%20Audio%20File%20Format%20(WAVE,1991%20by%20IBM%20and%20Microsoft. WAV]] é utilizado, pois o seu dado de entrada pode ser justante o sinal da onda de pressão.&lt;br /&gt;
&lt;br /&gt;
Agora tudo está pronto para fazermos uma simulação, vamos tentar reproduzir a nota lá (&amp;lt;math&amp;gt;f = 440~Hz&amp;lt;/math&amp;gt;). Primeiro precisamos descobrir qual deve ser a velocidade de propagação das ondas (&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;) para gerar a nota em questão. Resolvendo a equação da onda ideal, obtemos que as possíveis frequência que existem na solução são &amp;lt;math&amp;gt;f_n = \frac{nc}{2L} &amp;lt;/math&amp;gt;, então não é possível fazer a corda vibrar apenas com uma frequência, mas quando músicos se referem a uma nota, eles realmente estão se referindo a &amp;lt;math&amp;gt;f_1&amp;lt;/math&amp;gt;, a primeira frequência que compõem o sinal, então&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; f_1 = \frac{c}{2L} = 440~Hz \Rightarrow c = L \cdot 880~Hz&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assumindo &amp;lt;math&amp;gt;L=1~m&amp;lt;/math&amp;gt;, temos que &amp;lt;math&amp;gt;c = 880~m/s&amp;lt;/math&amp;gt;. Resolvendo a equação da onda realista pelo método FTCS com os seguinte parâmetros&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Parâmetros da condição inicial&lt;br /&gt;
|-&lt;br /&gt;
! Parâmetros !! Valor&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;x_o&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;0,5~L&amp;lt;/math&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| h || 1 cm &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Parâmetros da integração&lt;br /&gt;
|-&lt;br /&gt;
! Parâmetros !! Valor&lt;br /&gt;
|-&lt;br /&gt;
| k || 1/4 &lt;br /&gt;
|-&lt;br /&gt;
| c || 880 m/s &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt; || 0,01 m&lt;br /&gt;
|-&lt;br /&gt;
| L || 1 m &lt;br /&gt;
|-&lt;br /&gt;
| b || 5 &amp;lt;math&amp;gt;s^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
obtemos o seguinte resultado&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Corda_vibrando_ana_julia.gif|frame|center|Solução da equação de onda ideal e realista.]]&lt;br /&gt;
&lt;br /&gt;
Na animação acima, por questão de comparação, também foi coloca a solução de uma simulação com os mesmos parâmetros, apenas com a modificação &amp;lt;math&amp;gt;b=\epsilon=0&amp;lt;/math&amp;gt;, que seria o caso ideal (sem amortecimento e rigidez).&lt;br /&gt;
 &lt;br /&gt;
Realizando a análise espectral do deslocamento de um ponto próximo de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, obtemos o seguinte gráfico&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_ana_julia.png |thumb|upright=2|center|Espectro do deslocamento de um ponto próximo de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As linhas verticais pretas e tracejadas representam as possíveis frequências da solução do caso ideal, ou seja, a primeira linha está em &amp;lt;math&amp;gt;f = 440 Hz &amp;lt;/math&amp;gt; como era de se esperar, mas é notável que a segunda e quarta linhas possuem uma potência praticamente nula, isso ocorre porque a excitação inicial foi exatamente no meio, e as frequência correspondentes a essas linhas provém de ondas estacionário que possum um nodo em &amp;lt;math&amp;gt;x=L/2&amp;lt;/math&amp;gt;, logo elas não foram excitadas pela condição inicial. Mudando o ponto de excitação inicial, podemos ver essas frequências aparecendo, rodando a simulação novamente, mas com &amp;lt;math&amp;gt;x_o = 0,2~L&amp;lt;/math&amp;gt;, obtemos o seguinte espectro&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_bridge_ana_julia.png |thumb|upright=2|center|Espectro para excitação inicial em &amp;lt;math&amp;gt;x_0 = 0,2~L&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos observar a influência da rigidez rodando a simulação com &amp;lt;math&amp;gt;\epsilon=10^{-8}&amp;lt;/math&amp;gt; (10 vezes maior do que o valor anterior) e olhar o espectro produzido&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_high_stiff_ana_julia.png |thumb|upright=2|center|Espectro para &amp;lt;math&amp;gt;\epsilon=10^{-8}&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O efeito mais notável é o deslocamento para esquerda das frequência em relação as frequências que compõem o sinal no caso ideal.&lt;br /&gt;
&lt;br /&gt;
Por fim, conforme descrito anteriormente, podemos gerar som com as dados da simulação, mas infelizmente essa wiki não nos permite upar arquivos de áudio. No entanto, áudio das simulações discutidas aqui podem ser encontrados no repositório do projeto [https://github.com/marcos1561/ana-julia ana-julia] dentro da pasta &amp;quot;sound&amp;quot;. Em especial, o efeito de deslocamento de frequências causado pela rigidez é bastante evidente escutando os áudios.&lt;br /&gt;
&lt;br /&gt;
=== Bônus ===&lt;br /&gt;
Apenas por diversão, segue uma animação de um pacote gaussiano como condição inicial&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Gaussian_package_ana_julia.gif|frame|center|Animação da solução da equação da onda com um pacote gaussiano como condição inicial.]]&lt;br /&gt;
&lt;br /&gt;
== Notas ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;fator_ampl&amp;quot;&amp;gt; Perceba que não estamos operando expoentes, mas sim usando a relação entre os índices &amp;lt;math&amp;gt; B^{n-1}/B^{n} = B^{m}/B^{m+1} = A^{-1} &amp;lt;/math&amp;gt;.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;norm_const&amp;quot;&amp;gt;A constante &amp;lt;math&amp;gt; 1/\sqrt{\pi} &amp;lt;/math&amp;gt; está presente por questão de normalização. Esse caso pode parecer um pouco estranho, dado que não é possível normalizar os cossenos e senos, pois sua integral em todo a reta não é definida, mas o que se deseja é a seguinte propriedade &lt;br /&gt;
&amp;lt;math&amp;gt;\int_{\mathbb{R}}A_{\omega}cos(\omega t) \cdot A_{\omega&#039;}cos(\omega&#039; t)dt = \delta(\omega-\omega&#039;) &amp;lt;/math&amp;gt;&lt;br /&gt;
que é safisfeita quando &amp;lt;math&amp;gt; A_{\omega} = A_{\omega&#039;} =  1/\sqrt{\pi}, ~ \forall \omega,\omega&#039;&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Corda_Vibrante&amp;diff=10143</id>
		<title>Corda Vibrante</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Corda_Vibrante&amp;diff=10143"/>
		<updated>2024-04-21T14:19:14Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: /* Bonus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== A equação da onda ==&lt;br /&gt;
&lt;br /&gt;
== Método FTCS ==&lt;br /&gt;
&lt;br /&gt;
O método FTCS (Forward Time Central Space) é uma abordagem progressiva no tempo e centrada no espaço. Em outras palavras, ao lidarmos com uma função de duas variáveis, buscamos uma solução futura em termos do tempo, centrada em uma vizinhança espacial. Para a resolução numérica da equação diferencial unidimensional da onda, optamos por trabalhar exclusivamente com o método explícito.&lt;br /&gt;
&lt;br /&gt;
=== Corda Ideal ===&lt;br /&gt;
&lt;br /&gt;
==== Método Explícito ====&lt;br /&gt;
&lt;br /&gt;
Para aplicar o método, é necessário inicialmente discretizar tanto as variáveis espaciais quanto as variáveis temporais. Seja a função &amp;lt;math&amp;gt; y(t,x): \mathbb{R}^{2} \mapsto \mathbb{R} &amp;lt;/math&amp;gt;, sejam os intervalos &amp;lt;math&amp;gt; \left [ 0,X \right ], \left [ 0,T \right ]\subset \mathbb{R} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; N,M\in \mathbb{N} &amp;lt;/math&amp;gt;, discretizamos os intervalos em espaçamentos iguais &amp;lt;math&amp;gt; \Delta x = X/N &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; \Delta t = T/M &amp;lt;/math&amp;gt; de tal maneira que obtemos as sequências crescentes monótonas &amp;lt;math&amp;gt;\left \{ x_{i} \right \}_{i=0}^{N} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\left \{ t_{i} \right \}_{j=0}^{M} &amp;lt;/math&amp;gt; . Assim obtemos uma grade de malhas de pontos &amp;lt;math&amp;gt; (t_{i}, x_{i}) &amp;lt;/math&amp;gt; onde a função &amp;lt;math&amp;gt; y(t,x) &amp;lt;/math&amp;gt; tem seus valores aproximados por &amp;lt;math&amp;gt; y(t_{i}, x_{i}) &amp;lt;/math&amp;gt; denotado &amp;lt;math&amp;gt; y_{j}^{n} &amp;lt;/math&amp;gt;. Uma abordagem comum envolve a discretização da primeira derivada no tempo utilizando uma diferença finita progressiva baseada na expansão em séries de Taylor até a primeira ordem :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial y}{\partial t} \approx \frac{y(t+\Delta t, x) - y(t, x)}{\Delta t} = \frac{y_{j}^{n+1} - y_{j}^{n}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Discretizando a derivada temporal segunda utilizando um diferença finita regressiva :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} \approx  \frac{\partial}{\partial t} \left(\frac{y_{j}^{n+1} - y_{j}^{n}}{\Delta t}\right) \approx \frac{1}{\Delta t}\left ( \frac{y(t+\Delta t, x) - y((t + \Delta t)- \Delta t, x)}{\Delta t} - \frac{y(t,x) - y(t - \Delta t, x)}{\Delta t }\right ) = \frac{y(t + \Delta t, x) + y(t - \Delta t, x) - 2y(t, x)}{(\Delta t)^{2}} = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que o processo retorna uma derivada de diferenças finitas centrada, além disso obtemos um aproximação de segunda ordem. O mecanismo de discretização das derivadas espaciais é completamente análogo, a derivada segunda centrada :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^{2} y}{\partial x^{2}} \approx \frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aplicando as expressões das diferenciais na equação da onda :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} = c^{2} \frac{\partial^2 y}{\partial x^2} \mapsto \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} = c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
defina &amp;lt;math&amp;gt; a := c\Delta t / \Delta x &amp;lt;/math&amp;gt; e explicite a variável no estado temporal futuro, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_{j}^{n+1} = 2\left(1 - a^{2}\right)y_{j}^{n} - y_{j}^{n-1} + a^{2}\left ( y_{j+1}^{n} + y_{j-1}^{n}\right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
uma equação explicita no tempo &amp;lt;math&amp;gt; n+1 &amp;lt;/math&amp;gt; dependendo somente de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; n-1 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Estabilidade ====&lt;br /&gt;
&lt;br /&gt;
Para analisar a estabilidade da solução numérica para a equação da onda, utilizaremos o método de Von Neumann. O procedimento consiste em utilizar a transformada de Fourier para determinar a estabilidade do esquema, a solução problema tem a forma : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_{j}^{n+1}(\xi) = A(\xi \Delta x, \Delta x, \Delta t) y_{j}^{n}(\xi)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; \xi \in \left [ -\pi / \Delta x, \pi / \Delta x \right ] &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; é o fator de amplificação, observe que podemos estudar a estabilidade da aproximação somente analisando o fator de amplificação. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Teorema&#039;&#039;&#039; : Se o fator de amplificação não depender de &amp;lt;math&amp;gt; \Delta x &amp;lt;/math&amp;gt; nem &amp;lt;math&amp;gt; \Delta t &amp;lt;/math&amp;gt;, então a aproximação é estável se &amp;lt;math&amp;gt; \left | A(\xi \Delta x) \right | \leq 1 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Vejamos a estabilidade da aproximação de diferenças finitas para a equação do calor, utilizando as componentes de Fourier &amp;lt;math &amp;gt;y_{j}^{n} \mapsto B^{n}e^{ikj\Delta x} &amp;lt;/math&amp;gt;, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
B^{n+1}e^{ikj\Delta x} = 2\left ( 1-a^{2} \right )B^{n}e^{ikj\Delta x} - B^{n-1}e^{ikj\Delta x} + a^{2}\left ( B^{n}e^{ik(j+1)\Delta x} + B^{n}e^{ik(j-1)\Delta x} \right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
simplificando os termos em comum :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
B^{n+1} + B^{n-1}  = B^{n} \left [ 2\left ( 1-a^{2} \right ) + a^{2}\left (e^{ik\Delta x} + e^{-ik\Delta x}\right )\right ]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que &amp;lt;math&amp;gt; e^{ik\Delta x} - e^{-ik\Delta x} = 2cos(k\Delta x) &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{B^{n+1} + B^{n-1}}{B^{n}} = 2\left ( 1-a^{2} \right ) + 2a^{2}cos(k\Delta x)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
utilizando a identidade trigonométrica &amp;lt;math&amp;gt; cos(\theta) = cos^{2}(\theta /2) - sen^{2}(\theta) &amp;lt;/math&amp;gt; e a identidade trigonométrica fundamental, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A - \frac{1}{A} = -2\left [ 2a^{2}sen^{2}\left ( \frac{k\Delta x}{2} \right ) -1 \right ]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; A = B^{n+1}/B^{n} &amp;lt;/math&amp;gt; &amp;lt;ref name=&amp;quot;fator_ampl&amp;quot;/&amp;gt; é o fator de amplificação. Defina &amp;lt;math&amp;gt; d :=  2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 &amp;lt;/math&amp;gt;. Portanto obtemos a equação quadrática com soluções :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A^{2} + 2dA + 1 = 0 \Rightarrow A_{1,2} = -d \pm \sqrt{d^{2}-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
se &amp;lt;math&amp;gt; \left | d \right | &amp;gt; 1 &amp;lt;/math&amp;gt;, então : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
-1&amp;gt;d&amp;gt;1 \Rightarrow -1 &amp;gt; 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 &amp;gt; 1  \Rightarrow 0 &amp;gt; 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) &amp;gt; 2 \Rightarrow 0 &amp;gt; \left( asen\left (k\Delta x / 2 \right ) \right)^{2} &amp;gt; 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
o que é um aburdo, pois esse termo é real. Se &amp;lt;math&amp;gt; \left | d \right | \leq  1 &amp;lt;/math&amp;gt; , então : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
-1\leq d \leq 1 \Rightarrow -1 \leq 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 \leq 1  \Rightarrow 0 \leq 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) \leq 2 \Rightarrow 0 \leq \left( asen\left (k\Delta x / 2 \right ) \right)^{2} \leq 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que &amp;lt;math&amp;gt; sen\left (k\Delta x / 2 \right ) \leq 1 &amp;lt;/math&amp;gt;, logo &amp;lt;math&amp;gt; a \leq 1 &amp;lt;/math&amp;gt;. Portanto para o método ser condicionalmente estável : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\frac{c \Delta t}{ \Delta x} \leq 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Embora &amp;lt;math&amp;gt; a \leq 1 &amp;lt;/math&amp;gt; garante a estabilidade do processo, &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt; é a melhor escolha possível para a estabilidade do método, pelos seguintes motivos :&lt;br /&gt;
* Quando &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt;, os termos de ordem superior que são descartados na discretização da equação da onda são amplamente cancelados. Essa compensação implica que o método numérico se torna mais estável e menos suscetível a erros numéricos significativos, ou seja, não ocorrerão variações abruptas devido aos termos de ordem maiores;&lt;br /&gt;
* Quando &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt;, a perturbação na corda se propaga exatamente um passo espacial a cada passo de tempo. Esse comportamento assegura que a velocidade da perturbação seja adequadamente representada pelo algoritmo numérico. Isso ocorre devido a relação entre a velocidade física da corda &amp;lt;math&amp;gt; c &amp;lt;/math&amp;gt; e a velocidade da perturbação &amp;lt;math&amp;gt; \Delta x / \Delta t &amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\frac{c \Delta t}{ \Delta x} = \frac{c}{v} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Corda Não Ideal ===&lt;br /&gt;
&lt;br /&gt;
==== Método Explícito ====&lt;br /&gt;
Optaremos novamente por realizar a análise utilizando um método explícito. Em geral, o desenvolvimento teórico para a discretização da equação diferencial da onda com amortecimento e rigidez é análogo ao caso ideal, portanto, não serão apresentados com detalhes os cálculos necessários para a implementação do método. A derivada quarta centrada é aproximada utilizando diferenças finitas :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^4 y}{\partial x^4} \approx \frac{y_{j+2}^{n} + y_{j+1}^{n} + y_{j}^{n} + y_{j-1}^{n} + y_{j-2}^{n}}{\left ( \Delta x \right )^{4}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Transformando a EDP não homogênea para um espaço discretizado : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} = c^{2}\left ( \frac{\partial^2 y}{\partial x^2} - \epsilon L^{2}\frac{\partial^4 y}{\partial x^4} \right ) - b\frac{\partial y}{\partial t} \mapsto  y_{j}^{n+1} = \left [ \left (2 - 2a^{2} - 6\epsilon a^{2}E^{2} - F \right )y_{j}^{n} - y_{j}^{n-1} + a^{2}\left ( 1 + 4\epsilon E^{2} \right ) \left ( y_{j+1}^{n} + y_{j-1}^{n} \right ) - \epsilon a^{2}E^{2} \left ( y_{j+2}^{n} + y_{j-2}^{n} \right ) \right ]\left (\frac{1}{1-F} \right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; E := L/ \Delta x &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; F := b/ \Delta t &amp;lt;/math&amp;gt;. Novamente obtemos um equação explicita no tempo &amp;lt;math&amp;gt; n+1 &amp;lt;/math&amp;gt; que depende somente de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; n-1 &amp;lt;/math&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
==== Estabilidade ====&lt;br /&gt;
&lt;br /&gt;
== Análise espectral ==&lt;br /&gt;
Uma possível forma para quantitativamente analisar o som gerado por uma corda vibrante é estudar as frequências que compõem o seu movimento, técnica essa chamada de análise espectral. Antes de prosseguirmos vamos recapitular alguns resultados da álgebra linear&lt;br /&gt;
&lt;br /&gt;
=== Supremacia da álgebra linear ===&lt;br /&gt;
O seguinte conjunto &amp;lt;math&amp;gt; \mathbb{R}^{\mathbb{R}} = \{ f~|~f: \mathbb{R} \to \mathbb{R} \} &amp;lt;/math&amp;gt; é o espaço de funções reais de uma variável. Esse conjunto é um espaço vetorial, logo podemos utilizar toda a artilharia da álgebra linear, em especial, estamos interessados no sub-espaço gerado pela base &amp;lt;math&amp;gt; B = \{sen(\omega t) / \sqrt{\pi}, cos(\omega t) / \sqrt{\pi} \}_{\omega \in \mathbb{R^+}} &amp;lt;/math&amp;gt; &amp;lt;ref name=&amp;quot;norm_const&amp;quot;/&amp;gt;, pois elementos de &amp;lt;math&amp;gt; B &amp;lt;/math&amp;gt;, interpretados como sinais sonoros, representam um frequência pura de valor &amp;lt;math&amp;gt;f=\omega/(2\pi)&amp;lt;/math&amp;gt;. Dessa forma, um sinal arbitrário &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; pode ser escrito em termos das frequências puras que o formam&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 s(t) = \frac{1}{\sqrt{\pi}}\int_{0}^{\infty}[a(\omega)cos(\omega t) + b(\omega)sen(\omega t]d\omega&lt;br /&gt;
&amp;lt;/math&amp;gt;  &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E podemos extrair suas coordenadas (também chamadas de transformada de fourier do sinal) (&amp;lt;math&amp;gt;a(\omega)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;b(\omega)&amp;lt;/math&amp;gt;), fazendo o produto escalar com os elementos da base&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
a(\omega) &amp;amp;= \int_{-\infty}^{\infty}s(t)\frac{1}{\sqrt{\pi}}cos(\omega t)dt \\&lt;br /&gt;
b(\omega) &amp;amp;= \int_{-\infty}^{\infty}s(t)\frac{1}{\sqrt{\pi}}sen(\omega t)dt&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Se o domínio de &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; é limitado, digamos &amp;lt;math&amp;gt;t \in [0, T]&amp;lt;/math&amp;gt;, então uma base infinita com cardinalidade enumerável (em contraste com a base anterior, que possui cardinalidade não enumerável) é suficiente para representar &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt;, uma possível base ortonormal é a seguinte: &amp;lt;math&amp;gt;\bigg\{ \sqrt{\frac{1}{T}}, \sqrt{\frac{2}{T}}sen(\omega_n t), \sqrt{\frac{2}{T}}cos(\omega_n t) \bigg\}_{n \in \mathbb{N^*}}&amp;lt;/math&amp;gt;, em que &amp;lt;math&amp;gt; \omega_n = \frac{n\pi}{T} &amp;lt;/math&amp;gt;. Dessa forma, a representação e coordenadas de &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; ficam&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
s(t) &amp;amp;= a_0\sqrt{\frac{1}{T}} + \sqrt{\frac{2}{T}}\sum_{n=1}^{\infty}\bigg[a_n cos(\omega_n t) + b_n sen(\omega_n) \bigg] \\&lt;br /&gt;
a_0 &amp;amp;= \int_0^T s(t) \sqrt{\frac{1}{T}}dt \\&lt;br /&gt;
a_n &amp;amp;= \int_0^T s(t) \sqrt{\frac{2}{T}}cos(\omega_n t)dt \\&lt;br /&gt;
b_n &amp;amp;= \int_0^T s(t) \sqrt{\frac{2}{T}}sen(\omega_n t)dt \\&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É impossível falar sobre bases enumeráveis de um sub-espaço de &amp;lt;math&amp;gt; \mathbb{R}^{\mathbb{R}} &amp;lt;/math&amp;gt; sem representar esse canhão matemático com uma animação. Abaixo segue uma visualização que calcula as primeiras &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; coordenadas (&amp;lt;math&amp;gt;a_0,\dots,a_N&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;b_1,\dots,b_N&amp;lt;/math&amp;gt;) de um sinal qualquer e sobrepõem a série obtida incrementando &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; até as duas curvas serem indistinguíveis a olho nu. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie_fourier_ana_julia.gif|frame|center|Animação de uma série de fourier. É interessante notar que a série converge muito bem com apenas uma dúzia de frequências.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Potência espectral ===&lt;br /&gt;
Agora, considerando uma corda vibrante, adiante vamos ver que o sinal sonoro provém da vibração de um ponto específico da mesma, digamos em &amp;lt;math&amp;gt;x=x_o&amp;lt;/math&amp;gt;, então a função que representa esse sinal é &amp;lt;math&amp;gt;y(x_o, t)&amp;lt;/math&amp;gt;. Como estamos interessados nas frequências que compõem o sinal, será calculado a transformada de fourier de &amp;lt;math&amp;gt;y(x_o, t)&amp;lt;/math&amp;gt; e vamos definir que a potência da frequência &amp;lt;math&amp;gt;f = \omega/(2\pi)&amp;lt;/math&amp;gt; é &amp;lt;math&amp;gt;a_\omega^2 + b_\omega^2&amp;lt;/math&amp;gt;. A potência em função da frequência é o resultado da análise espectral.&lt;br /&gt;
&lt;br /&gt;
== Simulando uma corda de violão ==&lt;br /&gt;
Uma corda de violão geralmente é excitada por uma pancada dada por uma palheta ou pelo próprio dedo/unha do violonista. Essa pancada define uma condição inicial para a equação de onda. Uma suposição razoável da condição gerada é a seguinte&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\begin{aligned}&lt;br /&gt;
y(x, t=0) &amp;amp;= \begin{cases}  &lt;br /&gt;
\frac{h}{x_0}x &amp;amp;, ~ 0 \leq x \leq x_0\\&lt;br /&gt;
\frac{h}{L-x_0}(-x + L) &amp;amp;, ~ x_0 \leq x \leq L\\&lt;br /&gt;
\end{cases} \\&lt;br /&gt;
\frac{\partial}{\partial t} y(x, t=0) &amp;amp;= 0&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
supondo que a corda possui comprimento &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; e a pancado ocorreu em &amp;lt;math&amp;gt;x_o&amp;lt;/math&amp;gt;, causando uma deslocamento máximo &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt;. A imagem a seguir ilustra o estado da corda logo após a excitação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Init_cond_ana_julia.png|thumb|upright=2|center|Condição inicial de uma corda de violão.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dado essa condição inicial, podemos evoluir temporalmente o estado da corda utilizando a equação da onda, mantendo as bordas fixas (&amp;lt;math&amp;gt;y(x=0, t) = y(x=L, t) = 0&amp;lt;/math&amp;gt;), mas como extrair som dessa simulação? Para responder essa pergunta precisamos saber como um violão gera som. Ao contrário do que inicialmente pareça, as ondas sonoras não são diretamente geradas pela vibração das cordas, mas sim da caixa do violão, que está diretamente conectada com as cordas em uma peça chamada ponte. A vibração das cordas gera uma força dependente do tempo que atua na caixa através da ponte, assim vibrando a caixa e gerando o som que escutamos. Portanto, para gerar som de forma realista, precisaríamos fisicamente simular a caixa, levando em consideração a sua geometria e as propriedades física do seu material, e então determinar as ondas de pressão que seriam geradas por essa vibração, o que está fora do escopo do presente trabalho. Felizmente, as seguintes simplificações vão nos permitir calcular as ondas de pressão:&lt;br /&gt;
&lt;br /&gt;
* A força que a ponte exerce na caixa é aproximadamente proporcional a sua velocidade (Dinâmica aristotélica).&lt;br /&gt;
* A onda de pressão produzida pela caixa é aproximadamente proporcional a sua velocidade.&lt;br /&gt;
&lt;br /&gt;
A força que a ponte exercer na caixa (&amp;lt;math&amp;gt;F(t)&amp;lt;/math&amp;gt;) é a força que a corda exerce na ponte (pois a ponte está firmemente conectada na caixa), e essa força é proporcional a inclinação da corda, ou seja&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F(t) = T \frac{\partial}{\partial x}y(x=0, t) \approx T\frac{y(\Delta x, t) - \overbrace{y(0, t)}^{0}}{\Delta x} = \frac{T}{\Delta x} y(\Delta x, t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a tensão na corda. Portando, o sinal da onda de pressão pode ser aproximado como o deslocamento de um ponto da corda próximo a ponte. Para gerar som com esse sinal, o tipo de arquivo [https://en.wikipedia.org/wiki/WAV#:~:text=Waveform%20Audio%20File%20Format%20(WAVE,1991%20by%20IBM%20and%20Microsoft. WAV]] é utilizado, pois o seu dado de entrada pode ser justante o sinal da onda de pressão.&lt;br /&gt;
&lt;br /&gt;
Agora tudo está pronto para fazermos uma simulação, vamos tentar reproduzir a nota lá (&amp;lt;math&amp;gt;f = 440~Hz&amp;lt;/math&amp;gt;). Primeiro precisamos descobrir qual deve ser a velocidade de propagação das ondas (&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;) para gerar a nota em questão. Resolvendo a equação da onda ideal, obtemos que as possíveis frequência que existem na solução são &amp;lt;math&amp;gt;f_n = \frac{nc}{2L} &amp;lt;/math&amp;gt;, então não é possível fazer a corda vibrar apenas com uma frequência, mas quando músicos se referem a uma nota, eles realmente estão se referindo a &amp;lt;math&amp;gt;f_1&amp;lt;/math&amp;gt;, a primeira frequência que compõem o sinal, então&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; f_1 = \frac{c}{2L} = 440~Hz \Rightarrow c = L \cdot 880~Hz&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assumindo &amp;lt;math&amp;gt;L=1~m&amp;lt;/math&amp;gt;, temos que &amp;lt;math&amp;gt;c = 880~m/s&amp;lt;/math&amp;gt;. Resolvendo a equação da onda realista pelo método FTCS com os seguinte parâmetros&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Parâmetros da condição inicial&lt;br /&gt;
|-&lt;br /&gt;
! Parâmetros !! Valor&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;x_o&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;0,5~L&amp;lt;/math&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| h || 1 cm &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Parâmetros da integração&lt;br /&gt;
|-&lt;br /&gt;
! Parâmetros !! Valor&lt;br /&gt;
|-&lt;br /&gt;
| k || 1/4 &lt;br /&gt;
|-&lt;br /&gt;
| c || 880 m/s &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt; || 0,01 m&lt;br /&gt;
|-&lt;br /&gt;
| L || 1 m &lt;br /&gt;
|-&lt;br /&gt;
| b || 5 &amp;lt;math&amp;gt;s^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
obtemos o seguinte resultado&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Corda_vibrando_ana_julia.gif|frame|center|Solução da equação de onda ideal e realista.]]&lt;br /&gt;
&lt;br /&gt;
Na animação acima, por questão de comparação, também foi coloca a solução de uma simulação com os mesmos parâmetros, apenas com a modificação &amp;lt;math&amp;gt;b=\epsilon=0&amp;lt;/math&amp;gt;, que seria o caso ideal (sem amortecimento e rigidez).&lt;br /&gt;
 &lt;br /&gt;
Realizando a análise espectral do deslocamento de um ponto próximo de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, obtemos o seguinte gráfico&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_ana_julia.png |thumb|upright=2|center|Espectro do deslocamento de um ponto próximo de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As linhas verticais pretas e tracejadas representam as possíveis frequências da solução do caso ideal, ou seja, a primeira linha está em &amp;lt;math&amp;gt;f = 440 Hz &amp;lt;/math&amp;gt; como era de se esperar, mas é notável que a segunda e quarta linhas possuem uma potência praticamente nula, isso ocorre porque a excitação inicial foi exatamente no meio, e as frequência correspondentes a essas linhas provém de ondas estacionário que possum um nodo em &amp;lt;math&amp;gt;x=L/2&amp;lt;/math&amp;gt;, logo elas não foram excitadas pela condição inicial. Mudando o ponto de excitação inicial, podemos ver essas frequências aparecendo, rodando a simulação novamente, mas com &amp;lt;math&amp;gt;x_o = 0,2~L&amp;lt;/math&amp;gt;, obtemos o seguinte espectro&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_bridge_ana_julia.png |thumb|upright=2|center|Espectro para excitação inicial em &amp;lt;math&amp;gt;x_0 = 0,2~L&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos observar a influência da rigidez rodando a simulação com &amp;lt;math&amp;gt;\epsilon=10^{-8}&amp;lt;/math&amp;gt; (10 vezes maior do que o valor anterior) e olhar o espectro produzido&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_high_stiff_ana_julia.png |thumb|upright=2|center|Espectro para &amp;lt;math&amp;gt;\epsilon=10^{-8}&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O efeito mais notável é o deslocamento para esquerda das frequência em relação as frequências que compõem o sinal no caso ideal.&lt;br /&gt;
&lt;br /&gt;
Por fim, conforme descrito anteriormente, podemos gerar som com as dados da simulação, mas infelizmente essa wiki não nos permite upar arquivos de áudio. No entanto, áudio das simulações discutidas aqui podem ser encontrados no repositório do projeto [https://github.com/marcos1561/ana-julia ana-julia] dentro da pasta &amp;quot;sound&amp;quot;. Em especial, o efeito de deslocamento de frequências causado pela rigidez é bastante evidente escutando os áudios.&lt;br /&gt;
&lt;br /&gt;
=== Bônus ===&lt;br /&gt;
Apenas por diversão, segue uma animação de um pacote gaussiano como condição inicial&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Gaussian_package_ana_julia.gif|frame|center|Animação da solução da equação da onda com um pacote gaussiano como condição inicial.]]&lt;br /&gt;
&lt;br /&gt;
== Notas ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;fator_ampl&amp;quot;&amp;gt; Perceba que não estamos operando expoentes, mas sim usando a relação entre os índices &amp;lt;math&amp;gt; B^{n-1}/B^{n} = B^{m}/B^{m+1} = A^{-1} &amp;lt;/math&amp;gt;.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;norm_const&amp;quot;&amp;gt;A constante &amp;lt;math&amp;gt; 1/\sqrt{\pi} &amp;lt;/math&amp;gt; está presente por questão de normalização. Esse caso pode parecer um pouco estranho, dado que não é possível normalizar os cossenos e senos, pois sua integral em todo a reta não é definida, mas o que se deseja é a seguinte propriedade &lt;br /&gt;
&amp;lt;math&amp;gt;\int_{\mathbb{R}}A_{\omega}cos(\omega t) \cdot A_{\omega&#039;}cos(\omega&#039; t)dt = \delta(\omega-\omega&#039;) &amp;lt;/math&amp;gt;&lt;br /&gt;
que é safisfeita quando &amp;lt;math&amp;gt; A_{\omega} = A_{\omega&#039;} =  1/\sqrt{\pi}, ~ \forall \omega,\omega&#039;&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Corda_Vibrante&amp;diff=10142</id>
		<title>Corda Vibrante</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Corda_Vibrante&amp;diff=10142"/>
		<updated>2024-04-21T14:15:43Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: /* Simulando uma corda de violão */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== A equação da onda ==&lt;br /&gt;
&lt;br /&gt;
== Método FTCS ==&lt;br /&gt;
&lt;br /&gt;
O método FTCS (Forward Time Central Space) é uma abordagem progressiva no tempo e centrada no espaço. Em outras palavras, ao lidarmos com uma função de duas variáveis, buscamos uma solução futura em termos do tempo, centrada em uma vizinhança espacial. Para a resolução numérica da equação diferencial unidimensional da onda, optamos por trabalhar exclusivamente com o método explícito.&lt;br /&gt;
&lt;br /&gt;
=== Corda Ideal ===&lt;br /&gt;
&lt;br /&gt;
==== Método Explícito ====&lt;br /&gt;
&lt;br /&gt;
Para aplicar o método, é necessário inicialmente discretizar tanto as variáveis espaciais quanto as variáveis temporais. Seja a função &amp;lt;math&amp;gt; y(t,x): \mathbb{R}^{2} \mapsto \mathbb{R} &amp;lt;/math&amp;gt;, sejam os intervalos &amp;lt;math&amp;gt; \left [ 0,X \right ], \left [ 0,T \right ]\subset \mathbb{R} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; N,M\in \mathbb{N} &amp;lt;/math&amp;gt;, discretizamos os intervalos em espaçamentos iguais &amp;lt;math&amp;gt; \Delta x = X/N &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; \Delta t = T/M &amp;lt;/math&amp;gt; de tal maneira que obtemos as sequências crescentes monótonas &amp;lt;math&amp;gt;\left \{ x_{i} \right \}_{i=0}^{N} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\left \{ t_{i} \right \}_{j=0}^{M} &amp;lt;/math&amp;gt; . Assim obtemos uma grade de malhas de pontos &amp;lt;math&amp;gt; (t_{i}, x_{i}) &amp;lt;/math&amp;gt; onde a função &amp;lt;math&amp;gt; y(t,x) &amp;lt;/math&amp;gt; tem seus valores aproximados por &amp;lt;math&amp;gt; y(t_{i}, x_{i}) &amp;lt;/math&amp;gt; denotado &amp;lt;math&amp;gt; y_{j}^{n} &amp;lt;/math&amp;gt;. Uma abordagem comum envolve a discretização da primeira derivada no tempo utilizando uma diferença finita progressiva baseada na expansão em séries de Taylor até a primeira ordem :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial y}{\partial t} \approx \frac{y(t+\Delta t, x) - y(t, x)}{\Delta t} = \frac{y_{j}^{n+1} - y_{j}^{n}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Discretizando a derivada temporal segunda utilizando um diferença finita regressiva :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} \approx  \frac{\partial}{\partial t} \left(\frac{y_{j}^{n+1} - y_{j}^{n}}{\Delta t}\right) \approx \frac{1}{\Delta t}\left ( \frac{y(t+\Delta t, x) - y((t + \Delta t)- \Delta t, x)}{\Delta t} - \frac{y(t,x) - y(t - \Delta t, x)}{\Delta t }\right ) = \frac{y(t + \Delta t, x) + y(t - \Delta t, x) - 2y(t, x)}{(\Delta t)^{2}} = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que o processo retorna uma derivada de diferenças finitas centrada, além disso obtemos um aproximação de segunda ordem. O mecanismo de discretização das derivadas espaciais é completamente análogo, a derivada segunda centrada :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^{2} y}{\partial x^{2}} \approx \frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aplicando as expressões das diferenciais na equação da onda :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} = c^{2} \frac{\partial^2 y}{\partial x^2} \mapsto \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} = c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
defina &amp;lt;math&amp;gt; a := c\Delta t / \Delta x &amp;lt;/math&amp;gt; e explicite a variável no estado temporal futuro, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_{j}^{n+1} = 2\left(1 - a^{2}\right)y_{j}^{n} - y_{j}^{n-1} + a^{2}\left ( y_{j+1}^{n} + y_{j-1}^{n}\right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
uma equação explicita no tempo &amp;lt;math&amp;gt; n+1 &amp;lt;/math&amp;gt; dependendo somente de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; n-1 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Estabilidade ====&lt;br /&gt;
&lt;br /&gt;
Para analisar a estabilidade da solução numérica para a equação da onda, utilizaremos o método de Von Neumann. O procedimento consiste em utilizar a transformada de Fourier para determinar a estabilidade do esquema, a solução problema tem a forma : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_{j}^{n+1}(\xi) = A(\xi \Delta x, \Delta x, \Delta t) y_{j}^{n}(\xi)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; \xi \in \left [ -\pi / \Delta x, \pi / \Delta x \right ] &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; é o fator de amplificação, observe que podemos estudar a estabilidade da aproximação somente analisando o fator de amplificação. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Teorema&#039;&#039;&#039; : Se o fator de amplificação não depender de &amp;lt;math&amp;gt; \Delta x &amp;lt;/math&amp;gt; nem &amp;lt;math&amp;gt; \Delta t &amp;lt;/math&amp;gt;, então a aproximação é estável se &amp;lt;math&amp;gt; \left | A(\xi \Delta x) \right | \leq 1 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Vejamos a estabilidade da aproximação de diferenças finitas para a equação do calor, utilizando as componentes de Fourier &amp;lt;math &amp;gt;y_{j}^{n} \mapsto B^{n}e^{ikj\Delta x} &amp;lt;/math&amp;gt;, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
B^{n+1}e^{ikj\Delta x} = 2\left ( 1-a^{2} \right )B^{n}e^{ikj\Delta x} - B^{n-1}e^{ikj\Delta x} + a^{2}\left ( B^{n}e^{ik(j+1)\Delta x} + B^{n}e^{ik(j-1)\Delta x} \right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
simplificando os termos em comum :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
B^{n+1} + B^{n-1}  = B^{n} \left [ 2\left ( 1-a^{2} \right ) + a^{2}\left (e^{ik\Delta x} + e^{-ik\Delta x}\right )\right ]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que &amp;lt;math&amp;gt; e^{ik\Delta x} - e^{-ik\Delta x} = 2cos(k\Delta x) &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{B^{n+1} + B^{n-1}}{B^{n}} = 2\left ( 1-a^{2} \right ) + 2a^{2}cos(k\Delta x)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
utilizando a identidade trigonométrica &amp;lt;math&amp;gt; cos(\theta) = cos^{2}(\theta /2) - sen^{2}(\theta) &amp;lt;/math&amp;gt; e a identidade trigonométrica fundamental, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A - \frac{1}{A} = -2\left [ 2a^{2}sen^{2}\left ( \frac{k\Delta x}{2} \right ) -1 \right ]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; A = B^{n+1}/B^{n} &amp;lt;/math&amp;gt; &amp;lt;ref name=&amp;quot;fator_ampl&amp;quot;/&amp;gt; é o fator de amplificação. Defina &amp;lt;math&amp;gt; d :=  2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 &amp;lt;/math&amp;gt;. Portanto obtemos a equação quadrática com soluções :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A^{2} + 2dA + 1 = 0 \Rightarrow A_{1,2} = -d \pm \sqrt{d^{2}-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
se &amp;lt;math&amp;gt; \left | d \right | &amp;gt; 1 &amp;lt;/math&amp;gt;, então : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
-1&amp;gt;d&amp;gt;1 \Rightarrow -1 &amp;gt; 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 &amp;gt; 1  \Rightarrow 0 &amp;gt; 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) &amp;gt; 2 \Rightarrow 0 &amp;gt; \left( asen\left (k\Delta x / 2 \right ) \right)^{2} &amp;gt; 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
o que é um aburdo, pois esse termo é real. Se &amp;lt;math&amp;gt; \left | d \right | \leq  1 &amp;lt;/math&amp;gt; , então : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
-1\leq d \leq 1 \Rightarrow -1 \leq 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 \leq 1  \Rightarrow 0 \leq 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) \leq 2 \Rightarrow 0 \leq \left( asen\left (k\Delta x / 2 \right ) \right)^{2} \leq 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que &amp;lt;math&amp;gt; sen\left (k\Delta x / 2 \right ) \leq 1 &amp;lt;/math&amp;gt;, logo &amp;lt;math&amp;gt; a \leq 1 &amp;lt;/math&amp;gt;. Portanto para o método ser condicionalmente estável : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\frac{c \Delta t}{ \Delta x} \leq 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Embora &amp;lt;math&amp;gt; a \leq 1 &amp;lt;/math&amp;gt; garante a estabilidade do processo, &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt; é a melhor escolha possível para a estabilidade do método, pelos seguintes motivos :&lt;br /&gt;
* Quando &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt;, os termos de ordem superior que são descartados na discretização da equação da onda são amplamente cancelados. Essa compensação implica que o método numérico se torna mais estável e menos suscetível a erros numéricos significativos, ou seja, não ocorrerão variações abruptas devido aos termos de ordem maiores;&lt;br /&gt;
* Quando &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt;, a perturbação na corda se propaga exatamente um passo espacial a cada passo de tempo. Esse comportamento assegura que a velocidade da perturbação seja adequadamente representada pelo algoritmo numérico. Isso ocorre devido a relação entre a velocidade física da corda &amp;lt;math&amp;gt; c &amp;lt;/math&amp;gt; e a velocidade da perturbação &amp;lt;math&amp;gt; \Delta x / \Delta t &amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\frac{c \Delta t}{ \Delta x} = \frac{c}{v} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Corda Não Ideal ===&lt;br /&gt;
&lt;br /&gt;
==== Método Explícito ====&lt;br /&gt;
Optaremos novamente por realizar a análise utilizando um método explícito. Em geral, o desenvolvimento teórico para a discretização da equação diferencial da onda com amortecimento e rigidez é análogo ao caso ideal, portanto, não serão apresentados com detalhes os cálculos necessários para a implementação do método. A derivada quarta centrada é aproximada utilizando diferenças finitas :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^4 y}{\partial x^4} \approx \frac{y_{j+2}^{n} + y_{j+1}^{n} + y_{j}^{n} + y_{j-1}^{n} + y_{j-2}^{n}}{\left ( \Delta x \right )^{4}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Transformando a EDP não homogênea para um espaço discretizado : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} = c^{2}\left ( \frac{\partial^2 y}{\partial x^2} - \epsilon L^{2}\frac{\partial^4 y}{\partial x^4} \right ) - b\frac{\partial y}{\partial t} \mapsto  y_{j}^{n+1} = \left [ \left (2 - 2a^{2} - 6\epsilon a^{2}E^{2} - F \right )y_{j}^{n} - y_{j}^{n-1} + a^{2}\left ( 1 + 4\epsilon E^{2} \right ) \left ( y_{j+1}^{n} + y_{j-1}^{n} \right ) - \epsilon a^{2}E^{2} \left ( y_{j+2}^{n} + y_{j-2}^{n} \right ) \right ]\left (\frac{1}{1-F} \right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; E := L/ \Delta x &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; F := b/ \Delta t &amp;lt;/math&amp;gt;. Novamente obtemos um equação explicita no tempo &amp;lt;math&amp;gt; n+1 &amp;lt;/math&amp;gt; que depende somente de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; n-1 &amp;lt;/math&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
==== Estabilidade ====&lt;br /&gt;
&lt;br /&gt;
== Análise espectral ==&lt;br /&gt;
Uma possível forma para quantitativamente analisar o som gerado por uma corda vibrante é estudar as frequências que compõem o seu movimento, técnica essa chamada de análise espectral. Antes de prosseguirmos vamos recapitular alguns resultados da álgebra linear&lt;br /&gt;
&lt;br /&gt;
=== Supremacia da álgebra linear ===&lt;br /&gt;
O seguinte conjunto &amp;lt;math&amp;gt; \mathbb{R}^{\mathbb{R}} = \{ f~|~f: \mathbb{R} \to \mathbb{R} \} &amp;lt;/math&amp;gt; é o espaço de funções reais de uma variável. Esse conjunto é um espaço vetorial, logo podemos utilizar toda a artilharia da álgebra linear, em especial, estamos interessados no sub-espaço gerado pela base &amp;lt;math&amp;gt; B = \{sen(\omega t) / \sqrt{\pi}, cos(\omega t) / \sqrt{\pi} \}_{\omega \in \mathbb{R^+}} &amp;lt;/math&amp;gt; &amp;lt;ref name=&amp;quot;norm_const&amp;quot;/&amp;gt;, pois elementos de &amp;lt;math&amp;gt; B &amp;lt;/math&amp;gt;, interpretados como sinais sonoros, representam um frequência pura de valor &amp;lt;math&amp;gt;f=\omega/(2\pi)&amp;lt;/math&amp;gt;. Dessa forma, um sinal arbitrário &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; pode ser escrito em termos das frequências puras que o formam&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 s(t) = \frac{1}{\sqrt{\pi}}\int_{0}^{\infty}[a(\omega)cos(\omega t) + b(\omega)sen(\omega t]d\omega&lt;br /&gt;
&amp;lt;/math&amp;gt;  &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E podemos extrair suas coordenadas (também chamadas de transformada de fourier do sinal) (&amp;lt;math&amp;gt;a(\omega)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;b(\omega)&amp;lt;/math&amp;gt;), fazendo o produto escalar com os elementos da base&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
a(\omega) &amp;amp;= \int_{-\infty}^{\infty}s(t)\frac{1}{\sqrt{\pi}}cos(\omega t)dt \\&lt;br /&gt;
b(\omega) &amp;amp;= \int_{-\infty}^{\infty}s(t)\frac{1}{\sqrt{\pi}}sen(\omega t)dt&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Se o domínio de &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; é limitado, digamos &amp;lt;math&amp;gt;t \in [0, T]&amp;lt;/math&amp;gt;, então uma base infinita com cardinalidade enumerável (em contraste com a base anterior, que possui cardinalidade não enumerável) é suficiente para representar &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt;, uma possível base ortonormal é a seguinte: &amp;lt;math&amp;gt;\bigg\{ \sqrt{\frac{1}{T}}, \sqrt{\frac{2}{T}}sen(\omega_n t), \sqrt{\frac{2}{T}}cos(\omega_n t) \bigg\}_{n \in \mathbb{N^*}}&amp;lt;/math&amp;gt;, em que &amp;lt;math&amp;gt; \omega_n = \frac{n\pi}{T} &amp;lt;/math&amp;gt;. Dessa forma, a representação e coordenadas de &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; ficam&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
s(t) &amp;amp;= a_0\sqrt{\frac{1}{T}} + \sqrt{\frac{2}{T}}\sum_{n=1}^{\infty}\bigg[a_n cos(\omega_n t) + b_n sen(\omega_n) \bigg] \\&lt;br /&gt;
a_0 &amp;amp;= \int_0^T s(t) \sqrt{\frac{1}{T}}dt \\&lt;br /&gt;
a_n &amp;amp;= \int_0^T s(t) \sqrt{\frac{2}{T}}cos(\omega_n t)dt \\&lt;br /&gt;
b_n &amp;amp;= \int_0^T s(t) \sqrt{\frac{2}{T}}sen(\omega_n t)dt \\&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É impossível falar sobre bases enumeráveis de um sub-espaço de &amp;lt;math&amp;gt; \mathbb{R}^{\mathbb{R}} &amp;lt;/math&amp;gt; sem representar esse canhão matemático com uma animação. Abaixo segue uma visualização que calcula as primeiras &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; coordenadas (&amp;lt;math&amp;gt;a_0,\dots,a_N&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;b_1,\dots,b_N&amp;lt;/math&amp;gt;) de um sinal qualquer e sobrepõem a série obtida incrementando &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; até as duas curvas serem indistinguíveis a olho nu. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie_fourier_ana_julia.gif|frame|center|Animação de uma série de fourier. É interessante notar que a série converge muito bem com apenas uma dúzia de frequências.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Potência espectral ===&lt;br /&gt;
Agora, considerando uma corda vibrante, adiante vamos ver que o sinal sonoro provém da vibração de um ponto específico da mesma, digamos em &amp;lt;math&amp;gt;x=x_o&amp;lt;/math&amp;gt;, então a função que representa esse sinal é &amp;lt;math&amp;gt;y(x_o, t)&amp;lt;/math&amp;gt;. Como estamos interessados nas frequências que compõem o sinal, será calculado a transformada de fourier de &amp;lt;math&amp;gt;y(x_o, t)&amp;lt;/math&amp;gt; e vamos definir que a potência da frequência &amp;lt;math&amp;gt;f = \omega/(2\pi)&amp;lt;/math&amp;gt; é &amp;lt;math&amp;gt;a_\omega^2 + b_\omega^2&amp;lt;/math&amp;gt;. A potência em função da frequência é o resultado da análise espectral.&lt;br /&gt;
&lt;br /&gt;
== Simulando uma corda de violão ==&lt;br /&gt;
Uma corda de violão geralmente é excitada por uma pancada dada por uma palheta ou pelo próprio dedo/unha do violonista. Essa pancada define uma condição inicial para a equação de onda. Uma suposição razoável da condição gerada é a seguinte&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\begin{aligned}&lt;br /&gt;
y(x, t=0) &amp;amp;= \begin{cases}  &lt;br /&gt;
\frac{h}{x_0}x &amp;amp;, ~ 0 \leq x \leq x_0\\&lt;br /&gt;
\frac{h}{L-x_0}(-x + L) &amp;amp;, ~ x_0 \leq x \leq L\\&lt;br /&gt;
\end{cases} \\&lt;br /&gt;
\frac{\partial}{\partial t} y(x, t=0) &amp;amp;= 0&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
supondo que a corda possui comprimento &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; e a pancado ocorreu em &amp;lt;math&amp;gt;x_o&amp;lt;/math&amp;gt;, causando uma deslocamento máximo &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt;. A imagem a seguir ilustra o estado da corda logo após a excitação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Init_cond_ana_julia.png|thumb|upright=2|center|Condição inicial de uma corda de violão.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dado essa condição inicial, podemos evoluir temporalmente o estado da corda utilizando a equação da onda, mantendo as bordas fixas (&amp;lt;math&amp;gt;y(x=0, t) = y(x=L, t) = 0&amp;lt;/math&amp;gt;), mas como extrair som dessa simulação? Para responder essa pergunta precisamos saber como um violão gera som. Ao contrário do que inicialmente pareça, as ondas sonoras não são diretamente geradas pela vibração das cordas, mas sim da caixa do violão, que está diretamente conectada com as cordas em uma peça chamada ponte. A vibração das cordas gera uma força dependente do tempo que atua na caixa através da ponte, assim vibrando a caixa e gerando o som que escutamos. Portanto, para gerar som de forma realista, precisaríamos fisicamente simular a caixa, levando em consideração a sua geometria e as propriedades física do seu material, e então determinar as ondas de pressão que seriam geradas por essa vibração, o que está fora do escopo do presente trabalho. Felizmente, as seguintes simplificações vão nos permitir calcular as ondas de pressão:&lt;br /&gt;
&lt;br /&gt;
* A força que a ponte exerce na caixa é aproximadamente proporcional a sua velocidade (Dinâmica aristotélica).&lt;br /&gt;
* A onda de pressão produzida pela caixa é aproximadamente proporcional a sua velocidade.&lt;br /&gt;
&lt;br /&gt;
A força que a ponte exercer na caixa (&amp;lt;math&amp;gt;F(t)&amp;lt;/math&amp;gt;) é a força que a corda exerce na ponte (pois a ponte está firmemente conectada na caixa), e essa força é proporcional a inclinação da corda, ou seja&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F(t) = T \frac{\partial}{\partial x}y(x=0, t) \approx T\frac{y(\Delta x, t) - \overbrace{y(0, t)}^{0}}{\Delta x} = \frac{T}{\Delta x} y(\Delta x, t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a tensão na corda. Portando, o sinal da onda de pressão pode ser aproximado como o deslocamento de um ponto da corda próximo a ponte. Para gerar som com esse sinal, o tipo de arquivo [https://en.wikipedia.org/wiki/WAV#:~:text=Waveform%20Audio%20File%20Format%20(WAVE,1991%20by%20IBM%20and%20Microsoft. WAV]] é utilizado, pois o seu dado de entrada pode ser justante o sinal da onda de pressão.&lt;br /&gt;
&lt;br /&gt;
Agora tudo está pronto para fazermos uma simulação, vamos tentar reproduzir a nota lá (&amp;lt;math&amp;gt;f = 440~Hz&amp;lt;/math&amp;gt;). Primeiro precisamos descobrir qual deve ser a velocidade de propagação das ondas (&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;) para gerar a nota em questão. Resolvendo a equação da onda ideal, obtemos que as possíveis frequência que existem na solução são &amp;lt;math&amp;gt;f_n = \frac{nc}{2L} &amp;lt;/math&amp;gt;, então não é possível fazer a corda vibrar apenas com uma frequência, mas quando músicos se referem a uma nota, eles realmente estão se referindo a &amp;lt;math&amp;gt;f_1&amp;lt;/math&amp;gt;, a primeira frequência que compõem o sinal, então&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; f_1 = \frac{c}{2L} = 440~Hz \Rightarrow c = L \cdot 880~Hz&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assumindo &amp;lt;math&amp;gt;L=1~m&amp;lt;/math&amp;gt;, temos que &amp;lt;math&amp;gt;c = 880~m/s&amp;lt;/math&amp;gt;. Resolvendo a equação da onda realista pelo método FTCS com os seguinte parâmetros&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Parâmetros da condição inicial&lt;br /&gt;
|-&lt;br /&gt;
! Parâmetros !! Valor&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;x_o&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;0,5~L&amp;lt;/math&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| h || 1 cm &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Parâmetros da integração&lt;br /&gt;
|-&lt;br /&gt;
! Parâmetros !! Valor&lt;br /&gt;
|-&lt;br /&gt;
| k || 1/4 &lt;br /&gt;
|-&lt;br /&gt;
| c || 880 m/s &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt; || 0,01 m&lt;br /&gt;
|-&lt;br /&gt;
| L || 1 m &lt;br /&gt;
|-&lt;br /&gt;
| b || 5 &amp;lt;math&amp;gt;s^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
obtemos o seguinte resultado&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Corda_vibrando_ana_julia.gif|frame|center|Solução da equação de onda ideal e realista.]]&lt;br /&gt;
&lt;br /&gt;
Na animação acima, por questão de comparação, também foi coloca a solução de uma simulação com os mesmos parâmetros, apenas com a modificação &amp;lt;math&amp;gt;b=\epsilon=0&amp;lt;/math&amp;gt;, que seria o caso ideal (sem amortecimento e rigidez).&lt;br /&gt;
 &lt;br /&gt;
Realizando a análise espectral do deslocamento de um ponto próximo de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, obtemos o seguinte gráfico&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_ana_julia.png |thumb|upright=2|center|Espectro do deslocamento de um ponto próximo de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As linhas verticais pretas e tracejadas representam as possíveis frequências da solução do caso ideal, ou seja, a primeira linha está em &amp;lt;math&amp;gt;f = 440 Hz &amp;lt;/math&amp;gt; como era de se esperar, mas é notável que a segunda e quarta linhas possuem uma potência praticamente nula, isso ocorre porque a excitação inicial foi exatamente no meio, e as frequência correspondentes a essas linhas provém de ondas estacionário que possum um nodo em &amp;lt;math&amp;gt;x=L/2&amp;lt;/math&amp;gt;, logo elas não foram excitadas pela condição inicial. Mudando o ponto de excitação inicial, podemos ver essas frequências aparecendo, rodando a simulação novamente, mas com &amp;lt;math&amp;gt;x_o = 0,2~L&amp;lt;/math&amp;gt;, obtemos o seguinte espectro&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_bridge_ana_julia.png |thumb|upright=2|center|Espectro para excitação inicial em &amp;lt;math&amp;gt;x_0 = 0,2~L&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos observar a influência da rigidez rodando a simulação com &amp;lt;math&amp;gt;\epsilon=10^{-8}&amp;lt;/math&amp;gt; (10 vezes maior do que o valor anterior) e olhar o espectro produzido&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_high_stiff_ana_julia.png |thumb|upright=2|center|Espectro para &amp;lt;math&amp;gt;\epsilon=10^{-8}&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O efeito mais notável é o deslocamento para esquerda das frequência em relação as frequências que compõem o sinal no caso ideal.&lt;br /&gt;
&lt;br /&gt;
Por fim, conforme descrito anteriormente, podemos gerar som com as dados da simulação, mas infelizmente essa wiki não nos permite upar arquivos de áudio. No entanto, áudio das simulações discutidas aqui podem ser encontrados no repositório do projeto [https://github.com/marcos1561/ana-julia ana-julia] dentro da pasta &amp;quot;sound&amp;quot;. Em especial, o efeito de deslocamento de frequências causado pela rigidez é bastante evidente escutando os áudios.&lt;br /&gt;
&lt;br /&gt;
=== Bonus ===&lt;br /&gt;
Apenas por diversão, segue uma animação de um pacote gaussiano como condição inicial&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Gaussian_package_ana_julia.gif|frame|center|Animação da solução da equação da onda com um pacote gaussiano como condição inicial.]]&lt;br /&gt;
&lt;br /&gt;
== Notas ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;fator_ampl&amp;quot;&amp;gt; Perceba que não estamos operando expoentes, mas sim usando a relação entre os índices &amp;lt;math&amp;gt; B^{n-1}/B^{n} = B^{m}/B^{m+1} = A^{-1} &amp;lt;/math&amp;gt;.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;norm_const&amp;quot;&amp;gt;A constante &amp;lt;math&amp;gt; 1/\sqrt{\pi} &amp;lt;/math&amp;gt; está presente por questão de normalização. Esse caso pode parecer um pouco estranho, dado que não é possível normalizar os cossenos e senos, pois sua integral em todo a reta não é definida, mas o que se deseja é a seguinte propriedade &lt;br /&gt;
&amp;lt;math&amp;gt;\int_{\mathbb{R}}A_{\omega}cos(\omega t) \cdot A_{\omega&#039;}cos(\omega&#039; t)dt = \delta(\omega-\omega&#039;) &amp;lt;/math&amp;gt;&lt;br /&gt;
que é safisfeita quando &amp;lt;math&amp;gt; A_{\omega} = A_{\omega&#039;} =  1/\sqrt{\pi}, ~ \forall \omega,\omega&#039;&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Corda_Vibrante&amp;diff=10141</id>
		<title>Corda Vibrante</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Corda_Vibrante&amp;diff=10141"/>
		<updated>2024-04-21T14:13:37Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: Animação do pacote gaussiano&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== A equação da onda ==&lt;br /&gt;
&lt;br /&gt;
== Método FTCS ==&lt;br /&gt;
&lt;br /&gt;
O método FTCS (Forward Time Central Space) é uma abordagem progressiva no tempo e centrada no espaço. Em outras palavras, ao lidarmos com uma função de duas variáveis, buscamos uma solução futura em termos do tempo, centrada em uma vizinhança espacial. Para a resolução numérica da equação diferencial unidimensional da onda, optamos por trabalhar exclusivamente com o método explícito.&lt;br /&gt;
&lt;br /&gt;
=== Corda Ideal ===&lt;br /&gt;
&lt;br /&gt;
==== Método Explícito ====&lt;br /&gt;
&lt;br /&gt;
Para aplicar o método, é necessário inicialmente discretizar tanto as variáveis espaciais quanto as variáveis temporais. Seja a função &amp;lt;math&amp;gt; y(t,x): \mathbb{R}^{2} \mapsto \mathbb{R} &amp;lt;/math&amp;gt;, sejam os intervalos &amp;lt;math&amp;gt; \left [ 0,X \right ], \left [ 0,T \right ]\subset \mathbb{R} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; N,M\in \mathbb{N} &amp;lt;/math&amp;gt;, discretizamos os intervalos em espaçamentos iguais &amp;lt;math&amp;gt; \Delta x = X/N &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; \Delta t = T/M &amp;lt;/math&amp;gt; de tal maneira que obtemos as sequências crescentes monótonas &amp;lt;math&amp;gt;\left \{ x_{i} \right \}_{i=0}^{N} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\left \{ t_{i} \right \}_{j=0}^{M} &amp;lt;/math&amp;gt; . Assim obtemos uma grade de malhas de pontos &amp;lt;math&amp;gt; (t_{i}, x_{i}) &amp;lt;/math&amp;gt; onde a função &amp;lt;math&amp;gt; y(t,x) &amp;lt;/math&amp;gt; tem seus valores aproximados por &amp;lt;math&amp;gt; y(t_{i}, x_{i}) &amp;lt;/math&amp;gt; denotado &amp;lt;math&amp;gt; y_{j}^{n} &amp;lt;/math&amp;gt;. Uma abordagem comum envolve a discretização da primeira derivada no tempo utilizando uma diferença finita progressiva baseada na expansão em séries de Taylor até a primeira ordem :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial y}{\partial t} \approx \frac{y(t+\Delta t, x) - y(t, x)}{\Delta t} = \frac{y_{j}^{n+1} - y_{j}^{n}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Discretizando a derivada temporal segunda utilizando um diferença finita regressiva :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} \approx  \frac{\partial}{\partial t} \left(\frac{y_{j}^{n+1} - y_{j}^{n}}{\Delta t}\right) \approx \frac{1}{\Delta t}\left ( \frac{y(t+\Delta t, x) - y((t + \Delta t)- \Delta t, x)}{\Delta t} - \frac{y(t,x) - y(t - \Delta t, x)}{\Delta t }\right ) = \frac{y(t + \Delta t, x) + y(t - \Delta t, x) - 2y(t, x)}{(\Delta t)^{2}} = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que o processo retorna uma derivada de diferenças finitas centrada, além disso obtemos um aproximação de segunda ordem. O mecanismo de discretização das derivadas espaciais é completamente análogo, a derivada segunda centrada :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^{2} y}{\partial x^{2}} \approx \frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aplicando as expressões das diferenciais na equação da onda :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} = c^{2} \frac{\partial^2 y}{\partial x^2} \mapsto \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} = c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
defina &amp;lt;math&amp;gt; a := c\Delta t / \Delta x &amp;lt;/math&amp;gt; e explicite a variável no estado temporal futuro, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_{j}^{n+1} = 2\left(1 - a^{2}\right)y_{j}^{n} - y_{j}^{n-1} + a^{2}\left ( y_{j+1}^{n} + y_{j-1}^{n}\right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
uma equação explicita no tempo &amp;lt;math&amp;gt; n+1 &amp;lt;/math&amp;gt; dependendo somente de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; n-1 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Estabilidade ====&lt;br /&gt;
&lt;br /&gt;
Para analisar a estabilidade da solução numérica para a equação da onda, utilizaremos o método de Von Neumann. O procedimento consiste em utilizar a transformada de Fourier para determinar a estabilidade do esquema, a solução problema tem a forma : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_{j}^{n+1}(\xi) = A(\xi \Delta x, \Delta x, \Delta t) y_{j}^{n}(\xi)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; \xi \in \left [ -\pi / \Delta x, \pi / \Delta x \right ] &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; é o fator de amplificação, observe que podemos estudar a estabilidade da aproximação somente analisando o fator de amplificação. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Teorema&#039;&#039;&#039; : Se o fator de amplificação não depender de &amp;lt;math&amp;gt; \Delta x &amp;lt;/math&amp;gt; nem &amp;lt;math&amp;gt; \Delta t &amp;lt;/math&amp;gt;, então a aproximação é estável se &amp;lt;math&amp;gt; \left | A(\xi \Delta x) \right | \leq 1 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Vejamos a estabilidade da aproximação de diferenças finitas para a equação do calor, utilizando as componentes de Fourier &amp;lt;math &amp;gt;y_{j}^{n} \mapsto B^{n}e^{ikj\Delta x} &amp;lt;/math&amp;gt;, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
B^{n+1}e^{ikj\Delta x} = 2\left ( 1-a^{2} \right )B^{n}e^{ikj\Delta x} - B^{n-1}e^{ikj\Delta x} + a^{2}\left ( B^{n}e^{ik(j+1)\Delta x} + B^{n}e^{ik(j-1)\Delta x} \right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
simplificando os termos em comum :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
B^{n+1} + B^{n-1}  = B^{n} \left [ 2\left ( 1-a^{2} \right ) + a^{2}\left (e^{ik\Delta x} + e^{-ik\Delta x}\right )\right ]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que &amp;lt;math&amp;gt; e^{ik\Delta x} - e^{-ik\Delta x} = 2cos(k\Delta x) &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{B^{n+1} + B^{n-1}}{B^{n}} = 2\left ( 1-a^{2} \right ) + 2a^{2}cos(k\Delta x)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
utilizando a identidade trigonométrica &amp;lt;math&amp;gt; cos(\theta) = cos^{2}(\theta /2) - sen^{2}(\theta) &amp;lt;/math&amp;gt; e a identidade trigonométrica fundamental, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A - \frac{1}{A} = -2\left [ 2a^{2}sen^{2}\left ( \frac{k\Delta x}{2} \right ) -1 \right ]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; A = B^{n+1}/B^{n} &amp;lt;/math&amp;gt; &amp;lt;ref name=&amp;quot;fator_ampl&amp;quot;/&amp;gt; é o fator de amplificação. Defina &amp;lt;math&amp;gt; d :=  2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 &amp;lt;/math&amp;gt;. Portanto obtemos a equação quadrática com soluções :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A^{2} + 2dA + 1 = 0 \Rightarrow A_{1,2} = -d \pm \sqrt{d^{2}-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
se &amp;lt;math&amp;gt; \left | d \right | &amp;gt; 1 &amp;lt;/math&amp;gt;, então : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
-1&amp;gt;d&amp;gt;1 \Rightarrow -1 &amp;gt; 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 &amp;gt; 1  \Rightarrow 0 &amp;gt; 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) &amp;gt; 2 \Rightarrow 0 &amp;gt; \left( asen\left (k\Delta x / 2 \right ) \right)^{2} &amp;gt; 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
o que é um aburdo, pois esse termo é real. Se &amp;lt;math&amp;gt; \left | d \right | \leq  1 &amp;lt;/math&amp;gt; , então : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
-1\leq d \leq 1 \Rightarrow -1 \leq 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 \leq 1  \Rightarrow 0 \leq 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) \leq 2 \Rightarrow 0 \leq \left( asen\left (k\Delta x / 2 \right ) \right)^{2} \leq 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que &amp;lt;math&amp;gt; sen\left (k\Delta x / 2 \right ) \leq 1 &amp;lt;/math&amp;gt;, logo &amp;lt;math&amp;gt; a \leq 1 &amp;lt;/math&amp;gt;. Portanto para o método ser condicionalmente estável : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\frac{c \Delta t}{ \Delta x} \leq 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Embora &amp;lt;math&amp;gt; a \leq 1 &amp;lt;/math&amp;gt; garante a estabilidade do processo, &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt; é a melhor escolha possível para a estabilidade do método, pelos seguintes motivos :&lt;br /&gt;
* Quando &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt;, os termos de ordem superior que são descartados na discretização da equação da onda são amplamente cancelados. Essa compensação implica que o método numérico se torna mais estável e menos suscetível a erros numéricos significativos, ou seja, não ocorrerão variações abruptas devido aos termos de ordem maiores;&lt;br /&gt;
* Quando &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt;, a perturbação na corda se propaga exatamente um passo espacial a cada passo de tempo. Esse comportamento assegura que a velocidade da perturbação seja adequadamente representada pelo algoritmo numérico. Isso ocorre devido a relação entre a velocidade física da corda &amp;lt;math&amp;gt; c &amp;lt;/math&amp;gt; e a velocidade da perturbação &amp;lt;math&amp;gt; \Delta x / \Delta t &amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\frac{c \Delta t}{ \Delta x} = \frac{c}{v} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Corda Não Ideal ===&lt;br /&gt;
&lt;br /&gt;
==== Método Explícito ====&lt;br /&gt;
Optaremos novamente por realizar a análise utilizando um método explícito. Em geral, o desenvolvimento teórico para a discretização da equação diferencial da onda com amortecimento e rigidez é análogo ao caso ideal, portanto, não serão apresentados com detalhes os cálculos necessários para a implementação do método. A derivada quarta centrada é aproximada utilizando diferenças finitas :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^4 y}{\partial x^4} \approx \frac{y_{j+2}^{n} + y_{j+1}^{n} + y_{j}^{n} + y_{j-1}^{n} + y_{j-2}^{n}}{\left ( \Delta x \right )^{4}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Transformando a EDP não homogênea para um espaço discretizado : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} = c^{2}\left ( \frac{\partial^2 y}{\partial x^2} - \epsilon L^{2}\frac{\partial^4 y}{\partial x^4} \right ) - b\frac{\partial y}{\partial t} \mapsto  y_{j}^{n+1} = \left [ \left (2 - 2a^{2} - 6\epsilon a^{2}E^{2} - F \right )y_{j}^{n} - y_{j}^{n-1} + a^{2}\left ( 1 + 4\epsilon E^{2} \right ) \left ( y_{j+1}^{n} + y_{j-1}^{n} \right ) - \epsilon a^{2}E^{2} \left ( y_{j+2}^{n} + y_{j-2}^{n} \right ) \right ]\left (\frac{1}{1-F} \right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; E := L/ \Delta x &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; F := b/ \Delta t &amp;lt;/math&amp;gt;. Novamente obtemos um equação explicita no tempo &amp;lt;math&amp;gt; n+1 &amp;lt;/math&amp;gt; que depende somente de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; n-1 &amp;lt;/math&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
==== Estabilidade ====&lt;br /&gt;
&lt;br /&gt;
== Análise espectral ==&lt;br /&gt;
Uma possível forma para quantitativamente analisar o som gerado por uma corda vibrante é estudar as frequências que compõem o seu movimento, técnica essa chamada de análise espectral. Antes de prosseguirmos vamos recapitular alguns resultados da álgebra linear&lt;br /&gt;
&lt;br /&gt;
=== Supremacia da álgebra linear ===&lt;br /&gt;
O seguinte conjunto &amp;lt;math&amp;gt; \mathbb{R}^{\mathbb{R}} = \{ f~|~f: \mathbb{R} \to \mathbb{R} \} &amp;lt;/math&amp;gt; é o espaço de funções reais de uma variável. Esse conjunto é um espaço vetorial, logo podemos utilizar toda a artilharia da álgebra linear, em especial, estamos interessados no sub-espaço gerado pela base &amp;lt;math&amp;gt; B = \{sen(\omega t) / \sqrt{\pi}, cos(\omega t) / \sqrt{\pi} \}_{\omega \in \mathbb{R^+}} &amp;lt;/math&amp;gt; &amp;lt;ref name=&amp;quot;norm_const&amp;quot;/&amp;gt;, pois elementos de &amp;lt;math&amp;gt; B &amp;lt;/math&amp;gt;, interpretados como sinais sonoros, representam um frequência pura de valor &amp;lt;math&amp;gt;f=\omega/(2\pi)&amp;lt;/math&amp;gt;. Dessa forma, um sinal arbitrário &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; pode ser escrito em termos das frequências puras que o formam&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 s(t) = \frac{1}{\sqrt{\pi}}\int_{0}^{\infty}[a(\omega)cos(\omega t) + b(\omega)sen(\omega t]d\omega&lt;br /&gt;
&amp;lt;/math&amp;gt;  &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E podemos extrair suas coordenadas (também chamadas de transformada de fourier do sinal) (&amp;lt;math&amp;gt;a(\omega)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;b(\omega)&amp;lt;/math&amp;gt;), fazendo o produto escalar com os elementos da base&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
a(\omega) &amp;amp;= \int_{-\infty}^{\infty}s(t)\frac{1}{\sqrt{\pi}}cos(\omega t)dt \\&lt;br /&gt;
b(\omega) &amp;amp;= \int_{-\infty}^{\infty}s(t)\frac{1}{\sqrt{\pi}}sen(\omega t)dt&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Se o domínio de &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; é limitado, digamos &amp;lt;math&amp;gt;t \in [0, T]&amp;lt;/math&amp;gt;, então uma base infinita com cardinalidade enumerável (em contraste com a base anterior, que possui cardinalidade não enumerável) é suficiente para representar &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt;, uma possível base ortonormal é a seguinte: &amp;lt;math&amp;gt;\bigg\{ \sqrt{\frac{1}{T}}, \sqrt{\frac{2}{T}}sen(\omega_n t), \sqrt{\frac{2}{T}}cos(\omega_n t) \bigg\}_{n \in \mathbb{N^*}}&amp;lt;/math&amp;gt;, em que &amp;lt;math&amp;gt; \omega_n = \frac{n\pi}{T} &amp;lt;/math&amp;gt;. Dessa forma, a representação e coordenadas de &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; ficam&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
s(t) &amp;amp;= a_0\sqrt{\frac{1}{T}} + \sqrt{\frac{2}{T}}\sum_{n=1}^{\infty}\bigg[a_n cos(\omega_n t) + b_n sen(\omega_n) \bigg] \\&lt;br /&gt;
a_0 &amp;amp;= \int_0^T s(t) \sqrt{\frac{1}{T}}dt \\&lt;br /&gt;
a_n &amp;amp;= \int_0^T s(t) \sqrt{\frac{2}{T}}cos(\omega_n t)dt \\&lt;br /&gt;
b_n &amp;amp;= \int_0^T s(t) \sqrt{\frac{2}{T}}sen(\omega_n t)dt \\&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É impossível falar sobre bases enumeráveis de um sub-espaço de &amp;lt;math&amp;gt; \mathbb{R}^{\mathbb{R}} &amp;lt;/math&amp;gt; sem representar esse canhão matemático com uma animação. Abaixo segue uma visualização que calcula as primeiras &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; coordenadas (&amp;lt;math&amp;gt;a_0,\dots,a_N&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;b_1,\dots,b_N&amp;lt;/math&amp;gt;) de um sinal qualquer e sobrepõem a série obtida incrementando &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; até as duas curvas serem indistinguíveis a olho nu. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie_fourier_ana_julia.gif|frame|center|Animação de uma série de fourier. É interessante notar que a série converge muito bem com apenas uma dúzia de frequências.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Potência espectral ===&lt;br /&gt;
Agora, considerando uma corda vibrante, adiante vamos ver que o sinal sonoro provém da vibração de um ponto específico da mesma, digamos em &amp;lt;math&amp;gt;x=x_o&amp;lt;/math&amp;gt;, então a função que representa esse sinal é &amp;lt;math&amp;gt;y(x_o, t)&amp;lt;/math&amp;gt;. Como estamos interessados nas frequências que compõem o sinal, será calculado a transformada de fourier de &amp;lt;math&amp;gt;y(x_o, t)&amp;lt;/math&amp;gt; e vamos definir que a potência da frequência &amp;lt;math&amp;gt;f = \omega/(2\pi)&amp;lt;/math&amp;gt; é &amp;lt;math&amp;gt;a_\omega^2 + b_\omega^2&amp;lt;/math&amp;gt;. A potência em função da frequência é o resultado da análise espectral.&lt;br /&gt;
&lt;br /&gt;
== Simulando uma corda de violão ==&lt;br /&gt;
Uma corda de violão geralmente é excitada por uma pancada dada por uma palheta ou pelo próprio dedo/unha do violonista. Essa pancada define uma condição inicial para a equação de onda. Uma suposição razoável da condição gerada é a seguinte&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\begin{aligned}&lt;br /&gt;
y(x, t=0) &amp;amp;= \begin{cases}  &lt;br /&gt;
\frac{h}{x_0}x &amp;amp;, ~ 0 \leq x \leq x_0\\&lt;br /&gt;
\frac{h}{L-x_0}(-x + L) &amp;amp;, ~ x_0 \leq x \leq L\\&lt;br /&gt;
\end{cases} \\&lt;br /&gt;
\frac{\partial}{\partial t} y(x, t=0) &amp;amp;= 0&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
supondo que a corda possui comprimento &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; e a pancado ocorreu em &amp;lt;math&amp;gt;x_o&amp;lt;/math&amp;gt;, causando uma deslocamento máximo &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt;. A imagem a seguir ilustra o estado da corda logo após a excitação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Init_cond_ana_julia.png|thumb|upright=2|center|Condição inicial de uma corda de violão.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dado essa condição inicial, podemos evoluir temporalmente o estado da corda utilizando a equação da onda, mantendo as bordas fixas (&amp;lt;math&amp;gt;y(x=0, t) = y(x=L, t) = 0&amp;lt;/math&amp;gt;), mas como extrair som dessa simulação? Para responder essa pergunta precisamos saber como um violão gera som. Ao contrário do que inicialmente pareça, as ondas sonoras não são diretamente geradas pela vibração das cordas, mas sim da caixa do violão, que está diretamente conectada com as cordas em uma peça chamada ponte. A vibração das cordas gera uma força dependente do tempo que atua na caixa através da ponte, assim vibrando a caixa e gerando o som que escutamos. Portanto, para gerar som de forma realista, precisaríamos fisicamente simular a caixa, levando em consideração a sua geometria e as propriedades física do seu material, e então determinar as ondas de pressão que seriam geradas por essa vibração, o que está fora do escopo do presente trabalho. Felizmente, as seguintes simplificações vão nos permitir calcular as ondas de pressão:&lt;br /&gt;
&lt;br /&gt;
* A força que a ponte exerce na caixa é aproximadamente proporcional a sua velocidade (Dinâmica aristotélica).&lt;br /&gt;
* A onda de pressão produzida pela caixa é aproximadamente proporcional a sua velocidade.&lt;br /&gt;
&lt;br /&gt;
A força que a ponte exercer na caixa (&amp;lt;math&amp;gt;F(t)&amp;lt;/math&amp;gt;) é a força que a corda exerce na ponte (pois a ponte está firmemente conectada na caixa), e essa força é proporcional a inclinação da corda, ou seja&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F(t) = T \frac{\partial}{\partial x}y(x=0, t) \approx T\frac{y(\Delta x, t) - \overbrace{y(0, t)}^{0}}{\Delta x} = \frac{T}{\Delta x} y(\Delta x, t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a tensão na corda. Portando, o sinal da onda de pressão pode ser aproximado como o deslocamento de um ponto da corda próximo a ponte. Para gerar som com esse sinal, o tipo de arquivo [https://en.wikipedia.org/wiki/WAV#:~:text=Waveform%20Audio%20File%20Format%20(WAVE,1991%20by%20IBM%20and%20Microsoft. WAV]] é utilizado, pois o seu dado de entrada pode ser justante o sinal da onda de pressão.&lt;br /&gt;
&lt;br /&gt;
Agora tudo está pronto para fazermos uma simulação, vamos tentar reproduzir a nota lá (&amp;lt;math&amp;gt;f = 440~Hz&amp;lt;/math&amp;gt;). Primeiro precisamos descobrir qual deve ser a velocidade de propagação das ondas (&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;) para gerar a nota em questão. Resolvendo a equação da onda ideal, obtemos que as possíveis frequência que existem na solução são &amp;lt;math&amp;gt;f_n = \frac{nc}{2L} &amp;lt;/math&amp;gt;, então não é possível fazer a corda vibrar apenas com uma frequência, mas quando músicos se referem a uma nota, eles realmente estão se referindo a &amp;lt;math&amp;gt;f_1&amp;lt;/math&amp;gt;, a primeira frequência que compõem o sinal, então&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; f_1 = \frac{c}{2L} = 440~Hz \Rightarrow c = L \cdot 880~Hz&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assumindo &amp;lt;math&amp;gt;L=1~m&amp;lt;/math&amp;gt;, temos que &amp;lt;math&amp;gt;c = 880~m/s&amp;lt;/math&amp;gt;. Resolvendo a equação da onda realista pelo método FTCS com os seguinte parâmetros&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Parâmetros da condição inicial&lt;br /&gt;
|-&lt;br /&gt;
! Parâmetros !! Valor&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;x_o&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;0,5~L&amp;lt;/math&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| h || 1 cm &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Parâmetros da integração&lt;br /&gt;
|-&lt;br /&gt;
! Parâmetros !! Valor&lt;br /&gt;
|-&lt;br /&gt;
| k || 1/4 &lt;br /&gt;
|-&lt;br /&gt;
| c || 880 m/s &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt; || 0,01 m&lt;br /&gt;
|-&lt;br /&gt;
| L || 1 m &lt;br /&gt;
|-&lt;br /&gt;
| b || 5 &amp;lt;math&amp;gt;s^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
obtemos o seguinte resultado&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Corda_vibrando_ana_julia.gif|frame|center|Solução da equação de onda ideal e realista.]]&lt;br /&gt;
&lt;br /&gt;
Na animação acima, por questão de comparação, também foi coloca a solução de uma simulação com os mesmos parâmetros, apenas com a modificação &amp;lt;math&amp;gt;b=\epsilon=0&amp;lt;/math&amp;gt;, que seria o caso ideal (sem amortecimento e rigidez).&lt;br /&gt;
 &lt;br /&gt;
Realizando a análise espectral do deslocamento de um ponto próximo de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, obtemos o seguinte gráfico&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_ana_julia.png |thumb|upright=2|center|Espectro do deslocamento de um ponto próximo de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As linhas verticais pretas e tracejadas representam as possíveis frequências da solução do caso ideal, ou seja, a primeira linha está em &amp;lt;math&amp;gt;f = 440 Hz &amp;lt;/math&amp;gt; como era de se esperar, mas é notável que a segunda e quarta linhas possuem uma potência praticamente nula, isso ocorre porque a excitação inicial foi exatamente no meio, e as frequência correspondentes a essas linhas provém de ondas estacionário que possum um nodo em &amp;lt;math&amp;gt;x=L/2&amp;lt;/math&amp;gt;, logo elas não foram excitadas pela condição inicial. Mudando o ponto de excitação inicial, podemos ver essas frequências aparecendo, rodando a simulação novamente, mas com &amp;lt;math&amp;gt;x_o = 0,2~L&amp;lt;/math&amp;gt;, obtemos o seguinte espectro&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_bridge_ana_julia.png |thumb|upright=2|center|Espectro para excitação inicial em &amp;lt;math&amp;gt;x_0 = 0,2~L&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos observar a influência da rigidez rodando a simulação com &amp;lt;math&amp;gt;\epsilon=10^{-8}&amp;lt;/math&amp;gt; (10 vezes maior do que o valor anterior) e olhar o espectro produzido&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_high_stiff_ana_julia.png |thumb|upright=2|center|Espectro para &amp;lt;math&amp;gt;\epsilon=10^{-8}&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O efeito mais notável é o deslocamento para esquerda das frequência que compõem o sinal no caso ideal.&lt;br /&gt;
&lt;br /&gt;
Por fim, conforme descrito anteriormente, podemos gerar som com as dados da simulação, mas infelizmente essa wiki não nos permite upar arquivos de áudio. No entanto, áudio das simulações discutidas aqui podem ser encontrados no repositório do projeto [https://github.com/marcos1561/ana-julia ana-julia] dentro da pasta &amp;quot;sound&amp;quot;. Em especial, o efeito de deslocamento de frequências causado pela rigidez é bastante evidente escutando os áudios.&lt;br /&gt;
&lt;br /&gt;
=== Bonus ===&lt;br /&gt;
Apenas por diversão, segue uma animação de um pacote gaussiano como condição inicial&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Gaussian_package_ana_julia.gif|frame|center|Animação da solução da equação da onda com um pacote gaussiano como condição inicial.]]&lt;br /&gt;
&lt;br /&gt;
== Notas ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;fator_ampl&amp;quot;&amp;gt; Perceba que não estamos operando expoentes, mas sim usando a relação entre os índices &amp;lt;math&amp;gt; B^{n-1}/B^{n} = B^{m}/B^{m+1} = A^{-1} &amp;lt;/math&amp;gt;.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;norm_const&amp;quot;&amp;gt;A constante &amp;lt;math&amp;gt; 1/\sqrt{\pi} &amp;lt;/math&amp;gt; está presente por questão de normalização. Esse caso pode parecer um pouco estranho, dado que não é possível normalizar os cossenos e senos, pois sua integral em todo a reta não é definida, mas o que se deseja é a seguinte propriedade &lt;br /&gt;
&amp;lt;math&amp;gt;\int_{\mathbb{R}}A_{\omega}cos(\omega t) \cdot A_{\omega&#039;}cos(\omega&#039; t)dt = \delta(\omega-\omega&#039;) &amp;lt;/math&amp;gt;&lt;br /&gt;
que é safisfeita quando &amp;lt;math&amp;gt; A_{\omega} = A_{\omega&#039;} =  1/\sqrt{\pi}, ~ \forall \omega,\omega&#039;&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Gaussian_package_ana_julia.gif&amp;diff=10140</id>
		<title>Arquivo:Gaussian package ana julia.gif</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:Gaussian_package_ana_julia.gif&amp;diff=10140"/>
		<updated>2024-04-21T14:10:40Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Corda_Vibrante&amp;diff=10139</id>
		<title>Corda Vibrante</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Corda_Vibrante&amp;diff=10139"/>
		<updated>2024-04-21T13:49:49Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: Espectro da rigidez alta&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== A equação da onda ==&lt;br /&gt;
&lt;br /&gt;
== Método FTCS ==&lt;br /&gt;
&lt;br /&gt;
O método FTCS (Forward Time Central Space) é uma abordagem progressiva no tempo e centrada no espaço. Em outras palavras, ao lidarmos com uma função de duas variáveis, buscamos uma solução futura em termos do tempo, centrada em uma vizinhança espacial. Para a resolução numérica da equação diferencial unidimensional da onda, optamos por trabalhar exclusivamente com o método explícito.&lt;br /&gt;
&lt;br /&gt;
=== Corda Ideal ===&lt;br /&gt;
&lt;br /&gt;
==== Método Explícito ====&lt;br /&gt;
&lt;br /&gt;
Para aplicar o método, é necessário inicialmente discretizar tanto as variáveis espaciais quanto as variáveis temporais. Seja a função &amp;lt;math&amp;gt; y(t,x): \mathbb{R}^{2} \mapsto \mathbb{R} &amp;lt;/math&amp;gt;, sejam os intervalos &amp;lt;math&amp;gt; \left [ 0,X \right ], \left [ 0,T \right ]\subset \mathbb{R} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; N,M\in \mathbb{N} &amp;lt;/math&amp;gt;, discretizamos os intervalos em espaçamentos iguais &amp;lt;math&amp;gt; \Delta x = X/N &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; \Delta t = T/M &amp;lt;/math&amp;gt; de tal maneira que obtemos as sequências crescentes monótonas &amp;lt;math&amp;gt;\left \{ x_{i} \right \}_{i=0}^{N} &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;\left \{ t_{i} \right \}_{j=0}^{M} &amp;lt;/math&amp;gt; . Assim obtemos uma grade de malhas de pontos &amp;lt;math&amp;gt; (t_{i}, x_{i}) &amp;lt;/math&amp;gt; onde a função &amp;lt;math&amp;gt; y(t,x) &amp;lt;/math&amp;gt; tem seus valores aproximados por &amp;lt;math&amp;gt; y(t_{i}, x_{i}) &amp;lt;/math&amp;gt; denotado &amp;lt;math&amp;gt; y_{j}^{n} &amp;lt;/math&amp;gt;. Uma abordagem comum envolve a discretização da primeira derivada no tempo utilizando uma diferença finita progressiva baseada na expansão em séries de Taylor até a primeira ordem :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial y}{\partial t} \approx \frac{y(t+\Delta t, x) - y(t, x)}{\Delta t} = \frac{y_{j}^{n+1} - y_{j}^{n}}{\Delta t}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Discretizando a derivada temporal segunda utilizando um diferença finita regressiva :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} \approx  \frac{\partial}{\partial t} \left(\frac{y_{j}^{n+1} - y_{j}^{n}}{\Delta t}\right) \approx \frac{1}{\Delta t}\left ( \frac{y(t+\Delta t, x) - y((t + \Delta t)- \Delta t, x)}{\Delta t} - \frac{y(t,x) - y(t - \Delta t, x)}{\Delta t }\right ) = \frac{y(t + \Delta t, x) + y(t - \Delta t, x) - 2y(t, x)}{(\Delta t)^{2}} = \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que o processo retorna uma derivada de diferenças finitas centrada, além disso obtemos um aproximação de segunda ordem. O mecanismo de discretização das derivadas espaciais é completamente análogo, a derivada segunda centrada :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^{2} y}{\partial x^{2}} \approx \frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Aplicando as expressões das diferenciais na equação da onda :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} = c^{2} \frac{\partial^2 y}{\partial x^2} \mapsto \frac{y_{j}^{n+1} + y_{j}^{n-1} - 2y_{j}^{n}}{(\Delta t)^{2}} = c^{2}\frac{y_{j+1}^{n} + y_{j-1}^{n} - 2y_{j}^{n}}{(\Delta x)^{2}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
defina &amp;lt;math&amp;gt; a := c\Delta t / \Delta x &amp;lt;/math&amp;gt; e explicite a variável no estado temporal futuro, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_{j}^{n+1} = 2\left(1 - a^{2}\right)y_{j}^{n} - y_{j}^{n-1} + a^{2}\left ( y_{j+1}^{n} + y_{j-1}^{n}\right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
uma equação explicita no tempo &amp;lt;math&amp;gt; n+1 &amp;lt;/math&amp;gt; dependendo somente de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; n-1 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Estabilidade ====&lt;br /&gt;
&lt;br /&gt;
Para analisar a estabilidade da solução numérica para a equação da onda, utilizaremos o método de Von Neumann. O procedimento consiste em utilizar a transformada de Fourier para determinar a estabilidade do esquema, a solução problema tem a forma : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
y_{j}^{n+1}(\xi) = A(\xi \Delta x, \Delta x, \Delta t) y_{j}^{n}(\xi)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; \xi \in \left [ -\pi / \Delta x, \pi / \Delta x \right ] &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; A &amp;lt;/math&amp;gt; é o fator de amplificação, observe que podemos estudar a estabilidade da aproximação somente analisando o fator de amplificação. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Teorema&#039;&#039;&#039; : Se o fator de amplificação não depender de &amp;lt;math&amp;gt; \Delta x &amp;lt;/math&amp;gt; nem &amp;lt;math&amp;gt; \Delta t &amp;lt;/math&amp;gt;, então a aproximação é estável se &amp;lt;math&amp;gt; \left | A(\xi \Delta x) \right | \leq 1 &amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Vejamos a estabilidade da aproximação de diferenças finitas para a equação do calor, utilizando as componentes de Fourier &amp;lt;math &amp;gt;y_{j}^{n} \mapsto B^{n}e^{ikj\Delta x} &amp;lt;/math&amp;gt;, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
B^{n+1}e^{ikj\Delta x} = 2\left ( 1-a^{2} \right )B^{n}e^{ikj\Delta x} - B^{n-1}e^{ikj\Delta x} + a^{2}\left ( B^{n}e^{ik(j+1)\Delta x} + B^{n}e^{ik(j-1)\Delta x} \right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
simplificando os termos em comum :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
B^{n+1} + B^{n-1}  = B^{n} \left [ 2\left ( 1-a^{2} \right ) + a^{2}\left (e^{ik\Delta x} + e^{-ik\Delta x}\right )\right ]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que &amp;lt;math&amp;gt; e^{ik\Delta x} - e^{-ik\Delta x} = 2cos(k\Delta x) &amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{B^{n+1} + B^{n-1}}{B^{n}} = 2\left ( 1-a^{2} \right ) + 2a^{2}cos(k\Delta x)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
utilizando a identidade trigonométrica &amp;lt;math&amp;gt; cos(\theta) = cos^{2}(\theta /2) - sen^{2}(\theta) &amp;lt;/math&amp;gt; e a identidade trigonométrica fundamental, obtemos :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A - \frac{1}{A} = -2\left [ 2a^{2}sen^{2}\left ( \frac{k\Delta x}{2} \right ) -1 \right ]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; A = B^{n+1}/B^{n} &amp;lt;/math&amp;gt; &amp;lt;ref name=&amp;quot;fator_ampl&amp;quot;/&amp;gt; é o fator de amplificação. Defina &amp;lt;math&amp;gt; d :=  2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 &amp;lt;/math&amp;gt;. Portanto obtemos a equação quadrática com soluções :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
A^{2} + 2dA + 1 = 0 \Rightarrow A_{1,2} = -d \pm \sqrt{d^{2}-1}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
se &amp;lt;math&amp;gt; \left | d \right | &amp;gt; 1 &amp;lt;/math&amp;gt;, então : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
-1&amp;gt;d&amp;gt;1 \Rightarrow -1 &amp;gt; 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 &amp;gt; 1  \Rightarrow 0 &amp;gt; 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) &amp;gt; 2 \Rightarrow 0 &amp;gt; \left( asen\left (k\Delta x / 2 \right ) \right)^{2} &amp;gt; 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
o que é um aburdo, pois esse termo é real. Se &amp;lt;math&amp;gt; \left | d \right | \leq  1 &amp;lt;/math&amp;gt; , então : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
-1\leq d \leq 1 \Rightarrow -1 \leq 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) -1 \leq 1  \Rightarrow 0 \leq 2a^{2}sen^{2}\left (k\Delta x / 2 \right ) \leq 2 \Rightarrow 0 \leq \left( asen\left (k\Delta x / 2 \right ) \right)^{2} \leq 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
note que &amp;lt;math&amp;gt; sen\left (k\Delta x / 2 \right ) \leq 1 &amp;lt;/math&amp;gt;, logo &amp;lt;math&amp;gt; a \leq 1 &amp;lt;/math&amp;gt;. Portanto para o método ser condicionalmente estável : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\frac{c \Delta t}{ \Delta x} \leq 1&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Embora &amp;lt;math&amp;gt; a \leq 1 &amp;lt;/math&amp;gt; garante a estabilidade do processo, &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt; é a melhor escolha possível para a estabilidade do método, pelos seguintes motivos :&lt;br /&gt;
* Quando &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt;, os termos de ordem superior que são descartados na discretização da equação da onda são amplamente cancelados. Essa compensação implica que o método numérico se torna mais estável e menos suscetível a erros numéricos significativos, ou seja, não ocorrerão variações abruptas devido aos termos de ordem maiores;&lt;br /&gt;
* Quando &amp;lt;math&amp;gt; a = 1 &amp;lt;/math&amp;gt;, a perturbação na corda se propaga exatamente um passo espacial a cada passo de tempo. Esse comportamento assegura que a velocidade da perturbação seja adequadamente representada pelo algoritmo numérico. Isso ocorre devido a relação entre a velocidade física da corda &amp;lt;math&amp;gt; c &amp;lt;/math&amp;gt; e a velocidade da perturbação &amp;lt;math&amp;gt; \Delta x / \Delta t &amp;lt;/math&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\frac{c \Delta t}{ \Delta x} = \frac{c}{v} &lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Corda Não Ideal ===&lt;br /&gt;
&lt;br /&gt;
==== Método Explícito ====&lt;br /&gt;
Optaremos novamente por realizar a análise utilizando um método explícito. Em geral, o desenvolvimento teórico para a discretização da equação diferencial da onda com amortecimento e rigidez é análogo ao caso ideal, portanto, não serão apresentados com detalhes os cálculos necessários para a implementação do método. A derivada quarta centrada é aproximada utilizando diferenças finitas :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^4 y}{\partial x^4} \approx \frac{y_{j+2}^{n} + y_{j+1}^{n} + y_{j}^{n} + y_{j-1}^{n} + y_{j-2}^{n}}{\left ( \Delta x \right )^{4}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Transformando a EDP não homogênea para um espaço discretizado : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\frac{\partial^2 y}{\partial t^2} = c^{2}\left ( \frac{\partial^2 y}{\partial x^2} - \epsilon L^{2}\frac{\partial^4 y}{\partial x^4} \right ) - b\frac{\partial y}{\partial t} \mapsto  y_{j}^{n+1} = \left [ \left (2 - 2a^{2} - 6\epsilon a^{2}E^{2} - F \right )y_{j}^{n} - y_{j}^{n-1} + a^{2}\left ( 1 + 4\epsilon E^{2} \right ) \left ( y_{j+1}^{n} + y_{j-1}^{n} \right ) - \epsilon a^{2}E^{2} \left ( y_{j+2}^{n} + y_{j-2}^{n} \right ) \right ]\left (\frac{1}{1-F} \right )&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
onde &amp;lt;math&amp;gt; E := L/ \Delta x &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; F := b/ \Delta t &amp;lt;/math&amp;gt;. Novamente obtemos um equação explicita no tempo &amp;lt;math&amp;gt; n+1 &amp;lt;/math&amp;gt; que depende somente de &amp;lt;math&amp;gt; n &amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt; n-1 &amp;lt;/math&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
==== Estabilidade ====&lt;br /&gt;
&lt;br /&gt;
== Análise espectral ==&lt;br /&gt;
Uma possível forma para quantitativamente analisar o som gerado por uma corda vibrante é estudar as frequências que compõem o seu movimento, técnica essa chamada de análise espectral. Antes de prosseguirmos vamos recapitular alguns resultados da álgebra linear&lt;br /&gt;
&lt;br /&gt;
=== Supremacia da álgebra linear ===&lt;br /&gt;
O seguinte conjunto &amp;lt;math&amp;gt; \mathbb{R}^{\mathbb{R}} = \{ f~|~f: \mathbb{R} \to \mathbb{R} \} &amp;lt;/math&amp;gt; é o espaço de funções reais de uma variável. Esse conjunto é um espaço vetorial, logo podemos utilizar toda a artilharia da álgebra linear, em especial, estamos interessados no sub-espaço gerado pela base &amp;lt;math&amp;gt; B = \{sen(\omega t) / \sqrt{\pi}, cos(\omega t) / \sqrt{\pi} \}_{\omega \in \mathbb{R^+}} &amp;lt;/math&amp;gt; &amp;lt;ref name=&amp;quot;norm_const&amp;quot;/&amp;gt;, pois elementos de &amp;lt;math&amp;gt; B &amp;lt;/math&amp;gt;, interpretados como sinais sonoros, representam um frequência pura de valor &amp;lt;math&amp;gt;f=\omega/(2\pi)&amp;lt;/math&amp;gt;. Dessa forma, um sinal arbitrário &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; pode ser escrito em termos das frequências puras que o formam&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 s(t) = \frac{1}{\sqrt{\pi}}\int_{0}^{\infty}[a(\omega)cos(\omega t) + b(\omega)sen(\omega t]d\omega&lt;br /&gt;
&amp;lt;/math&amp;gt;  &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E podemos extrair suas coordenadas (também chamadas de transformada de fourier do sinal) (&amp;lt;math&amp;gt;a(\omega)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;b(\omega)&amp;lt;/math&amp;gt;), fazendo o produto escalar com os elementos da base&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
a(\omega) &amp;amp;= \int_{-\infty}^{\infty}s(t)\frac{1}{\sqrt{\pi}}cos(\omega t)dt \\&lt;br /&gt;
b(\omega) &amp;amp;= \int_{-\infty}^{\infty}s(t)\frac{1}{\sqrt{\pi}}sen(\omega t)dt&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Se o domínio de &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; é limitado, digamos &amp;lt;math&amp;gt;t \in [0, T]&amp;lt;/math&amp;gt;, então uma base infinita com cardinalidade enumerável (em contraste com a base anterior, que possui cardinalidade não enumerável) é suficiente para representar &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt;, uma possível base ortonormal é a seguinte: &amp;lt;math&amp;gt;\bigg\{ \sqrt{\frac{1}{T}}, \sqrt{\frac{2}{T}}sen(\omega_n t), \sqrt{\frac{2}{T}}cos(\omega_n t) \bigg\}_{n \in \mathbb{N^*}}&amp;lt;/math&amp;gt;, em que &amp;lt;math&amp;gt; \omega_n = \frac{n\pi}{T} &amp;lt;/math&amp;gt;. Dessa forma, a representação e coordenadas de &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; ficam&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
s(t) &amp;amp;= a_0\sqrt{\frac{1}{T}} + \sqrt{\frac{2}{T}}\sum_{n=1}^{\infty}\bigg[a_n cos(\omega_n t) + b_n sen(\omega_n) \bigg] \\&lt;br /&gt;
a_0 &amp;amp;= \int_0^T s(t) \sqrt{\frac{1}{T}}dt \\&lt;br /&gt;
a_n &amp;amp;= \int_0^T s(t) \sqrt{\frac{2}{T}}cos(\omega_n t)dt \\&lt;br /&gt;
b_n &amp;amp;= \int_0^T s(t) \sqrt{\frac{2}{T}}sen(\omega_n t)dt \\&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É impossível falar sobre bases enumeráveis de um sub-espaço de &amp;lt;math&amp;gt; \mathbb{R}^{\mathbb{R}} &amp;lt;/math&amp;gt; sem representar esse canhão matemático com uma animação. Abaixo segue uma visualização que calcula as primeiras &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; coordenadas (&amp;lt;math&amp;gt;a_0,\dots,a_N&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;b_1,\dots,b_N&amp;lt;/math&amp;gt;) de um sinal qualquer e sobrepõem a série obtida incrementando &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; até as duas curvas serem indistinguíveis a olho nu. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie_fourier_ana_julia.gif|frame|center|Animação de uma série de fourier. É interessante notar que a série converge muito bem com apenas uma dúzia de frequências.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Potência espectral ===&lt;br /&gt;
Agora, considerando uma corda vibrante, adiante vamos ver que o sinal sonoro provém da vibração de um ponto específico da mesma, digamos em &amp;lt;math&amp;gt;x=x_o&amp;lt;/math&amp;gt;, então a função que representa esse sinal é &amp;lt;math&amp;gt;y(x_o, t)&amp;lt;/math&amp;gt;. Como estamos interessados nas frequências que compõem o sinal, será calculado a transformada de fourier de &amp;lt;math&amp;gt;y(x_o, t)&amp;lt;/math&amp;gt; e vamos definir que a potência da frequência &amp;lt;math&amp;gt;f = \omega/(2\pi)&amp;lt;/math&amp;gt; é &amp;lt;math&amp;gt;a_\omega^2 + b_\omega^2&amp;lt;/math&amp;gt;. A potência em função da frequência é o resultado da análise espectral.&lt;br /&gt;
&lt;br /&gt;
== Simulando uma corda de violão ==&lt;br /&gt;
Uma corda de violão geralmente é excitada por uma pancada dada por uma palheta ou pelo próprio dedo/unha do violonista. Essa pancada define uma condição inicial para a equação de onda. Uma suposição razoável da condição gerada é a seguinte&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\begin{aligned}&lt;br /&gt;
y(x, t=0) &amp;amp;= \begin{cases}  &lt;br /&gt;
\frac{h}{x_0}x &amp;amp;, ~ 0 \leq x \leq x_0\\&lt;br /&gt;
\frac{h}{L-x_0}(-x + L) &amp;amp;, ~ x_0 \leq x \leq L\\&lt;br /&gt;
\end{cases} \\&lt;br /&gt;
\frac{\partial}{\partial t} y(x, t=0) &amp;amp;= 0&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
supondo que a corda possui comprimento &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; e a pancado ocorreu em &amp;lt;math&amp;gt;x_o&amp;lt;/math&amp;gt;, causando uma deslocamento máximo &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt;. A imagem a seguir ilustra o estado da corda logo após a excitação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Init_cond_ana_julia.png|thumb|upright=2|center|Condição inicial de uma corda de violão.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dado essa condição inicial, podemos evoluir temporalmente o estado da corda utilizando a equação da onda, mantendo as bordas fixas (&amp;lt;math&amp;gt;y(x=0, t) = y(x=L, t) = 0&amp;lt;/math&amp;gt;), mas como extrair som dessa simulação? Para responder essa pergunta precisamos saber como um violão gera som. Ao contrário do que inicialmente pareça, as ondas sonoras não são diretamente geradas pela vibração das cordas, mas sim da caixa do violão, que está diretamente conectada com as cordas em uma peça chamada ponte. A vibração das cordas gera uma força dependente do tempo que atua na caixa através da ponte, assim vibrando a caixa e gerando o som que escutamos. Portanto, para gerar som de forma realista, precisaríamos fisicamente simular a caixa, levando em consideração a sua geometria e as propriedades física do seu material, e então determinar as ondas de pressão que seriam geradas por essa vibração, o que está fora do escopo do presente trabalho. Felizmente, as seguintes simplificações vão nos permitir calcular as ondas de pressão:&lt;br /&gt;
&lt;br /&gt;
* A força que a ponte exerce na caixa é aproximadamente proporcional a sua velocidade (Dinâmica aristotélica).&lt;br /&gt;
* A onda de pressão produzida pela caixa é aproximadamente proporcional a sua velocidade.&lt;br /&gt;
&lt;br /&gt;
A força que a ponte exercer na caixa (&amp;lt;math&amp;gt;F(t)&amp;lt;/math&amp;gt;) é a força que a corda exerce na ponte (pois a ponte está firmemente conectada na caixa), e essa força é proporcional a inclinação da corda, ou seja&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F(t) = T \frac{\partial}{\partial x}y(x=0, t) \approx T\frac{y(\Delta x, t) - \overbrace{y(0, t)}^{0}}{\Delta x} = \frac{T}{\Delta x} y(\Delta x, t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a tensão na corda. Portando, o sinal da onda de pressão pode ser aproximado como o deslocamento de um ponto da corda próximo a ponte. Para gerar som com esse sinal, o tipo de arquivo [https://en.wikipedia.org/wiki/WAV#:~:text=Waveform%20Audio%20File%20Format%20(WAVE,1991%20by%20IBM%20and%20Microsoft. WAV]] é utilizado, pois o seu dado de entrada pode ser justante o sinal da onda de pressão.&lt;br /&gt;
&lt;br /&gt;
Agora tudo está pronto para fazermos uma simulação, vamos tentar reproduzir a nota lá (&amp;lt;math&amp;gt;f = 440~Hz&amp;lt;/math&amp;gt;). Primeiro precisamos descobrir qual deve ser a velocidade de propagação das ondas (&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;) para gerar a nota em questão. Resolvendo a equação da onda ideal, obtemos que as possíveis frequência que existem na solução são &amp;lt;math&amp;gt;f_n = \frac{nc}{2L} &amp;lt;/math&amp;gt;, então não é possível fazer a corda vibrar apenas com uma frequência, mas quando músicos se referem a uma nota, eles realmente estão se referindo a &amp;lt;math&amp;gt;f_1&amp;lt;/math&amp;gt;, a primeira frequência que compõem o sinal, então&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; f_1 = \frac{c}{2L} = 440~Hz \Rightarrow c = L \cdot 880~Hz&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assumindo &amp;lt;math&amp;gt;L=1~m&amp;lt;/math&amp;gt;, temos que &amp;lt;math&amp;gt;c = 880~m/s&amp;lt;/math&amp;gt;. Resolvendo a equação da onda realista pelo método FTCS com os seguinte parâmetros&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Parâmetros da condição inicial&lt;br /&gt;
|-&lt;br /&gt;
! Parâmetros !! Valor&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;x_o&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;0,5~L&amp;lt;/math&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| h || 1 cm &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Parâmetros da integração&lt;br /&gt;
|-&lt;br /&gt;
! Parâmetros !! Valor&lt;br /&gt;
|-&lt;br /&gt;
| k || 1/4 &lt;br /&gt;
|-&lt;br /&gt;
| c || 880 m/s &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt; || 0,01 m&lt;br /&gt;
|-&lt;br /&gt;
| L || 1 m &lt;br /&gt;
|-&lt;br /&gt;
| b || 5 &amp;lt;math&amp;gt;s^{-1}&amp;lt;/math&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
obtemos o seguinte resultado&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Corda_vibrando_ana_julia.gif|frame|center|Solução da equação de onda ideal e realista.]]&lt;br /&gt;
&lt;br /&gt;
Na animação acima, por questão de comparação, também foi coloca a solução de uma simulação com os mesmos parâmetros, apenas com a modificação &amp;lt;math&amp;gt;b=\epsilon=0&amp;lt;/math&amp;gt;, que seria o caso ideal (sem amortecimento e rigidez).&lt;br /&gt;
 &lt;br /&gt;
Realizando a análise espectral do deslocamento de um ponto próximo de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, obtemos o seguinte gráfico&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_ana_julia.png |thumb|upright=2|center|Espectro do deslocamento de um ponto próximo de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As linhas verticais pretas e tracejadas representam as possíveis frequências da solução do caso ideal, ou seja, a primeira linha está em &amp;lt;math&amp;gt;f = 440 Hz &amp;lt;/math&amp;gt; como era de se esperar, mas é notável que a segunda e quarta linhas possuem uma potência praticamente nula, isso ocorre porque a excitação inicial foi exatamente no meio, e as frequência correspondentes a essas linhas provém de ondas estacionário que possum um nodo em &amp;lt;math&amp;gt;x=L/2&amp;lt;/math&amp;gt;, logo elas não foram excitadas pela condição inicial. Mudando o ponto de excitação inicial, podemos ver essas frequências aparecendo, rodando a simulação novamente, mas com &amp;lt;math&amp;gt;x_o = 0,2~L&amp;lt;/math&amp;gt;, obtemos o seguinte espectro&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_bridge_ana_julia.png |thumb|upright=2|center|Espectro para excitação inicial em &amp;lt;math&amp;gt;x_0 = 0,2~L&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Podemos observar a influência da rigidez no som produzido rodando a simulação com &amp;lt;math&amp;gt;\epsilon=10^-8&amp;lt;/math&amp;gt; (10 vezes maior do que o valor anterior) e olhar o espectro produzido&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_high_stiff_ana_julia.png |thumb|upright=2|center|Espectro para math&amp;gt;\epsilon=10^-8&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O efeito mais notável é o deslocamento para esquerda das frequência que compõem o sinal no caso ideal.&lt;br /&gt;
&lt;br /&gt;
Por fim, conforme descrito anteriormente, podemos gerar som com as dados da simulação, mas infelizmente essa wiki não nos permite upar arquivos de áudio. No entanto, áudio das simulações discutidas aqui0 podem ser encontrados no repositório do projeto [https://github.com/marcos1561/ana-julia ana-julia] dentro da pasta &amp;quot;sound&amp;quot;. Em especial, o efeito de deslocamento de frequências causado pela rigidez é bastante evidente escutando os áudios.&lt;br /&gt;
&lt;br /&gt;
== Notas ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;fator_ampl&amp;quot;&amp;gt; Perceba que não estamos operando expoentes, mas sim usando a relação entre os índices &amp;lt;math&amp;gt; B^{n-1}/B^{n} = B^{m}/B^{m+1} = A^{-1} &amp;lt;/math&amp;gt;.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;norm_const&amp;quot;&amp;gt;A constante &amp;lt;math&amp;gt; 1/\sqrt{\pi} &amp;lt;/math&amp;gt; está presente por questão de normalização. Esse caso pode parecer um pouco estranho, dado que não é possível normalizar os cossenos e senos, pois sua integral em todo a reta não é definida, mas o que se deseja é a seguinte propriedade &lt;br /&gt;
&amp;lt;math&amp;gt;\int_{\mathbb{R}}A_{\omega}cos(\omega t) \cdot A_{\omega&#039;}cos(\omega&#039; t)dt = \delta(\omega-\omega&#039;) &amp;lt;/math&amp;gt;&lt;br /&gt;
que é safisfeita quando &amp;lt;math&amp;gt; A_{\omega} = A_{\omega&#039;} =  1/\sqrt{\pi}, ~ \forall \omega,\omega&#039;&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:La_power_high_stiff_ana_julia.png&amp;diff=10138</id>
		<title>Arquivo:La power high stiff ana julia.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:La_power_high_stiff_ana_julia.png&amp;diff=10138"/>
		<updated>2024-04-21T13:44:10Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Corda_Vibrante&amp;diff=10112</id>
		<title>Corda Vibrante</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Corda_Vibrante&amp;diff=10112"/>
		<updated>2024-04-20T20:33:25Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: simulação de uma corda de violão&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== A equação da onda ==&lt;br /&gt;
&lt;br /&gt;
== Método FTCS ==&lt;br /&gt;
&lt;br /&gt;
=== Sobre estabilidade ===&lt;br /&gt;
&lt;br /&gt;
== Análise espectral ==&lt;br /&gt;
Uma possível forma para quantitativamente analisar o som gerado por uma corda vibrante é estudar as frequências que compõem o seu movimento, técnica essa chamada de análise espectral. Antes de prosseguirmos vamos recapitular alguns resultados da álgebra linear&lt;br /&gt;
&lt;br /&gt;
=== Supremacia da álgebra linear ===&lt;br /&gt;
O seguinte conjunto &amp;lt;math&amp;gt; \mathbb{R}^{\mathbb{R}} = \{ f~|~f: \mathbb{R} \to \mathbb{R} \} &amp;lt;/math&amp;gt; é o espaço de funções reais de uma variável. Esse conjunto é um espaço vetorial, logo podemos utilizar toda a artilharia da álgebra linear, em especial, estamos interessados no sub-espaço gerado pela base &amp;lt;math&amp;gt; B = \{sen(\omega t) / \sqrt{\pi}, cos(\omega t) / \sqrt{\pi} \}_{\omega \in \mathbb{R^+}} &amp;lt;/math&amp;gt; &amp;lt;ref name=&amp;quot;norm_const&amp;quot;/&amp;gt;, pois elementos de &amp;lt;math&amp;gt; B &amp;lt;/math&amp;gt;, interpretados como sinais sonoros, representam um frequência pura de valor &amp;lt;math&amp;gt;f=\omega/(2\pi)&amp;lt;/math&amp;gt;. Dessa forma, um sinal arbitrário &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; pode ser escrito em termos das frequências puras que o formam&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
 s(t) = \frac{1}{\sqrt{\pi}}\int_{0}^{\infty}[a(\omega)cos(\omega t) + b(\omega)sen(\omega t]d\omega&lt;br /&gt;
&amp;lt;/math&amp;gt;  &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E podemos extrair suas coordenadas (também chamadas de transformada de fourier do sinal) (&amp;lt;math&amp;gt;a(\omega)&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;b(\omega)&amp;lt;/math&amp;gt;), fazendo o produto escalar com os elementos da base&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
a(\omega) &amp;amp;= \int_{-\infty}^{\infty}s(t)\frac{1}{\sqrt{\pi}}cos(\omega t)dt \\&lt;br /&gt;
b(\omega) &amp;amp;= \int_{-\infty}^{\infty}s(t)\frac{1}{\sqrt{\pi}}sen(\omega t)dt&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt; &lt;br /&gt;
&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Se o domínio de &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; é limitado, digamos &amp;lt;math&amp;gt;t \in [0, T]&amp;lt;/math&amp;gt;, então uma base infinita com cardinalidade enumerável (em contraste com a base anterior, que possui cardinalidade não enumerável) é suficiente para representar &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt;, uma possível base ortonormal é a seguinte: &amp;lt;math&amp;gt;\bigg\{ \sqrt{\frac{1}{T}}, \sqrt{\frac{2}{T}}sen(\omega_n t), \sqrt{\frac{2}{T}}cos(\omega_n t) \bigg\}_{n \in \mathbb{N^*}}&amp;lt;/math&amp;gt;, em que &amp;lt;math&amp;gt; \omega_n = \frac{n\pi}{T} &amp;lt;/math&amp;gt;. Dessa forma, a representação e coordenadas de &amp;lt;math&amp;gt;s(t)&amp;lt;/math&amp;gt; ficam&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{aligned}&lt;br /&gt;
s(t) &amp;amp;= a_0\sqrt{\frac{1}{T}} + \sqrt{\frac{2}{T}}\sum_{n=1}^{\infty}\bigg[a_n cos(\omega_n t) + b_n sen(\omega_n) \bigg] \\&lt;br /&gt;
a_0 &amp;amp;= \int_0^T s(t) \sqrt{\frac{1}{T}}dt \\&lt;br /&gt;
a_n &amp;amp;= \int_0^T s(t) \sqrt{\frac{2}{T}}cos(\omega_n t)dt \\&lt;br /&gt;
b_n &amp;amp;= \int_0^T s(t) \sqrt{\frac{2}{T}}sen(\omega_n t)dt \\&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
É impossível falar sobre bases enumeráveis de um sub-espaço de &amp;lt;math&amp;gt; \mathbb{R}^{\mathbb{R}} &amp;lt;/math&amp;gt; sem representar esse canhão matemático com uma animação. Abaixo segue uma visualização que calcula as primeiras &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; coordenadas (&amp;lt;math&amp;gt;a_0,\dots,a_N&amp;lt;/math&amp;gt; e &amp;lt;math&amp;gt;b_1,\dots,b_N&amp;lt;/math&amp;gt;) de um sinal qualquer e sobrepõem a série obtida incrementando &amp;lt;math&amp;gt;N&amp;lt;/math&amp;gt; até as duas curvas serem indistinguíveis a olho nu. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Serie_fourier_ana_julia.gif|frame|center|Animação de uma série de fourier. É interessante notar que a série converge muito bem com apenas uma dúzia de frequências.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Potência espectral ===&lt;br /&gt;
Agora, considerando uma corda vibrante, adiante vamos ver que o sinal sonoro provém da vibração de um ponto específico da mesma, digamos em &amp;lt;math&amp;gt;x=x_o&amp;lt;/math&amp;gt;, então a função que representa esse sinal é &amp;lt;math&amp;gt;y(x_o, t)&amp;lt;/math&amp;gt;. Como estamos interessados nas frequências que compõem o sinal, será calculado a transformada de fourier de &amp;lt;math&amp;gt;y(x_o, t)&amp;lt;/math&amp;gt; e vamos definir que a potência da frequência &amp;lt;math&amp;gt;f = \omega/(2\pi)&amp;lt;/math&amp;gt; é &amp;lt;math&amp;gt;a_\omega^2 + b_\omega^2&amp;lt;/math&amp;gt;. A potência em função da frequência é o resultado da análise espectral.&lt;br /&gt;
&lt;br /&gt;
== Simulando uma corda de violão ==&lt;br /&gt;
Uma corda de violão geralmente é excitada por uma pancada dada por uma palheta ou pelo próprio dedo/unha do violonista. Essa pancada define uma condição inicial para a equação de onda. Uma suposição razoável da condição gerada é a seguinte&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; &lt;br /&gt;
\begin{aligned}&lt;br /&gt;
y(x, t=0) &amp;amp;= \begin{cases}  &lt;br /&gt;
\frac{h}{x_0}x &amp;amp;, ~ 0 \leq x \leq x_0\\&lt;br /&gt;
\frac{h}{L-x_0}(-x + L) &amp;amp;, ~ x_0 \leq x \leq L\\&lt;br /&gt;
\end{cases} \\&lt;br /&gt;
\frac{\partial}{\partial t} y(x, t=0) &amp;amp;= 0&lt;br /&gt;
\end{aligned}&lt;br /&gt;
&amp;lt;/math&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
supondo que a corda possui comprimento &amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; e a pancado ocorreu em &amp;lt;math&amp;gt;x_o&amp;lt;/math&amp;gt;, causando uma deslocamento máximo &amp;lt;math&amp;gt;h&amp;lt;/math&amp;gt;. A imagem a seguir ilustra o estado da corda logo após a excitação&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:Init_cond_ana_julia.png|thumb|upright=2|center|Condição inicial de uma corda de violão.]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dado essa condição inicial, podemos evoluir temporalmente o estado da corda utilizando a equação da onda, mantendo as bordas fixas (&amp;lt;math&amp;gt;y(x=0, t) = y(x=L, t) = 0&amp;lt;/math&amp;gt;), mas como extrair som dessa simulação? Para responder essa pergunta precisamos saber como um violão gera som. Ao contrário do que inicialmente pareça, as ondas sonoras não são diretamente geradas pela vibração das cordas, mas sim da caixa do violão, que está diretamente conectada com as cordas em uma peça chamada ponte. A vibração das cordas gera uma força dependente do tempo que atua na caixa através da ponte, assim vibrando a caixa e gerando o som que escutamos. Portanto, para gerar som de forma realista, precisaríamos fisicamente simular a caixa, levando em consideração a sua geometria e as propriedades física do seu material, e então determinar as ondas de pressão que seriam geradas por essa vibração, o que está fora do escopo do presente trabalho. Felizmente, as seguintes simplificações vão nos permitir calcular as ondas de pressão:&lt;br /&gt;
&lt;br /&gt;
* A força que a ponte exerce na caixa é aproximadamente proporcional a sua velocidade (Dinâmica aristotélica).&lt;br /&gt;
* A onda de pressão produzida pela caixa é aproximadamente proporcional a sua velocidade.&lt;br /&gt;
&lt;br /&gt;
A força que a ponte exercer na caixa (&amp;lt;math&amp;gt;F(t)&amp;lt;/math&amp;gt;) é a força que a corda exerce na ponte (pois a ponte está firmemente conectada na caixa), e essa força é proporcional a inclinação da corda, ou seja&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
F(t) = T \frac{\partial}{\partial x}y(x=0, t) \approx T\frac{y(\Delta x, t) - \overbrace{y(0, t)}^{0}}{\Delta x} = \frac{T}{\Delta x} y(\Delta x, t)&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
em que &amp;lt;math&amp;gt;T&amp;lt;/math&amp;gt; é a tensão na corda. Portando, o sinal da onda de pressão pode ser aproximado como o deslocamento de um ponto da corda próximo a ponte. Para gerar som com esse sinal, o tipo de arquivo [https://en.wikipedia.org/wiki/WAV#:~:text=Waveform%20Audio%20File%20Format%20(WAVE,1991%20by%20IBM%20and%20Microsoft. WAV]] é utilizado, pois o seu dado de entrada pode ser justante o sinal da onda de pressão.&lt;br /&gt;
&lt;br /&gt;
Agora tudo está pronto para fazermos uma simulação, vamos tentar reproduzir a nota lá (&amp;lt;math&amp;gt;f = 440&amp;lt;/math&amp;gt; Hz). Primeiro precisamos descobrir qual deve ser a velocidade de propagação das ondas (&amp;lt;math&amp;gt;c&amp;lt;/math&amp;gt;) para gerar a nota em questão. Resolvendo a equação da onda ideal, obtemos que as possíveis frequência que existem na solução são &amp;lt;math&amp;gt;f_n = \frac{nc}{2L} &amp;lt;/math&amp;gt;, então não é possível fazer a corda vibrar apenas com uma frequência, mas quando músicos se referem a uma nota, eles realmente estão se referindo a &amp;lt;math&amp;gt;f_1&amp;lt;/math&amp;gt;, a primeira frequência que compõem o sinal, então&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;math&amp;gt; f_1 = \frac{c}{2L} = 440~Hz \Rightarrow c = L \cdot 880 Hz&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assumindo &amp;lt;math&amp;gt;L=1~m&amp;lt;/math&amp;gt;, temos que &amp;lt;math&amp;gt;c = 880~m/s&amp;lt;/math&amp;gt;. Resolvendo a equação da onda realista pela método FTCS com os seguinte parâmetros&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Parâmetros da condição inicial&lt;br /&gt;
|-&lt;br /&gt;
! Parâmetros !! Valor&lt;br /&gt;
|-&lt;br /&gt;
| x_o || &amp;lt;math&amp;gt;0,5 L&amp;lt;/math&amp;gt; &lt;br /&gt;
|-&lt;br /&gt;
| h || 1 cm &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Parâmetros da integração&lt;br /&gt;
|-&lt;br /&gt;
! Parâmetros !! Valor&lt;br /&gt;
|-&lt;br /&gt;
| k || 1/4 &lt;br /&gt;
|-&lt;br /&gt;
| c || 880 m/s &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;\Delta x&amp;lt;/math&amp;gt; || 0.01 m&lt;br /&gt;
|-&lt;br /&gt;
| L || 1 m &lt;br /&gt;
|-&lt;br /&gt;
| b || 5 1/s&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;math&amp;gt;\epsilon&amp;lt;/math&amp;gt; || &amp;lt;math&amp;gt;10^{-9}&amp;lt;/math&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
obtemos o seguinte resultado&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Corda_vibrando_ana_julia.gif|frame|center|Solução da equação de onda ideal e realista.]]&lt;br /&gt;
&lt;br /&gt;
Na animação acima, por questão de comparação, também foi coloca a solução de uma simulação com os mesmos parâmetros, apenas com a modificação &amp;lt;math&amp;gt;b=\epsilon=0&amp;lt;/math&amp;gt;, que seria o caso ideal (sem amortecimento e rigidez).&lt;br /&gt;
 &lt;br /&gt;
Realizando a análise espectral do deslocamento de um ponto próximo de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;, obtemos o seguinte gráfico&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_ana_julia.png |thumb|upright=2|center|Espectro do deslocamento de um ponto próximo de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As linhas verticais pretas e tracejadas representam as possíveis frequências da solução do caso ideal, ou seja, a primeira linha está em &amp;lt;math&amp;gt;f = 440 Hz &amp;lt;/math&amp;gt; como era de se esperar, mas é notável que a segunda e quarta linhas possuem uma potência praticamente nula, isso ocorre porque a excitação inicial foi exatamente no meio, e as frequência correspondentes a essas linhas provém de ondas estacionário que possum um nodo em &amp;lt;math&amp;gt;x=L/2&amp;lt;/math&amp;gt;, logo elas não foram excitadas pela condição inicial. Mudando o ponto de excitação inicial, podemos ver essas frequências aparecendo, rodando a simulação novamente, mas com &amp;lt;math&amp;gt;x_o = 0.2L&amp;lt;/math&amp;gt;, obtemos o seguinte espectro&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Arquivo:La_power_bridge_ana_julia.png |thumb|upright=2|center|Espectro do deslocamento de um ponto próximo de &amp;lt;math&amp;gt;x=0&amp;lt;/math&amp;gt;]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Por fim, conforme descrito anteriormente, podemos gerar som com as dados da simulação, mas infelizmente essa wiki não nos permite upar arquivos de áudio. No entanto, áudio das duas simulações discutidas podem ser encontrados no repositório do projeto [https://github.com/marcos1561/ana-julia ana-julia] dentro da pasta &amp;quot;sound&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Notas ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;norm_const&amp;quot;&amp;gt;A constante &amp;lt;math&amp;gt; 1/\sqrt{\pi} &amp;lt;/math&amp;gt; está presente por questão de normalização. Esse caso pode parecer um pouco estranho, dado que não é possível normalizar os cossenos e senos, pois sua integral em todo a reta não é definida, mas o que se deseja é a seguinte propriedade &lt;br /&gt;
&amp;lt;math&amp;gt;\int_{\mathbb{R}}A_{\omega}cos(\omega t) \cdot A_{\omega&#039;}cos(\omega&#039; t)dt = \delta(\omega-\omega&#039;) &amp;lt;/math&amp;gt;&lt;br /&gt;
que é safisfeita quando &amp;lt;math&amp;gt; A_{\omega} = A_{\omega&#039;} =  1/\sqrt{\pi}, ~ \forall \omega,\omega&#039;&amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:La_power_bridge_ana_julia.png&amp;diff=10111</id>
		<title>Arquivo:La power bridge ana julia.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:La_power_bridge_ana_julia.png&amp;diff=10111"/>
		<updated>2024-04-20T19:27:24Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
	<entry>
		<id>http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:La_power_ana_julia.png&amp;diff=10110</id>
		<title>Arquivo:La power ana julia.png</title>
		<link rel="alternate" type="text/html" href="http://fiscomp.if.ufrgs.br/index.php?title=Arquivo:La_power_ana_julia.png&amp;diff=10110"/>
		<updated>2024-04-20T19:01:51Z</updated>

		<summary type="html">&lt;p&gt;Marcospasa: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Marcospasa</name></author>
	</entry>
</feed>