Final Project Deret Taylor Dan Maclaurine [PDF]

  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

TUGAS BESAR PERANGKAT LUNAK MATEMATIKA



Oleh : Julinar



(06111740000025)



M. Reza Al Ramadhan



(06111740000081)



Ilham Dwi Prasetyo



(06111740000106)



Dosen: Dr. Dwi Ratna Sulistyaningrum,S.Si., M.T.



DEPARTEMEN MATEMATIKA FAKULTAS MATEMATIKA KOMPUTASI DAN SAINS DATA INSTITUT TEKNOLOGI SEPULUH NOPEMBER SURABAYA 2019



DESKRIPSI TUGAS Membuat program untuk menyelesaikan deret Taylor atau deret Maclaurine dari sebuah fungsi. Program ini memiliki 4 fungsi yang berbeda yang dapat dipilih oleh user. Dimana, fungsi yang telah dipilih dapat dibuat pendekatan deret Taylor atau deret Maclaurin. Program tersebut membutuhkan input selang interval, order dari deret Taylor atau deret Maclaurin, dan nilai titik pendekatan untuk deret Taylor. Setelah itu, fungsi yang dipilih dan fungsi dari pendekatan deret Taylor atau deret Maclaurin dapat diplot dalam satu figure untuk selang interval yang telah diinputkan. Lalu, nilai error rata – rata dari kedua fungsi tersebut akan ditampilkan dibawah figure yang telah plot grafik. 



Deret Taylor ∞ f (n ) ( a ) n f ( x )= ∑ ( x−a ) n! n =0 Dimana, a merupakan titik pendekatannya.







Deret Maclaurine ∞ f (n ) ( 0 ) n f ( x )= ∑ (x ) n! n =0 Dimana titik pendekatannya = 0.



KAJIAN TEORI Dimiliki sebuah fungsi dengan satu variabel, katakan sin x atau ln (cos❑ 2 x ), dapatkah fungsi ini digambarkan sebagai suatu deret pangkat dari x atau lebih umum dari ( x a) ? Atau dengan kata lain, adakah bilangan c 0 , c 1 , c 2 ,c 3 , … sehingga, f ( x )=c 0+ c1 ( x a )+ c 2 ( x a )2+ c 3 ( x a )3 +. .. pada sebuah selang di sekitar x=a . Apabila penggambaran fungsi semacam itu ada, maka menurut teorema tentang pendiferensialan deret akan diperoleh pendiferensialan sebagai berikut, f ' ( x )=c 1 +2 c 2 ( x−a )+ 3 c3 ( x−a )2+ 4 c 4 ( x−a )3+ .. . f ' ' (x)=2 c2 +6 c 3 ( x−a ) +12 c 4 ( x−a )2 +20 c 5 ( x−a )3 +. . . f ' ' ' ( x )=6 c 3 +24 c 4 ( x−a ) +60 c 5 ( x−a )2 +120 c 6 ( x−a )3+ .. . . . . Apabila disubstitusikan x=a, maka diperoleh, f ( a )=c 0 f ' ( a )=c 1 f ' ' ( a )=2c 2=2 ! c 2 f ' ' ' ( a )=6 c 3=3 ! c3 . . . Dari hasil subtitusi ini selanjutnya kita dapat menghitung c n, yaitu



c 0=f ( a) c 1=f '(a) c 2=



f ' ' (a) 2!



c 3=



f ' ' ' (a) 3!



dst Dari penentuan cn ini, kita dapat menuliskan rumus yang lebih umum, yaitu c n=



f n (a) n!



Catatan : Supaya rumus untuk c n ini berlaku untuk n=0, maka kita artikan f 0 (a) sebagai f (a) dan 0 !=1. Dari hasil di atas dapat kita lihat bahwa koefisien-koefisien c n ditentukan oleh f . Hal ini berarti bahwa suatu fungsi f tidak dapat digambarkan oleh dua deret pangkat dari x a yang berbeda seperti yang dituangkan dalam teorema berikut. Teorema I (Teorema Ketunggalan) Andaikan f memenuhi uraian berikut, f ( x )=c 0+ c1 ( x a )+ c 2 ( x a )2+ c 3 ( x a )3 +. .. untuk semua x dalam selang di sekitar a, maka c n=



f n (a) n!



Bentuk koefisien c n menyerupai koefisien yang terdapat dalam Rumus Taylor, oleh karena itu deret pangkat dari ( x a) yang menggambarkan sebuah fungsi ini dinamakan deret Taylor. Apabila a=0, maka deret dinamakan deret Maclaurin. Dengan deret Taylor ini kita bisa menjawab pertanyaan di awal bagian ini yaitu apakah sebuah fungsi f dapat digambarkan sebagai deret pangkat dalam x atau ( x a) seperti yang dinyatakan dalam teorema berikut. Teorema II (Teorema Taylor) Misalkan f adalah sebuah fungsi yang memiliki turunan dari semua tingkat dalam selang (a r , a+r ). Syarat perlu dan cukup supaya deret Taylor f (a)+f ’ (a)( x a)+



f ' ' (a) f ' ' ' (a) ( x a)2 + ( x a)3+ .. . 2! 3!



menggambarkan fungsi f dalam selang tersebut adalah, lim Rn ( x ) =0



n→∞



dengan Rn ( x ) adalah suku sisa dalam Rumus taylor, yaitu f (n+1) (c ) Rn ( x )= ( x a)(n +1) (n+1)!



dengan c suatu bilangan dalam selang (a r , a+r ).



Bukti : Untuk membuktikan teorema ini, perlu diingat Rumus Taylor, yaitu '' ' f ' ' ( a) f n ( c) 2 f ( a) 3 f ( a ) +f ’ ( a )( x a ) + (xa) + ( x a ) + .. .+ (x a)n + R ( x ) 2! 3! n! n



Rn ( x ) =0, maka diperoleh, dengan mengambil nlim →∞ f ( a ) +f ’ ( a )( x a ) +



f ' ' ( a) f '' ' ( a) ( x a ) 2+ ( x a )3+ .. . 2! 3!



Sedangkan untuk deret Maclaurine, Teorema III (Teorema Maclaurine) Misalkan f adalah sebuah fungsi yang memiliki turunan dari semua tingkat dalam selang (r , r ). Syarat perlu dan cukup supaya deret Maclaurine f (0)+f ’ (0)(x)+



f ' ' (0) 2 f ' ' ' (0) 3 x+ x + .. . 2! 3!



menggambarkan fungsi f dalam selang tersebut adalah, lim Rn ( x ) =0



n→∞



dengan Rn ( x ) adalah suku sisa dalam Rumus taylor, yaitu f (n+1) (0) (n +1) Rn ( x )= x (n+1) ! dengan c suatu bilangan dalam selang (r , r ).



Contoh Tentukan deret Maclaurine untuk sin x dan buktikan bahwa deret tersebut menggambarkan sin x untuk semua x. Jawab : f ( x )=sin x



f ( 0 )=0



f ' ( x )=cos x f ' ' ( x )=−sin x



f ' ( 0 )=1 f ' ' ( 0 )=0 f ' ' ' (0) =−1



f ' ' ' ( x )=−cos x f (4 ) ( x )=sin x



f (4 ) ( 0 )=0



f (5) ( x )=cos x



f (5) ( 0 )=1



f (6) ( x )=−sin x



f (6) ( 0 ) =0



f (7) ( x )=−cos x



f (7) ( 0 ) =−1



dst



dst



Dengan memasukan harga-harga turunan ini ke deret Maclaurin diperoleh, sin x=x−



x3 x 5 x 7 + − +. .. 3! 5! 7!



Uraian deret ini akan berlaku untuk semua x, asal dapat dibuktikan bahwa lim Rn ( x ) =lim



n→∞



n →∞



f (n +1) (c) (n+1) x =¿ 0 ¿ (n+1)!



Oleh karena |f (n +1) ( x)|=|cos x|≤1 atau |f (n +1) (x)|=|sin x|≤1, maka n+1



Rn ( x ) =



f (n+1) (c ) (n+1 ) |x| x ≤ (n+1)! ( n+ 1 ) !



Selain itu, menurut Uji Suku ke−n diperoleh bahwa lim



n→∞



|x|n+ 1 ( n+1 ) !



Rn ( x ) =0. =¿ 0 ¿. Jadi nlim →∞



PEMBAHASAN A. Pseudocode If fungsi = sin(x) If Pilihan Deret = Maclaurine Input Order – n (order) Input X min (min) Input X max (max) f = sin(x) y = taylor(exp(x), 'ExpansionPoint', c, 'Order', (order+1)) Plot(f,y) fs = f(xx) For s=min:0.01:max trueval = f(s) y = double(subs(taylor(fs, xx, ‘ExpansionPoint’, cval, ’Order’, (order+1)), xx, s)) sum = sum + abs(trueval-y) end err = sum/length(s) Print (err) Elseif Pilihan Deret = taylor Input Nilai c (CVal) Input Order – n (order) Input X min (min) Input X max (max) f = sin(x) y = taylor(exp(x), 'ExpansionPoint', c, 'Order', (order+1)) Plot(f,y) fs = f(xx) For s=min:0.01:max trueval = f(s) y = double(subs(taylor(fs,xx, ‘ExpansionPoint’,cval,’Order’,(order+1)),xx,s)) sum = sum + abs(trueval-y) end err = sum/length(s) Print (err) End Elseif fungsi = cos(x) If Pilihan Deret = Maclaurine Input Order – n (order) Input X min (min) Input X max (max) f = cos(x) y = taylor(exp(x), 'ExpansionPoint', c, 'Order', (order+1))



Plot(f,y) fs = f(xx) For s=min:0.01:max trueval = f(s) y = double(subs(taylor(fs,xx, ‘ExpansionPoint’,cval,’Order’,(order+1)),xx,s)) sum = sum + abs(trueval-y) end err = sum/length(s) Print (err) Elseif Pilihan Deret = taylor Input Nilai c (CVal) Input Order – n (order) Input X min (min) Input X max (max) f = cos(x) y = taylor(exp(x), 'ExpansionPoint', c, 'Order', (order+1)) Plot(f,y) fs = f(xx) For s=min:0.01:max trueval = f(s) y = double(subs(taylor(fs,xx, ‘ExpansionPoint’,cval,’Order’,(order+1)),xx,s)) sum = sum + abs(trueval-y) end err = sum/length(s) Print (err) End Elseif fungsi = exp(x) If Pilihan Deret = Maclaurine Input Order – n (order) Input X min (min) Input X max (max) f = exp(x) y = taylor(exp(x), 'ExpansionPoint', c, 'Order', (order+1)) Plot(f,y) fs = f(xx) For s=min:0.01:max trueval = f(s) y = double(subs(taylor(fs,xx, ‘ExpansionPoint’,cval,’Order’,(order+1)),xx,s)) sum = sum + abs(trueval-y) end err = sum/length(s) Print (err) Elseif Pilihan Deret = taylor



Input Nilai c (CVal) Input Order – n (order) Input X min (min) Input X max (max) f = exp(x) y = taylor(exp(x), 'ExpansionPoint', c, 'Order', (order+1)) Plot(f,y) fs = f(xx) For s=min:0.01:max trueval = f(s) y = double(subs(taylor(fs,xx, ‘ExpansionPoint’,cval,’Order’,(order+1)),xx,s)) sum = sum + abs(trueval-y) end err = sum/length(s) Print (err) End Elseif fungsi = ln(x+1) If Pilihan Deret = Maclaurine Input Order – n (order) Input X min (min) Input X max (max) f = ln(x+1) y = taylor(exp(x), 'ExpansionPoint', c, 'Order', (order+1)) Plot(f,y) fs = f(xx) For s=min:0.01:max trueval = f(s) y = double(subs(taylor(fs,xx, ‘ExpansionPoint’,cval,’Order’,(order+1)),xx,s)) sum = sum + abs(trueval-y) end err = sum/length(s) Print (err) Elseif Pilihan Deret = taylor Input Nilai c (CVal) Input Order – n (order) Input X min (min) Input X max (max) f = ln(x+1) y = taylor(exp(x), 'ExpansionPoint', c, 'Order', (order+1)) Plot(f,y) fs = f(xx) For s=min:0.01:max trueval = f(s)



y = double(subs(taylor(fs,xx, ‘ExpansionPoint’,cval,’Order’,(order+1)),xx,s)) sum = sum + abs(trueval-y) end err = sum/length(s) Print (err) End End B. Source Code %% Nama Program : GUI Deret Maclaurine dan Deret Taylor % Pembuat : 1. Julinar (06111740000025) % 2. M. Reza Al Ramadhan (06111740000081) % 3. Ilham Dwi Prasetyo (06111740000106) function varargout = FPMaclaurineTaylor(varargin) % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @FPMaclaurineTaylor_OpeningFcn, ... 'gui_OutputFcn', @FPMaclaurineTaylor_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT



% --- Executes just before FPMaclaurineTaylor is made visible. function FPMaclaurineTaylor_OpeningFcn(hObject, eventdata, handles, varargin) % Choose default command line output for FPMaclaurineTaylor handles.output = hObject; movegui('center'); % Update handles structure guidata(hObject, handles); posisi=axes('unit','normalized','position',[0 0 1 1]); gambar=imread('godong.jpg');imagesc(gambar); set(posisi,'handlevisibility','off','visible','off') set(handles.rdMaclaurine,'Enable','off') set(handles.rdTaylor,'Enable','off') set(handles.order,'Enable','off') set(handles.min,'Enable','off') set(handles.max,'Enable','off') set(handles.error,'Enable','off')



set(handles.rdMaclaurine, 'Value', 0) set(handles.rdTaylor, 'Value', 0) set(handles.text4, 'Visible','off') set(handles.CVal, 'Visible','off') set(handles.CVal, 'String', '') set(handles.plot,'Enable','off')



% UIWAIT makes FPMaclaurineTaylor wait for user response (see UIRESUME) % uiwait(handles.figure1);



% --- Outputs from this function are returned to the command line. function varargout = FPMaclaurineTaylor_OutputFcn(hObject, eventdata, handles) % Get default command line output from handles structure varargout{1} = handles.output;



% --- Executes on selection change in fungsi. function fungsi_Callback(hObject, eventdata, handles) if get(handles.fungsi,'Value')~=1 set(handles.rdMaclaurine,'Enable','on') set(handles.rdTaylor,'Enable','on') set(handles.order,'Enable','on') set(handles.min,'Enable',' on') set(handles.max,'Enable','on') set(handles.error,'Enable','on') set(handles.order, 'String', '') set(handles.min, 'String', '') set(handles.max, 'String', '') set(handles.error, 'String', '') set(handles.CVal, 'String', '') set(handles.CVal, 'Visible', 'off') set(handles.rdMaclaurine, 'Value', 0) set(handles.rdTaylor, 'Value', 0) cla(handles.axes1,'reset') guidata(hObject,handles); end



% --- Executes during object creation, after setting all properties. function fungsi_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end



function CVal_Callback(hObject, eventdata, handles) % hObject handle to CVal (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of CVal as text



% double



str2double(get(hObject,'String')) returns contents of CVal as a



% --- Executes during object creation, after setting all properties. function CVal_CreateFcn(hObject, eventdata, handles) % hObject handle to CVal (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end



function order_Callback(hObject, eventdata, handles) a=get(handles.order,'String'); b=get(handles.min,'String'); c=get(handles.max,'String'); if isempty(a)~=1&&isempty(b)~=1&&isempty(c)~=1 set(handles.plot,'Enable','on') end



% --- Executes during object creation, after setting all properties. function order_CreateFcn(hObject, eventdata, handles) % hObject handle to order (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end



function min_Callback(hObject, eventdata, handles) a=get(handles.order,'String'); b=get(handles.min,'String'); c=get(handles.max,'String'); if(str2num(b)>str2num(c)) msgbox('NILAI MINIMUM HARUS LEBIH KECIL DARI NILAI MAXIMUM','Error','error'); set(handles.min,'String','') set(handles.max,'String','') end if get(handles.fungsi,'Value') == 5



if str2num(b) str2num(c)) msgbox('NILAI MINIMUM HARUS LEBIH KECIL DARI NILAI MAXIMUM','Error','error'); set(handles.min,'String','') set(handles.max,'String','') end if get(handles.fungsi,'Value') == 5 if str2num(c)