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!!!
Monday, November 16, 2015
Galat Pemotongan Deret Taylor Order Nol sampai Tiga dengan Menggunakan Matlab
Labels:
Galat Pemotongan,
Matlab
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment