Jumat, 12 April 2013
Diketahui data dari suatu
fungsi sebagai berikut
|
1.
Berdasarkan data
disamping tentukan Turunan fungsi
f’(0), untuk meneliti kebenaran gunakan fungsi diff dan gunakan posisi beda
tengah
a)
Tentukan fungsi disamping
tersebut dengan fungsi DifDifNewton
b)
Dengan menggunkan beda tengah, tentukan turunan di dengan
c)
Perbandingan turunan
fungsi jika menggunakan fungsi diff pada
MATLAB
2.
Cari hampiran integral
fungsi pada interval [-1,3] dengan n=5 dengan menggunakan
a.
Program dengan Metode Romberg
b.
Bandingkan dengan
mengecek dengan menggunakan fungi Int
|
Pembahasan
Bagian 1
a.
Progranm menentukan fungsi berdasar data diatas pada command window
Command Window
function f = newdiff(x,y)
syms
z
n
= length(x);
temp
= A(1,n); %penamaan sementara
for i = n-1:-1:1,
temp = temp*(z - x(i)) + A(1,i);
end
f
= temp;
Kemudian jika program sudah selesai, maka dapat
dipanggil pada command window dengan menuliskan data sebagai berikut:
Command Window
>> X =[0 1 -2 2];
>> Y =[-1 3 2 5];
>> syms x
>> f = newdiff(X,Y)
f =
- x*(((17*x)/24 - 5/12)*(x - 1) - 4) -
1
b.
Turunan fungsi dengan
menggunakan beda tengah di di dengan
Command Window
>>
(subs(f,z,0.1)-subs(f,z,-0.1))/0.2
ans =
3.5763
c.
Perhitungan dengan turunan fungsi jika menggunakan fungsi diff
pada MATLAB
Command Window
>>
subs(diff(f,z),z,0)
ans
=
3.5833
Kesimpulan:
Berdasarkan hasil perhitungan diatas, dapat dilihat bahwa perhitungan
dengan menggunkan metode beda tengah diperoleh hasil turunan di adalah 3.5763 tetapi dengan
mensubstitusikan langsung pada hasil turunnya diperoleh 3.5833. Terlihat terjadi galat (kesalahan) dari kedua
hasil perhitungan yaitu
Galat = Hasil sebenarnya- hasil pendekatan
= 3.5833-3.5763
=
0.0070
Pembahasan Bagian 2
a.
Menentukan
hampiran fungsi diatas berdasar data
diatas pada
interval [-1,3] dengan n=5 dengan menggunakan Metode Romberg
Command Editor
function r = romberg(f,a,b,n)
syms x
h = b-a;
r(1,1) = (h/2)*(subs(f,x,a)+subs(f,x,b));
for i = 1:n,
h = h/2;
total = 0;
for k = 1:2:(2^i)-1,
total = total + subs(f,x,a+k*h);
end
r(i+1,1) = (1/2)*r(i,1)+total*h;
for j = 1:i,
r(i+1,j+1) = r(i+1,j)+(r(i+1,j)-(r(i,j)))/(4^(j)-1);
end
end
untuk
memanggil program diatas pada command
window terlebih dahulu harus
menuliskan sebagai berikut:
Command Window
>> metoderomberg(f,-1,3,5)
ans =
-4.0000 0 0 0 0 0
4.0000 6.6667 0 0 0 0
6.0000 6.6667 6.6667 0 0 0
6.5000 6.6667 6.6667
6.6667 0 0
6.6250 6.6667
6.6667 6.6667 6.6667 0
6.6563 6.6667 6.6667
6.6667 6.6667 6.6667
b.
Bandingkan
dengan mengecek fungsi Int
Command Window
>> int(f,-1,3)
ans =
20/3
>> 20/3
ans =
6.6667
6.6667
Kesimpulan:
Berdasarkan hasil perhitungan diatas, dapat dilihat bahwa perhitungan
dengan menggunkan metode Romberg diperoleh
hasil adalah 6.6667 tetapi nilai
sebenarnya adalah 6.6667, dari hasil
yang didapat tidak terjadi galat, tetapi sebenarnya ada galat jika data yang
dimunculkan nilai dibelakang komanya lebih dari 4 bilangan.