Anda di halaman 1dari 10

TUGAS METODE NUMERIK 2015

Muhammad Taufan Yoga P.


21060113130133
Kelas B

JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK


UNIVERSITAS DIPONEGORO
SEMARANG
2015

Soal
Jika y = -ty, hitung y pada rentang [0,2] dengan h=0,05, y(0)=1
menggunakan metode :
1. Euler
2. Heun
Menggunakan program Matlab

PEMBAHASAN
1. Metode Euler

Iterasi metode Euler :


t ( i ) , y (i)
tf ()
y i+1= yi +
Dengan rumus di atas kita dapat mencari fungsi y dari y.
Fungsi soal adalah y=-ty dengan integral analitiknya adalah

1 2
t
2

y=e

Cara mencarinya adalah sebagai berikut:


y ' =ty
dy
=ty
dt

pindah ruas

dy
=t dt
y

dy
= t dt
y

ln y=

1 2
t +C
2

y=e 2

t +C

kiri dan kanan di integral masing-masing

masing-masing ruas dipangkatkan eksponen

METODE EULER DENGAN MATLAB


-

Memasukan fungsi ke funct.m


function z = funct(t,y)
z = -t*y;
%fungsi soal yaitu y=-ty

Memasukan program euler ke euler.m


function euler(func,y0,dt,to,tf)
%time interval
t=to:dt:tf;
%setting initial y value
y(1)=y0;
%loop using euler's method
for i= 1:length(t)-1
y(i+1)= y(i) + dt*(feval(func,t(i),y(i)));
end
%prints column vectors of t and y
t=t'
y=y'
plot(t,y)
xlabel('Time')
ylabel('y')

Gambar 3.1 Coding Metode Euler

Lalu menjalankan program di command


>> euler(@funct,1,.05,0,2)

Dengan y0=1, h=0.05, dan jarak [0 2]


Hasilnya akan muncul seperti berikut
t =

0
0.0500
0.1000
0.1500
0.2000
0.2500
0.3000
0.3500
0.4000
0.4500
0.5000
0.5500
0.6000
0.6500
0.7000
0.7500
0.8000
0.8500
0.9000
0.9500
1.0000
1.0500
1.1000
1.1500
1.2000
1.2500
1.3000
1.3500
1.4000
1.4500
1.5000
1.5500
1.6000
1.6500
1.7000
1.7500
1.8000
1.8500
1.9000
1.9500
2.0000

y =
1.0000
1.0000
0.9975
0.9925
0.9851
0.9752
0.9630
0.9486
0.9320
0.9133
0.8928
0.8705
0.8465
0.8211
0.7945
0.7666
0.7379
0.7084
0.6783
0.6478
0.6170
0.5861
0.5554
0.5248
0.4946
0.4650
0.4359
0.4076
0.3801
0.3535
0.3278
0.3032
0.2797
0.2574
0.2361
0.2161
0.1972
0.1794
0.1628
0.1473
0.1330

Dan akan muncul grafik sebagai berikut

Gambar 3.2 Grafik Metode Euler


-

Lalu kita bandingkan dengan fungsi analitik


figure
fplot('exp(-(1/2)*t.^2)',[0 2],'r-')
ylabel('y')
xlabel('Time')

Maka akan muncul grafik sebagai berikut

Gambar 3.3 Grafik Analitik


Kesimpulan
Dari dua grafik di atas terlihat bahwa hasil perhitungan dengan
metode Euler dan hasil perhitungan fungsi analitik sama. Jika Step
diperbesar maka hasil akan menjadi berbeda.

2. METODE HEUN
Iterasi metode Heun:
Predictor

y 0i+1= yi + f ( xi , y i ) h

Corrector

f ( x i , yi ) + f ( x i+1 , y i+1 )
y i+1= yi +
h
2

Dengan rumus di atas kita dapat mencari fungsi y dari y.


Fungsi soal adalah y=-ty dengan integral analitiknya adalah
1 2
t
2

y=e

Cara mencarinya adalah sebagai berikut:


y ' =ty
dy
=ty
dt

pindah ruas

dy
=t dt
y

dy
= t dt
y

ln y=

1 2
t +C
2

y=e 2

kiri dan kanan di integral masing-masing

masing-masing ruas dipangkatkan eksponen

t +C

METODE HEUN DENGAN MATLAB

Memasukan fungsi ke funct.m


function z = funct(t,y)
z = -t*y;

%fungsi soal yaitu y=-ty


Memasukan fungsi ke heun.m
function [Y,T]=heun(funct,to,tf,y0,M)
%Input
- y'= f is the function
%
- to and tf are the left and right endpoints
%
- y0 is the initial condition y(a)
%
- M is the number of steps
%Output - H=[T' Y'] where T is the vector of abscissas and
%
- Y is the vector of ordinates
%If f is defined as an M-file function use the @ notation
% call E=heun(@f,P,Q,p0,N).
%If f is defined as an anonymous function use the
% call E=heun(f,P,Q,p0,N).
function [Q,t] = heun2(funct,P,Q,p0,N)
h = (Q - P) / N;
halfh = h / 2;
Q(1,:) = p0;
t(1) = P;
for i = 1 : N
t(i+1) = t(i) + h;
g = funct(t(i),Q(i,:));
z = Q(i,:) + h * g;
Q(i+1,:) = Q(i,:) + halfh * ( g + funct(t(i+1),z) );
end;
plot(Q,t)
xlabel('time')
ylabel('y')

Gambar 3.4 Coding Metode Heun


-

Lalu menjalankan program di command


>> heun(@funct,0,2,1,40)

Dengan y0=1, N= 2/ h= 40, dan jarak [0 2]


Hasilnya akan muncul seperti berikut
ans =

Columns 1 through 7
1.0000

0.9988

0.9950

0.9888

0.9802

0.9692

0.9560

0.9037

0.8825

0.8596

0.8353

0.8096

0.7262

0.6968

0.6670

0.6369

0.6066

0.5163

0.4869

0.4579

0.4297

0.4022

0.3248

0.3010

0.2782

0.2565

0.2360

0.1809

0.1647

0.1496

0.1356

Columns 8 through 14
0.9406

0.9231

Columns 15 through 21
0.7827

0.7549

Columns 22 through 28
0.5763

0.5462

Columns 29 through 35
0.3755

0.3497

Columns 36 through 41
0.2165
-

0.1981

Dan Grafik sebagai berikut

Gambar 3.5 Grafik Metode Heun

Lalu kita bandingkan dengan fungsi analitik


figure
fplot('exp(-(1/2)*t.^2)',[0 2],'r-')
ylabel('y')
xlabel('Time')

Maka akan muncul grafik sebagai berikut

Gambar 3.6 Coding Metode Euler

Kesimpulan
Dari dua grafik di atas terlihat bahwa hasil perhitungan dengan
metode Heun dan hasil perhitungan fungsi analitik sudah menunjukan
adanya kesamaan. Jika Step diperbesar maka hasil akan menjadi
berbeda karena apabila dx makin besar, pembagi makin besar, hasil
perhitungan makin tidak akurat