Escolar Documentos
Profissional Documentos
Cultura Documentos
NÚCLEO DE TECNOLOGIA
Caruaru
2021
Sumário
1 Introdução ...................................................................... 2
1.1 Método de Euler ............................................................. 2
1.2 Método de Euler Modificado ......................................... 3
2 Exemplos........................................................................ 5
3 Programação.................................................................. 6
4 Resultados ..................................................................... 9
5 Conclusão ...................................................................... 17
6 Referências .................................................................... 17
2
1 Introdução
O Método de Euler, ou método das tangentes, constitui na ideia básica por tras
dos campos de direções que pode ser utilizado para encontrar aproximações
numéricas para solucionar equações diferenciais. Logo, suponha que queiramos
aproximar a solução do problema de valor inicial.
y’=f(x, y)
y(x0)=y0
Figura 1
y1−y0
(x0+h)−x0
= y′0 ou y 1=y0+h.y’0
onde y’0=f(x0, y0). Rotulando x0+h como x1, o ponto (x1, y1) na tangente é uma
aproximação do ponto (x1, y(x1)) da curva solução; isto é, y1≈y(x1).
Espontaneamente a precisão da aproximação depende do tamanho do incremento
de h. No geral, devemos indicar esse tamanho do passo “razoavelmente pequeno”.
Assim, crendo um valor constante para h, podemos obter uma sucessão de
pontos
((x1, y1), (x2, y2), … , xn, yn) que devem estar próximos dos pontos ((x1, y(x1)), (x2, y(x2)),
… , (xn, y(xn))). Utilizando agora (x1, y1), podemos obter o valor de y2, que é a ordenada
de um ponto em uma nova “tangente”.
3
Figura 2
Trazemos
yn+1=yn+h.y’n
=yn+h.f(xn, yn)
Onde,
xn=x0+nh.
A fórmula
f(xn,yn)+f(xn+1,y∗n+1)
yn+1=yn+h.
2
onde
y*n+1=yn+h.f(xn, yn) (A)
pode ser interpretada como um coeficiente angular médio no intervalo entre xn e xn+1.
A equação em (A) pode ser visualizada rapidamente. No gráfico abaixo,
mostramos o caso em que n=0. Observemos que
Figura 3
são coeficientes angulares das retas indicadas que passam pelos pontos (x0, y0) e (x1,
y*1), respectivamente. Adotando uma média desses coeficientes angulares, obtemos
o coeficiente angular das retas tracejadas. Em lugar de progredirmos ao longo da
reta de coeficiente angular m=f(x0, y0) até o ponto com ordenada y*1 obtido pelo
método usual de Euler, progredimos ao longo da reta por (x0, y0) com coeficiente
angular mméd até atingirmos x1. Pela observação do gráfico, parece plausível que y1
constitua uma melhora em relação a y*1.
Podemos também dizer que o valor de
y*1=y0+h.f(x0, y0)
f(x0,y0)+f(x1,y∗1)
y1=y0+h.
2
ajusta a estimativa.
5
2. Exemplos
Logo, para ambos os métodos foram escolhidos três exemplos, para que se
tenha uma comparação da efetividade dos mesmos.
EXEMPLO 1:
EXEMPLO 2:
EXEMPLO 3:
3. Programação
Método de Euler
f=feval(F,x0,y0);
fprintf('\n %i %f %f', i, x0, y0);
vn(1,i)=i;
vx(1,i)=x0;
vy(1,i)=y0;
y0=y0+f*h;
x0=x0+h;
i=i+1;
end
7
% Gráfico da função
plot(vx,vy,'r*')
xlabel('x'), ylabel('y');
title('Gráfico da Função - Método de Euler');
grid on
hold on
plot(vx,vy,'b-');
hold off
while i<=n
f=feval(F,x0,y0);
fprintf('\n %i %f %f', i, x0, y0);
vn(1,i)=i;
vx(1,i)=x0;
vy(1,i)=y0;
y1=y0+f*h;
x1=x0+h;
g=feval(F,x1,y1);
y0=y0+h*[(f+g)/2];
x0=x0+h;
i=i+1;
end
% Gráfico da função
plot(vx,vy,'r*')
xlabel('x'), ylabel('y');
title('Gráfico da Função - Método de Euler Modificado');
grid on
hold on
plot(vx,vy,'b-');
hold off
9
4. Resultados
Resultado do Exemplo 1 para h=0.1: (Método de Euler)
DADOS DE ENTRADA:
DADOS DE SAÍDA:
n x(n) y(n)
===============================
1 1.000000 1.000000
2 1.100000 1.200000
3 1.200000 1.464000
4 1.300000 1.815360
5 1.400000 2.287354
6 1.500000 2.927813
DADOS DE ENTRADA:
n x(n) y(n)
===============================
1 0.000000 2.000000
2 0.050000 2.100000
3 0.100000 2.215000
4 0.150000 2.346500
5 0.200000 2.496150
6 0.250000 2.665765
7 0.300000 2.857341
8 0.350000 3.073076
9 0.400000 3.315383
10 0.450000 3.586922
11 0.500000 3.890614
DADOS DE ENTRADA:
Informe a função desejada: (y*2-x*1/3+1)*2
Informe o intervalo inferior (x0=inicial): 1
Informe o valor de y(x0): 1
Informe o intervalo superior (xf=final): 1.5
Informe o tamanho do passo (h): 0.05
DADOS DE SAÍDA:
n x(n) y(n)
===============================
1 1.000000 1.000000
2 1.050000 1.266667
3 1.100000 1.585000
4 1.150000 1.965333
5 1.200000 2.420067
6 1.250000 2.964080
7 1.300000 3.615229
8 1.350000 4.394942
9 1.400000 5.328930
10 1.450000 6.448050
11 1.500000 7.789326
DADOS DE ENTRADA:
DADOS DE SAÍDA:
n x(n) y(n)
===============================
1 1.000000 1.000000
2 1.100000 1.232000
3 1.200000 1.547885
4 1.300000 1.983150
5 1.400000 2.590787
6 1.500000 3.450929
DADOS DE ENTRADA:
DADOS DE SAÍDA:
n x(n) y(n)
===============================
1 0.000000 2.000000
2 0.050000 2.107500
3 0.100000 2.231538
4 0.150000 2.373849
5 0.200000 2.536353
6 0.250000 2.721170
7 0.300000 2.930643
8 0.350000 3.167361
9 0.400000 3.434183
10 0.450000 3.734273
11 0.500000 4.071121
DADOS DE ENTRADA:
DADOS DE SAÍDA:
n x(n) y(n)
=============================
1 1.000000 1.000000
2 1.050000 1.292500
3 1.100000 1.647517
4 1.150000 2.078804
5 1.200000 2.603140
6 1.250000 3.240998
7 1.300000 4.017351
8 1.350000 4.962668
9 1.400000 6.114122
10 1.450000 7.517062
11 1.500000 9.226816
5. Conclusão
6. Referências