Inilah rumu-rumus untuk mengerjakan persamaan non linier metode tabel dengan menggunakan matlab.
Contoh Soal:
x+exp(x)
Tuliskan rumus dibawah ini di m-file:
syms x
disp('***** PERSAMAAN NON LINIER METODE TABEL *****')
%Fungsi f(x)
fungsi=input('Masukkan fungsi f(x) = ')
%Nilai x 1
a=input('Masukkan nilai x = ');
disp('***********************************************')
%Perulangan 1 >> 0.1
for i=1:10
o=a+(i-1)*0.1;
y=subs(fungsi,x,o);
disp([num2str(o) ' >>> 'num2str(y)])
end
disp('^_^ ^_^ ^_^')
disp('Perhatikan dua baris yang hasil f(x) nya berlawanan!!!')
disp('Pilihlah nilai x pada baris pertama sebagai acuan untuk memasukkan nilai x di bawah ini!')
%Nilai x2
b=input('Masukkan nilai x = ');
%Perulangan 2 >> 0.01
for i=1:10
o=b+(i-1)*0.01;
y=subs(fungsi,x,o);
disp([num2str(o) ' >>> 'num2str(y)])
end
disp('^_^ ^_^ ^_^')
disp('Perhatikan dua baris yang hasil f(x) nya berlawanan!!!')
disp('Keputusan penyelesaian pada range x ditentukan oleh f(x) terdekat dengan nol.')
---------------------------------------------------------------------------------------
Simpan m-file dengan nama metode_tabel.m
Untuk menjalankan ketikkan metode_tabel pada command window di matlab.
Selamat mencoba, semoga bermanfaat!
Monday, November 16, 2015
Galat Pemotongan Deret Taylor Order Nol sampai Tiga dengan Menggunakan Matlab
Analisis numerik?? Dengar namanya saja, awalnya aku bete banget. Tapi saat aku bisa mengerjakan soal yang diberikan, rasanya bahagia banget. Ibaratnya benci jadi cinta, sumpah aku benar-benar merasakannya.
Ini adalah rumus-rumus matlab untuk mengerjakan galat pemotongan dengan menggunakan matlab. Tugas paper Analisis Numerik. Silahkan mencoba.
syms x
disp('----- GALAT PEMOTONGAN DERET TAYLOR ORDER NOL, SATU, DUA DAN TIGA -----')
%fungsi
fungsi=input('Masukkan fungsi f(x)=');
xi=input('Masukkan nilai x i = ');
xi1=input('Masukkan nilai x i + 1 = ');
disp('-------------------------------------------------------------------------')
%Mensubstitusikan nilai x ke fungsi
f_1=subs(fungsi,x,xi);
f_2=subs(fungsi,x,xi1);
disp(['Untuk x i = ' num2str(xi) ', maka f(x=' num2str(xi) ')=' num2str(f_1)])
disp(['Untuk x i+1 = ' num2str(xi1) ', maka f(x=' num2str(xi1) ')=' num2str(f_2)])
%Deret Taylor Orde Nol
f_nol=f_1;
disp(['Jadi, nilai eksak untuk f(x=' num2str(xi1) ') adalah ' num2str(f_2) '.'])
disp('Apabila digunakan deret taylor orde nol, maka diperoleh persamaan')
disp(['f(x i+1 = ' num2str(xi1) ')=f(x i = ' num2str(xi) ')= ' num2str(f_1)])
%Kesalahan pemotongan order nol
galat_nol=f_2-f_1;
disp(['Kesalahan pemotongan order nol =' num2str(galat_nol)])
%Turunan pertama fungsi
turunan1=diff(fungsi);
fungsi
disp(['Turunan pertama dari fungsi di atas adalah '])
turunan1
%Nilai f(x) turunan 1 ketika x i
f_3=subs(turunan1,x,xi);
disp(['f aksen (x i = ' num2str(xi) ')= ' num2str(f_3)])
%selisih nilai x
delta=xi1-xi;
%Nilai f(x) turunan 1 ketika x i+1
f_4=f_1+(f_3*(delta/1));
disp(['f aksen (x i + 1 = ' num2str(xi1) ')= ' num2str(f_4)])
%Kesalahan pemotongan order satu
galat_satu=f_2-f_4;
disp(['Kesalahan pemotongan order satu =' num2str(galat_satu)])
%Turunan kedua fungsi
turunan2=diff(turunan1);
fungsi
disp(['Turunan kedua dari fungsi di atas adalah '])
turunan2
%Nilai f(x) turunan kedua ketika x i
f_5=subs(turunan2,x,xi);
disp(['f double aksen (x i = ' num2str(xi) ')= ' num2str(f_5)])
%Nilai f(x) turunan kedua ketika x i+1
f_6=f_4+f_5*(delta^2)/2;
disp(['f double aksen (x i + 1 = ' num2str(xi1) ')= ' num2str(f_6)])
%Kesalahan pemotongan order dua
galat_dua=f_2-f_6;
disp(['Kesalahan pemotongan order nol =' num2str(galat_dua)])
%Turunan ketiga fungsi
turunan3=diff(turunan2);
fungsi
disp(['Turunan ketiga dari fungsi di atas adalah '])
turunan3
%Nilai f(x) turunan ketiga ketika x i
f_7=subs(turunan3,x,xi);
disp(['f triple aksen (x i = ' num2str(xi) ')= ' num2str(f_7)])
%Nilai f(x) turunan ketiga ketika x i + 1
f_8=f_6+f_7*(delta^3)/6;
disp(['f triple aksen (x i + 1 = ' num2str(xi1) ')= ' num2str(f_8)])
%Kesalahan pemotongan order tiga
galat_tiga=f_2-f_8;
disp(['Kesalahan pemotongan order 3 =' num2str(galat_tiga)])
Selamat mencoba, semoga bermanfaat!!!
Ini adalah rumus-rumus matlab untuk mengerjakan galat pemotongan dengan menggunakan matlab. Tugas paper Analisis Numerik. Silahkan mencoba.
syms x
disp('----- GALAT PEMOTONGAN DERET TAYLOR ORDER NOL, SATU, DUA DAN TIGA -----')
%fungsi
fungsi=input('Masukkan fungsi f(x)=');
xi=input('Masukkan nilai x i = ');
xi1=input('Masukkan nilai x i + 1 = ');
disp('-------------------------------------------------------------------------')
%Mensubstitusikan nilai x ke fungsi
f_1=subs(fungsi,x,xi);
f_2=subs(fungsi,x,xi1);
disp(['Untuk x i = ' num2str(xi) ', maka f(x=' num2str(xi) ')=' num2str(f_1)])
disp(['Untuk x i+1 = ' num2str(xi1) ', maka f(x=' num2str(xi1) ')=' num2str(f_2)])
%Deret Taylor Orde Nol
f_nol=f_1;
disp(['Jadi, nilai eksak untuk f(x=' num2str(xi1) ') adalah ' num2str(f_2) '.'])
disp('Apabila digunakan deret taylor orde nol, maka diperoleh persamaan')
disp(['f(x i+1 = ' num2str(xi1) ')=f(x i = ' num2str(xi) ')= ' num2str(f_1)])
%Kesalahan pemotongan order nol
galat_nol=f_2-f_1;
disp(['Kesalahan pemotongan order nol =' num2str(galat_nol)])
%Turunan pertama fungsi
turunan1=diff(fungsi);
fungsi
disp(['Turunan pertama dari fungsi di atas adalah '])
turunan1
%Nilai f(x) turunan 1 ketika x i
f_3=subs(turunan1,x,xi);
disp(['f aksen (x i = ' num2str(xi) ')= ' num2str(f_3)])
%selisih nilai x
delta=xi1-xi;
%Nilai f(x) turunan 1 ketika x i+1
f_4=f_1+(f_3*(delta/1));
disp(['f aksen (x i + 1 = ' num2str(xi1) ')= ' num2str(f_4)])
%Kesalahan pemotongan order satu
galat_satu=f_2-f_4;
disp(['Kesalahan pemotongan order satu =' num2str(galat_satu)])
%Turunan kedua fungsi
turunan2=diff(turunan1);
fungsi
disp(['Turunan kedua dari fungsi di atas adalah '])
turunan2
%Nilai f(x) turunan kedua ketika x i
f_5=subs(turunan2,x,xi);
disp(['f double aksen (x i = ' num2str(xi) ')= ' num2str(f_5)])
%Nilai f(x) turunan kedua ketika x i+1
f_6=f_4+f_5*(delta^2)/2;
disp(['f double aksen (x i + 1 = ' num2str(xi1) ')= ' num2str(f_6)])
%Kesalahan pemotongan order dua
galat_dua=f_2-f_6;
disp(['Kesalahan pemotongan order nol =' num2str(galat_dua)])
%Turunan ketiga fungsi
turunan3=diff(turunan2);
fungsi
disp(['Turunan ketiga dari fungsi di atas adalah '])
turunan3
%Nilai f(x) turunan ketiga ketika x i
f_7=subs(turunan3,x,xi);
disp(['f triple aksen (x i = ' num2str(xi) ')= ' num2str(f_7)])
%Nilai f(x) turunan ketiga ketika x i + 1
f_8=f_6+f_7*(delta^3)/6;
disp(['f triple aksen (x i + 1 = ' num2str(xi1) ')= ' num2str(f_8)])
%Kesalahan pemotongan order tiga
galat_tiga=f_2-f_8;
disp(['Kesalahan pemotongan order 3 =' num2str(galat_tiga)])
Selamat mencoba, semoga bermanfaat!!!
Subscribe to:
Posts (Atom)