Escolar Documentos
Profissional Documentos
Cultura Documentos
Relatório Técnico
Feira de Santana
2021
Maira Pinto Oliveira
Feira de Santana
2021
Sumário
Introdução .....................................................................................................................
Metodologia ...................................................................................................................
Questão 1...................................................................................................................
Questão 2 ..................................................................................................................
Questão 3 ..................................................................................................................
Questão 4 ..................................................................................................................
Imagens das Compilações dos Métodos .................................................................
Conclusão....................................................................................................................
Equações diferenciais são equações onde aparece uma função e suas deriva-
das, para alcançar sua solução exata é necessário que se tenha uma função que torne
toda a equação uma sentença verdadeira para quaisquer valores das variaveis quando
a função é substituida na equação. Uma equação diferencial pode ser parcial, quando
se tem apenas uma variável na função envolvida e parcial quando se tem mais de uma
variável.
O problema de valor inicial (PVI), é uma equação diferencial com mais condi-
ções iniciais, e essa quantidade de condições iniciais vai depender da ordem da equa-
ção. A determinação da solução exata de uma equação diferencial envolve o calculo de
uma ou mais primitivas, por esse motivo na maioria das vezes o cálculo exato é difícil
ou impossível de ser realizado utilizando apenas as funções elementares conhecidas.
RK2:
xn+1 = xn + h
yn+1 = yn + (k1 + k2) / 2
k1 = h * f(xn , yn)
k2 = h * f(xn + h/2 , yn + k1/2)
RK3:
xn+1 = xn + h
yn+1 = yn + (k1 + 4*k2 + k3) / 6
k1 = h * f(xn , yn)
k2 = h * f(xn + h/2 , yn + k1/2)
k3 = h * f(xn + h , yn - k1 - 2*k2)
RK4:
xn+1 = xn + h
yn+1 = yn + (k1 + 2*k2 + 2*k3 + k4) / 6
k1 = h * f(xn , yn)
k2 = h * f(xn + h/2 , yn + k1/2)
k3 = h * f(xn + h/2 , yn + k2/2)
k4 = h * f(xn + h , yn + k3)
3. Resultados e Discussão
Variáveis gerais e menu para que o usuario escolha que questão deseja
responder. O primeiro do guarda todo o código para que ao final de cada
questão seja possivel que o usuario retorne ao menu inicial e o segundo
é para que não entre nenhum valor diferente das opções que o menu ofe-
rece.
Þ Quetão 1:
Foi usado um do-while para pedir o valor de h, pois é necessário que o mesmo seja
maior que 0 e menor que 1, então o código só vai parar de pedir um valor quando for
informado um que esteja dentro das condições informadas. Temos também a variável
inte que guarda a quantidade de interações que o meu código vai precisar fazer para
chegar no valor de x determinado para o f(x).
Depois de ter todos os dados foi feito o cabeçalho da tabela que vai imprimir os pon-
tos encontrados. Dentro do for é feito o cálculo dos x e y para o método de Euler até
chegar no x e y que desejamos, que são os últimos da interação.Depois de imprimir a
tabela com os pontos encontrados fora do for tem um printf para imprimir o f(x) da so-
lução apróximada e depois uma mensagem para saber se o usuário deseja testar ou-
tros valores na mesma questão.
Þ Questão 2:
Foi usado um do-while para pedir o valor de h, pois é necessário que o mesmo seja
maior que 0 e menor que 1, então o código só vai parar de pedir um valor quando for
informado um que esteja dentro das condições informadas. Temos também a variável
inte que guarda a quantidade de interações que o meu código vai precisar fazer para
chegar no valor de x determinado para o f(x).
Depois de ter todos os dados foi feito o cabeçalho da tabela que vai imprimir os pon-
tos encontrados. Dentro do for é feito o cálculo dos x e y para o método de Runge-
Kutta até chegar no x e y que desejamos, que são os últimos da interação. A diferença
é que agora tem que calcular k1 e k2, como o x e y ultilizados para o cálculo do f(x,y)
no k2 são diferentes do inicial eu escolhi calcular em variáveis separadas para não me
confundir na hora de escrever a função e assim acabar causando um erro.
Depois de imprimir a tabela com os pontos encontrados fora do for tem um printf para
imprimir o f(x) da solução apróximada e depois uma mensagem para saber se o usu-
ário deseja testar outros valores na mesma questão.
Þ Questão 3:
Assim como nas outras questões a parte inicial do código da questão 3 pede os valo-
res de x e y inicial o do x para o f(x) que deseja determinar, o valor de h e faz o cálculo
da quantidade de interações necessárias para chegar no valor aproximado desejado.
Depois de ter todos os dados foi feito o cabeçalho da tabela que vai imprimir os pon-
tos encontrados. Dentro do for é feito o cálculo dos x e y para o método de Runge-
Kutta até chegar no x e y que desejamos, que são os últimos da interação. A diferença
é que agora tem que calcular k1, k2, k3 e k4, como o x e y ultilizados para o cálculo do
f(x,y) no k2, k3 e k4 são diferentes do inicial eu escolhi calcular em variáveis separadas
para não me confundir na hora de escrever a função e assim acabar causando um er-
ro. Depois de imprimir a tabela com os pontos encontrados fora do for tem um printf
para imprimir o f(x) da solução apróximada e depois uma mensagem para saber se o
usuário deseja testar outros valores na mesma questão.
Þ Questão 4:
Para a questão 4 eu criei um menu para o usuário escolher para que questão ele deje-
sa calcular o erro absoluto. E assim como no menu principal, foi colocado um do-while
para que só rode quando o usuário entrar com um valor igual a umas das opções dis-
poníveis.
Dentro de cada case inicialmente coloquei o mesmo código feito nas questões 2 e 3.
O que muda é que depois do for é feito o cálculo da solução exata e depois o do erro
absoluto e depois uma mensagem para saber se o usuário deseja testar outros valo-
res na mesma questão e caso não queira ainda aparecera uma outra mensagem per-
guntando se o mesmo deseja voltar para o menu da questão 4.
case 1: questão 1
case 2: questão 2
case 3: questão 3
IMAGENS DAS COMPILAÇÕES DAS QUESTÕES
Questão 1:
Questão 2:
Questão 3:
Questão 4:
Euler
RK2
RK4
4.Conclusões