Dosen pengajar :
Oni Soesanto, S.Si.,M.Si
Mata Kuliah Metode Numerik.
Ditulis oleh :
Nama : Annisa Humaira
NIM : 1911017220019
1. Interpolasi Polinomial
Interpolasi polinomial merupakan teknik interpolasi dengan mengasumsikan
pola data dimiliki mengikuti pola polinomial baik berderajat satu (linier) maupun
berderajat tinggi. Interpolasi dengan metode ini dilakukan dengan terlebih dahulu
membentuk persamaan polinomial. Persamaan polinomial yang terbentuk
selanjutnya digunakan untuk melakukan interpolasi dari nilai yang diketahui atau
ekstrapolasi (prediksi) dari nilai diluar rentang data yang diketahui.
Pembahasan akan dibagi menjadi 3 bagian. Bagian pertama yaitu mengulang
kembali teknik evaluasi polinomial, sedangkan dua bagian selanjutnya akan
membahas teknik interpolasi linier dan polinomial orde tinggi dengan menjadikan
pembahasan bagian pertama sebagai dasar pada dua bagian berikutnya.
a. Evaluasi Polinomial
Mempelajari tentang teknik untuk melakukan substitusi nilai x pada
persamaan polinomial untuk memperoleh nilai y. Terdapat berbagai
pendekatan dalam melakukan proses tersebut, mulai dari metode naive maupun
metode Horner. Kedua metode akan menghasilkan hasil yang sama namun
dengan proses komputasi yang berbeda. Metode naive cenderung lambat dalam
proses komputasi karena jumlah proses yang dilakukan dalam sekali proses
lebih banyak dari pada metode Horner.
Untuk memahami metode-metode evaluasi polinomial yang telah
disebutkan tersebut, secara umum persamaan polinomial disajikan pada
Persamaan (1).
f ( x )=an x n +a n−1 x n−1+ …+a 1 x+ a0 ( 0)
dimana a merupakan koefisien polinomial, x merupakan variabel, dan n
merupakan indeks dan pangkat polinomial.
Pada metode naive kita melakukan evaluasi polinomial sama dengan
cara kita melakukan evaluasi polinomial saat SMA. Nilai x akan
disubstitusikan pada masing-masing elemen persamaan polinomial. Masing-
masing elemen polinomial selanjutnya dijumkahkan untuk menghitung y.
Metode lain yang lebih efisien dalam melakukan evaluasi polinomial
adalah metode Horner. Metode ini oleh William Horner pada abad ke-18.
Dalam metode Horner, bentuk polinomial pada Persamaan (1) akan
ditransformasi menjadi Persamaan (2).
f ( x )=an x n +a n−1 x n−1+ …+a 1 x+ a0 f (x)=a0 +a1 x+ …+a n−1 x n−1+ an x n
f (x)=a0 + x ¿ f (x)=a0 + x ( a1 +…+ x ( an−a + x ( an ) ) … )
( 0)
Berdasarkan Persamaan (2), jika dilakukan perhitungan pada persamaan
polinomial berderajat 10, dapat direduksi perhitungan menjadi 10 perkalian dan
10 penjumlahan. Jumlah tersebut sangat kecil dibandingkan kedua metode
sebelumnya dan dapat dikatakan lebih efisien dibandingkan metode lainnya.
b. Interpolasi Linier
Misalkan memiliki 3 buah data dengan dua buah variabel, misalkan
variabel x dan variabel y. Pada salah satu data terdapat data yang hilang, agar
ketiga data tersebut tetap dapat digunakan dalam iterasi diperlukan interpolasi
untuk “menebak” nilai dari data yang hilang.
Berdasarkan pengukuran yang sebelumnya pernah dilakukan diketahui
bahwa pola data yang terbentuk variabel x dan y divisualisasikan menggunakan
scatterplot adalah pola linier. Berdasarkan hal tersebut interpolasi dilakukan
dengan menggunakan metode linier.
Interpolasi linier dilakukan dengan terlebih dahulu membentuk fungsi
linier. Dengan kata lain diperlukan mencari nilai slope m dan intercept b.
Nilai m dihitung sebagai rasio selisih jarak dua titik pada sumbu y dan sumbu x
yang dapat dituliskan melalui Persamaan (3).
y 2− y 1
m= ( 0)
x 2−x 1
Nilai intercept (titik potong pada sumbu y) dihitung menggunakan
Persamaan (4).
b= y 2−m x2 ( 0)
[ x2 x n−1
⋮
n
2 ⋯
⋮ ⋮
x n x n−1
n
n
⋯ xn ][ ] [ ]
x 2 1 β n−1 = y 2
⋱⋮ ⋮
1 β0
⋮
yn
( 0)
2. Interpolasi Piecewise
[ l 1 m2 u2 0
0 l2 ⋱ ⋱
0 0 ⋱ ⋱ u
0 0 0 l n −1 mn
0
n−1
] []
v2
0 C= ⋮
⋮
vn
Penyelesaian Persamaan (17) akan menghasilkan vektor koefisien c, sehingga
( 0)
STUDI KASUS
Contoh 1
Kecepatan ke atas roket diberikan sebagai fungsi waktu pada Tabel 1.
Tabel 1. Kecepatan sebagai fungsi waktu.
Solusi
Interpolasi polynomial orde satu (disebut juga interpolasi linier), kecepatan diberikan oleh
v ( t )=a0 +a1 t
y
( x1 , y1)
f 1 (x )
( x0 , y0 )
Gambar 3. Interpolasi Linier
Kita perlu memilih yang dua titik data yang paling dekat dengan t=16 yang juga braket
t=16 untuk mengevaluasinya. Dua poin t 0=15 dan t 1 =20
Kemudian
t 0=15 , v ( t 0 ) =362 .78
t 1 =20 , v ( t 1 ) =517 .35
Memberi
v ( 15 )=a0 +a1 ( 15 )=362 .78
v ( 20 )=a0 +a1 ( 20 )=517 . 35
Menulis persamaan dalam bentuk matriks, kita punya
1
78
517 .35 ]
Memecahkan dua persamaan di atas
a0 =−100 .93
a1=30 . 914
Karenanya
v ( t )=a0 +a1 t
=−100 . 93+30 .914 t , 15≤t≤20
Contoh 2
Kecepatan ke atas roket diberikan sebagai fungsi waktu pada Tabel 2.
Tabel 2. Kecepatan sebagai fungsi waktu.
t (s) v(t ) (m/s)
0 0
10 227.04
15 362.78
20 517.35
22.5 602.97
30 901.67
Tentukan nilai kecepatan pada t=16 detik menggunakan interpolasi polynomial orde dua
menggunakan metode polynomial berbeda terbagi Newton.
Solusi
Interpolasi kuadrat, kecepatan diberikan oleh
v (t )=b0 +b1 (t−t 0 )+b 2 (t−t 0 )(t−t 1 )
Kita perlu memilih tiga poin data yang paling dekat t=16 juga breket untuk
mengevaluasinya. Tiga poin itu
t 0=10 , t1 =15 , dan t 2=20
Kemudian
t 0=10 , v (t 0 )=227 . 04
t1 =15 , v (t 1 )=362. 78
t 2=20 , v (t 2 )=517 .35
Memberi
b0 =v (t0 ) =227 .04
v (t 1 )−v (t 0 ) 362 .78−227 . 04
b1 = =
t 1 −t0 15−10 =27. 148
v (t 2 )−v (t 1 ) v (t 1 )−v (t 0 ) 517 .35−362. 78 362. 78−227. 04
− −
t 2−t 1 t 1 −t 0 20−15 15−10
b2 = =
t 2 −t 0 20−10
=0. 37660
Karenanya
v (t )=b0 +b1 (t−t 0 )+b 2 (t−t 0 )(t−t 1 )
=227 . 04+27. 148(t−10 )+0 .37660(t−10 )(t−15), 10≤t≤20
Di t=16 ,
v (16 )=227 . 04+27. 148(16−10)+0 . 37660(16−10)(16−15) =392 .19 m/s
Jika dikembangkan
v (t )=227 .04 +27 .148 (t−10 )+0 . 37660(t−10)(t−15 ),
Kita mendapatkan
2
v(t )=12. 05+17 . 733t +0 .37660 t , 10≤t≤20
Ini adalah hasil yang sama diperoleh dengan metode langsung.
Contoh 3
Kecepatan ke atas roket diberikan sebagai fungsi waktu pada Tabel 3
Tabel 3. Kecepatan sebagai fungsi waktu.
dan 3
t =22 . 5
Kemudian
t 0=10 , v (t 0 )=227 . 04
t1 =15 , v (t 1 )=362. 78
t 2=20 , v (t 2 )=517 .35
t3 =22 . 5, v(t 3 )=602 . 97
Berikan
b0 =v [t 0 ] =v(t0 ) =227 .04
v (t 1 )−v (t 0 ) 362 .78−227 . 04
= =
b1 =v[t 1 ,t 0 ] t 1 −t 0 15−10 =27. 148
v[ t ,t ]−v [ t 1 ,t 0 ]
= 2 1
b2 =v[t 2 , t 1 , t 0 ] t 2 −t0
v (t 2 )−v (t 1 ) 517 . 35−362 .78
v [ t 2 ,t 1 ]= =
t 2−t 1 20−15 =30 .914
v[ t1 ,t 0 ]=27 .148
v[ t 2 ,t 1 ]−v [ t1 , t 0 ] 30 . 914−27 .148
b2 = =
t 2 −t0 20−10 =0. 37660
v[ t 3 ,t 2 , t 1 ]−v [t 2 , t1 ,t 0 ]
=
b3 =v[t 3 ,t 2 ,t 1 , t 0 ] t3 −t 0
v [t 3 , t 2 ]−v [t 2 , t 1 ]
v [ t 3 ,t 2 , t 1 ]=
t 3 −t 1
v (t3 )−v (t 2 ) 602 . 97−517 . 35
v [ t3 ,t 2 ]= =
t 3 −t2 22 .5−20 =34. 248
v (t 2 )−v (t 1 ) 517 . 35−362 .78
v [ t 2 ,t 1 ]= =
t 2−t 1 20−15 =30 .914
v [t 3 , t 2 ]−v [t 2 , t 1 ] 34 . 248−30. 914
v [ t 3 ,t 2 , t 1 ]= =
t 3 −t 1 22 .5−15 =0. 44453
v[ t 2 ,t 1 , t 0 ]=0. 37660
v [ t 3 ,t 2 , t 1 ]−v [t 2 , t1 ,t 0 ] 0 . 44453−0. 37660
b3 = =
t3 −t 0 22 .5−10 =5 . 4347×10−3
Karenanya
v (t )=b0 +b1 (t−t 0 )+b 2 (t−t 0 )(t−t 1 )+b3 (t−t 0 )(t−t 1 )(t−t2 )
=227 .04+27. 148(t−10)+0.37660(t−10)(t−15)
+5.5347×10−3 (t−10 )(t−15)(t−20)
Di t=16,
v(16)=227 .04+27. 148(16−10)+0 . 37660(16−10)(16−15)
+5 . 5347×10−3 (16−10)(16−15)(16−20 )
=392 . 06 m/s
b) Jarak antara roket dan dapat dihitung dari polynomial interpolasi
v (t )=227 .04 +27 .148 (t−10 )+0.37660(t−10)(t−15 )
+5.5347×10−3 (t−10 )(t−15)(t−20)
2 3
=−4 . 2541+21.265 t+0 .13204 t +0 .0054347t , 10≤t≤22 . 5
Perhatikan bahwa polynomial valid antara t=10 dan t=22. 5 dan karenanya
mencakup batas t=11 dan t=16
Begitu
16
s (16 )−s ( 11 ) =∫ v ( t ) dt
11
16
=∫ (−4 . 2541+21. 265 t+0 . 13204 t 2 +0 . 0054347t 3 )dt
11
16
t2 t3 t4
[
= −4 . 2541t +21 .265 +0 . 13204 +0 . 0054347
2 3 4 ]
11
=1605 m
c) Percepatan pada t=16 diberikan oleh
d
a(16 )= v (t )|t=16
dt
d
a(t )= v(t )
dt =21 .265+ 0 .26408 t+ 0 .016304 t 2
a(16 )=21 . 265+0.26408(16 )+0 . 016304(16 )2 =29 . 664 m/s2
Output MATLAB
%Formula: f(x0)=y(1)+u*(del)y(1)+u*(u-1)/2!(del)^2y(1)+....
+u*(u-1)..(u-n+1)/n!(del)^ny(1)
%where h=x(2)-x(1)=step length and u=(x0-x(1))/h. Hree del:=
forward
%difference operator.
Output MATLAB
Contoh 4
Kecepatan ke atas roket diberikan sebagai fungsi waktu pada Tabel 5 (Gambar 12)
Tabel 5 Kecepatan sebagai fungsi waktu
t (s) v(t ) (m/s)
0 0
10 227.04
15 362.78
20 517.35
22.5 602.97
30 901.67
Gambar 12. Grafik kecepatan vs waktu
Solusi
Kita perlu memilih dua titik data yang paling dekat dengan t=16 yang juga braket
t=16 untuk mengevaluasinya. Kedua poin tersebut adalah t 0=15 dan t 1 =20
Kemudian
t 0=15 , v(t 0 )=362 .78
t1 =20 , v(t 1 )=517 .35
Berikan
v (t 1 )−v (t0 )
v (t )=v (t 0 )+ (t−t0 )
t1 −t 0
517 . 35−362. 78
=362 .78+ (t−15 )
20−15
=362. 78+30 . 913(t−15) , 15≤t≤20
Di t=16 ,
v(16 )=362 .78+30. 913(16−15 ) =393.7 m/s
Listing MATLAB-Kuadrat Spline
Output MATLAB
B. INTEGRASI NUMERIK
1. Metode Integrasi Newton-Cotes
Metode ini adalah skema integrasi numerik yang paling sering digunakan.
Metode ini didasarkan pada penggantian suatu fungsi yang kompleks atau data
tertabulasi dengan suatu fungsi hampiran yang mudah untuk diintegrasi.
Metode integrasi Newton-Cotes secara umum merupakan metode integrasi yang
dilakukan dengan membagi area di bawah kurva suatu fungsi menjadi beberapa
panel dengan terlebih dahulu menetapkan batas atas dan batas bawah interval.
Integral atau luas area di bawah kurva ditentukan berdasarkan jumlah luas panel
yang digunakan untuk mendekati luas area di bawah kurva.
Terdapat beberapa metode yang akan dijelaskan, metode-metode tersebut
antara lain:
a. Metode Integral Riemann
b. Metode Trapezoida
c. Metode Simpson 1/3
d. Metode Simpson 3/8
a. Metode Integral Riemann
Metode integral Riemann dilakukan dengan membagi interval di bawah
kurva suatu fungsi matematik sebanyak m subinterval sama besar. Pada setiap
subinterval dibentuk persegi panjang setinggi kurva pada setiap titik tengah
persegi panjang tersebut. Area setiap subinterval diperoleh dengan mengalikan
panjang dan lebar masing-masing persegi panjang. Jumlah masing-masing area
tersebut digunakan untuk menaksir interval integral suatu fungsi dengan
interval tertentu. Fungsi proses integrasi menggunakan metode titik tengah
dapat dituliskan pada Persamaan (20).
b m
∫ f ( x ) dx ≈ ∑ f i
a i=1
( |b−a
m
| |b−a| |b−a|
−
2m ) m
(20)
b. Metode Trapezoida
Pendekatan trapezoida dilakukan dengan melakukan pendekatan area
dibawah kurva fungsi y=f (x ) dengan subinterval [ xi , xi +1 ] menggunakan
trapesium. Untuk memahami pendekatan yang digunakan pembaca dapat
memperhatikan Gambar 1.
c. Metode Simpson
Metode Simpson membagi subinterval [a , b] menjadi n subinterval,
dimana n merupakan bilangan genap. Untuk setiap pasang subinterval, luas
area di bawah fungsi f (x) ditaksir menggunakan polinomial berderajat 2.
Misalkan u< v <w merupakan titik sembarang pada suatu fungsi yang
akan dicari integralnya yang terpisah sejauh h. Untuk x ∈[u , w] ingin
menaksir f (x) menggunakan parabola yang melalui titik ( u , f ( u ) ) ,(v , f ( v ) ),
dan ( w , f ( w ) ). Terdapat tepat 1 parabola p(x ) yang dapat dibentuk dari ketiga
titik koordinat tersebut yang ditunjukkan melalui Persamaan (24).
( x−v)(x−w) ( x−u)( x−w) (x −u)( x −v )
p ( x ) =f ( u ) + f (v ) + f ( w) (24)
(u−v)(u−w) (v −u)(v−w) ( w−u)( w−v )
u
Sebagai taksiran luas di bawah kurva y=f (x ) digunakan ∫ p ( x ) dx.
w
Hasil integrasi kurva Persamaan (24) disajikan pada Persamaan (25).
u
∫ p ( x ) dx= h3 (f ( u ) +4 f ( v ) + f ( w ) ) (25)
w
Sekarang asumsikan n merupakan bilangan genap, maka perlu
menambahkan taksiran untuk subinterval [ x2 i , x 2 i+2 ] untuk memperoleh
b
Fungsi yang akan dicari nilai integrannya pada umumnya tidak hanya memiliki
daerah batas [−1,1], sehingga pendekatan kuadratur Gauss tidak dapat digunakan
secara langsung pada fungsi yang tidak memiliki batas tersebut. Agar kuadratur
Gauss tetap dapat digunakan, fungsi tersebut perlu dilakukan transformasi. Proses
transformasi dituliskan pada Persamaan (31).
b 1
b−a a+b+ ( b−a ) t
∫ f ( x ) dx= 2 ∫ f
a −1
( 2 ) dt (31)
STUDI KASUS
Jarak vertikal yang ditempuh roket dari t=8 ke t=30 detik ditentukan oleh
30
140000
(
x=∫ 2000 ln
8
[ 140000−2100 t ] )
− 9. 8 t dt
Gunakan aturan Romberg untuk mencari jarak yang ditempuh. Gunakan 1,2,4, dan 8 segmen
hasil aturan trapesium seperti yang diberikan dalam Tabel 1
Solusi
Dari Tabel 1, niali yang dibutuhkan dari aturan asli Trapesium adalah
I 1,1 =11868
I 1,2 =11266
I 1,3 =11113
I 1,4 =11074
Dimana keempat nilai di atas sesuai dengan menggunakan 1, 2, 4, dan 8 segmen aturan
Trapesium, respektif. Untuk mendapatkan nilai ekstrapolasi urutan pertama,
I 1,2 −I 1,1 11266−11868
I 2,1 =I 1,2 + =11266+
3 3 =11065
Demikian pula
I 1,3 −I 1,2 11113−11266
I 2,2 =I 1,3 + =11113+
3 3 =11062
I 1,4 −I 1,3 11074−11113
I 2,3 =I 1,4 + =11074 +
3 3 =11061
Untuk niali ekstrapolasi orde dua
I 2,2 −I 2,1 11062−11065
I 3,1 =I 2,2 + =11062+
15 15 =11062
Demikian pula
I 2,3 −I 2,2 11061−11062
I 3,2 =I 2,3 + =11061+
15 15 =11061
Untuk nilai ekstrapolasi urutan ketiga,
I 3,2 −I 3,1 11061−11062
I 4,1=I 3,2 + =11061+
63 63 =11061 m
Tabel 3 menunjukkan semakin meningkat nilai yang benar dalam grafik pohon.
nstep = floor(log2(n))+1 ;
I(1,i)=0.5*(f(a)+f(b)) ;
h=(b-a)/(2^(i-1)) ;
for j=1:2^(i-1)-1
I(1,i)=I(1,i)+f(a+j*h) ;
end
I(1,i)=h*I(1,i) ;
disp(sprintf(' %i Segment Trap, I(1,%i) = %g',2^(i-
1),i,I(1,i)))
end
I(k,j)=I(k-1,j+1) + (I(k-1,j+1)-I(k-1,j))/(4^(k-1)-1) ;
disp(sprintf(' I(%i,%i) = I(%i,%i) + (I(%i,%i) - I(%i,
%i))/%g',k,j,k-1,j+1,k-1,j+1,k-1,j,4^(k-1)-1))
disp(sprintf(' = %g + (%g - %g)/%g',I(k-
1,j+1),I(k-1,j+1),I(k-1,j),4^(k-1)-1))
disp(sprintf(' = %g',I(k,j)))
disp(' ')
end
index = index - 1 ;
end
approx = I(nstep,1) ;
% Display results
disp(sprintf('\n\n**************************Results***********
*****************'))
Output MATLAB
Listing MATLAB-Integrasi Simpson
clc
clf
clear all
% f(x), the function to integrate
f= @(x) 2000*log(1400/21./x)-9.8*x ;
% a, the lower limit of integration
a=8 ;
% b, the upper limit of integration
b=12 ;
% n, the number of segments. Note that this number must be
even.
n=12 ;
% Displays what inputs will be used
disp(sprintf('\n\n********************************Input
Data**********************************\n'))
disp(sprintf(' f(x), integrand function'))
disp(sprintf(' a = %g, lower limit of integration ',a))
disp(sprintf(' b = %g, upper limit of integration ',b))
disp(sprintf(' n = %g, number of subdivisions (must be
even)',n))
format short g
Output MATLAB
Listing MATLAB-Integrasi Gauss-Kuadrat
clc
clear all
% f(x), the function to integrate
f= @(x) 2000*log(1400/21./x)-9.8*x ;
% a, the lower limit of integration
a=8 ;
% b, the upper limit of integration
b=12 ;
% n, the maximum number of Gauss points, 1-10
n=3 ;
i=1 ;
x_values(i,1) = 0.0 ;
c_values(i,1) = 2.0 ;
i=2 ;
x_values(i,1) = -0.5773502691896260 ;
x_values(i,2) = -x_values(i,1) ;
c_values(i,1) = 1.0 ;
c_values(i,2) = 1.0 ;
i=3 ;
x_values(i,1) = -0.7745966692414830 ;
x_values(i,2) = 0.0 ;
x_values(i,3) = -x_values(i,1) ;
c_values(i,1) = 0.5555555555555560 ;
c_values(i,2) = 0.8888888888888890 ;
c_values(i,3) =c_values(i,1) ;
i=4 ;
x_values(i,1) = -0.8611363115940530 ;
x_values(i,2) = -0.3399810435848560 ;
x_values(i,3) = -x_values(i,2) ;
x_values(i,4) = -x_values(i,1) ;
c_values(i,1) = 0.3478548451374540 ;
c_values(i,2) = 0.6521451548625460 ;
c_values(i,3) =c_values(i,2) ;
c_values(i,4) =c_values(i,1) ;
i=5 ;
x_values(i,1) = -0.9061798459386640 ;
x_values(i,2) = -0.5384693101056830 ;
x_values(i,3) = 0.0 ;
x_values(i,4) = -x_values(i,2) ;
x_values(i,5) = -x_values(i,1) ;
c_values(i,1) = 0.2369368850561890 ;
c_values(i,2) = 0.4786386704993660 ;
c_values(i,3) = 0.5688888888888890 ;
c_values(i,4) =c_values(i,2) ;
c_values(i,5) =c_values(i,1) ;
i=6 ;
x_values(i,1) = -.9324695142032520 ;
x_values(i,2) = -.6612093864662650 ;
x_values(i,3) = -.2386191860831970 ;
x_values(i,4) = -x_values(i,3) ;
x_values(i,5) = -x_values(i,2) ;
x_values(i,6) = -x_values(i,1) ;
c_values(i,1) = 0.1713244923791700 ;
c_values(i,2) = 0.3607615730481390 ;
c_values(i,3) = 0.4679139345726910 ;
c_values(i,4) =c_values(i,3) ;
c_values(i,5) =c_values(i,2) ;
c_values(i,6) =c_values(i,1) ;
i=7 ;
x_values(i,1) = -0.9491079123427590 ;
x_values(i,2) = -0.7415311855993940 ;
x_values(i,3) = -0.4058451513773970 ;
x_values(i,4) = 0.0 ;
x_values(i,5) = -x_values(i,3) ;
x_values(i,6) = -x_values(i,2) ;
x_values(i,7) = -x_values(i,1) ;
c_values(i,1) = 0.1294849661688700 ;
c_values(i,2) = 0.2797053914892770 ;
c_values(i,3) = 0.3818300505051190 ;
c_values(i,4) = 0.4179591836734690 ;
c_values(i,5) =c_values(i,3) ;
c_values(i,6) =c_values(i,2) ;
c_values(i,7) =c_values(i,1) ;
i=8 ;
x_values(i,1) = -0.9602898564975360 ;
x_values(i,2) = -0.7966664774136270 ;
x_values(i,3) = -0.5255324099163290 ;
x_values(i,4) = -0.1834346424956500 ;
x_values(i,5) = -x_values(i,4) ;
x_values(i,6) = -x_values(i,3) ;
x_values(i,7) = -x_values(i,2) ;
x_values(i,8) = -x_values(i,1) ;
c_values(i,1) = 0.1012285362903760 ;
c_values(i,2) = 0.2223810344533740 ;
c_values(i,3) = 0.3137066458778870 ;
c_values(i,4) = 0.3626837833783620 ;
c_values(i,5) =c_values(i,4) ;
c_values(i,6) =c_values(i,3) ;
c_values(i,7) =c_values(i,2) ;
c_values(i,8) =c_values(i,1) ;
i=9 ;
x_values(i,1) = -0.9681602395076260 ;
x_values(i,2) = -0.8360311073266360 ;
x_values(i,4) = -0.6133714327005900 ;
x_values(i,4) = -0.3242534234038090 ;
x_values(i,5) = 0.0 ;
x_values(i,6) = -x_values(i,4) ;
x_values(i,7) = -x_values(i,3) ;
x_values(i,8) = -x_values(i,2) ;
x_values(i,9) = -x_values(i,1) ;
c_values(i,1) = 0.0812743883615740 ;
c_values(i,2) = 0.1806481606948570 ;
c_values(i,3) = 0.2606106964029350 ;
c_values(i,4) = 0.3123470770400030 ;
c_values(i,5) = 0.3302393550012600 ;
c_values(i,6) =c_values(i,4) ;
c_values(i,7) =c_values(i,3) ;
c_values(i,8) =c_values(i,2) ;
c_values(i,9) =c_values(i,1) ;
i=10 ;
x_values(i,1) = -0.9739065285171720 ;
x_values(i,2) = -0.8650633666889850 ;
x_values(i,3) = -0.6794095682990240 ;
x_values(i,4) = -0.4333953941292470 ;
x_values(i,5) = -0.1488743389816310 ;
x_values(i,6) = -x_values(i,5) ;
x_values(i,7) = -x_values(i,4) ;
x_values(i,8) = -x_values(i,3) ;
x_values(i,9) = -x_values(i,2) ;
x_values(i,10) = -x_values(i,1) ;
c_values(i,1) = 0.0666713443086880 ;
c_values(i,2) = 0.1494513491505810 ;
c_values(i,3) = 0.2190863625159820 ;
c_values(i,4) = 0.2692667193099960 ;
c_values(i,5) = 0.2955242247147530 ;
c_values(i,6) = c_values(i,5) ;
c_values(i,7) = c_values(i,4) ;
c_values(i,8) = c_values(i,3) ;
c_values(i,9) = c_values(i,2) ;
c_values(i,10) = c_values(i,1) ;
approx = 0 ;
disp(' ')
Output MATLAB
MENGGUNAKAN PYTHON
2
1. ∫ x dx=2
0
Penyelesaian :
2. ∫ sin x dx=2
0
Penyelesaian :
3. Penyelesaian :
import numpy as np
from scipy.integrate import simps, romb
a=0.0
b=2.0
N=100
h=(b-a)/N
x=np.linspace(a,b,N)
y=x
trap=np.trapz(y,x)
print(trap)
2.0