Anda di halaman 1dari 17

Febbi Meidawati

G14130017
RABU2
Nomor 1
Dik.
f(x) = cos(x) di dalam selang [0,4]
cos(2.5) = -0.80114
Dit.
a. Taksir nilai cos(2.5)
b. Hitung galat relatif
c. Bandingkan dengan hasil yang diperoleh menggunakan metode
Lagrange
Jawab.
a. Membuat tabel selisih terbagi
-->exec selisihN.sci
-->function D=selisihN(x,y)
-->n=length(x);
-->D(1,1:n)=y;
-->for j=2:n,
-->for k=1:n-j+1,
-->D(j,k)=(D(j-1,k+1)-D(j-1,k))/(x(k+j-1)-x(k));
-->end
-->end

Akan dibentuk polinom berderajat 1, 2, 3, dan 4. Derajat tertingginya


bernilai 4, maka dibutuhkan 5 titik.
-->x=[0 1 2 3 4]
x =
0.

1.

2.

3.

4.

-->y=[cos(0) cos(1) cos(2) cos(3) cos(4)]


y =
1.

0.5403023

- 0.4161468

- 0.9899925

- 0.6536436

Sehingga tabel selisih terbaginya adalah:


-->selisihN(x,y)
ans =
1.
- 0.4596977
- 0.2483757
0.1465592
- 0.0146568

0.5403023
- 0.9564491
0.1913017
0.0879318
0.

- 0.4161468
- 0.5738457
0.4550973
0.
0.

- 0.9899925
0.3363489
0.
0.
0.

- 0.6536436
0.
0.
0.
0.

Dengan menggunakan interpolasi Newton, didapatkan hasil berikut:


-->exec polN.sci
-->//kodingan untuk menghitung taksiran nilai fungsi i dengan polinom
berderajat
-->function newton=polN(z,derajat)
-->
D=selisihN(x,y)
-->
jumlah=D(1,1);
-->
for i=2:derajat+1
-->
suku=D(i,1);
-->
for k=1:i-1;
-->
suku=suku*(z-x(k));
-->
end
-->
jumlah=jumlah+suku;
-->
end
-->
newton=jumlah;
-->endfunction

z = 2.5; derajat = 1
-->polN(2.5,1)
ans =
- 0.1492442

z = 2.5; derajat = 2
-->polN(2.5,2)
ans =
- 1.0806532

z = 2.5; derajat = 3
-->polN(2.5,3)
ans =
- 0.8058548

z = 2.5; derajat = 4
-->polN(2.5,4)
ans =
- 0.7921140

b. Membandingkan galat relatif keempat hampiran polinom yang diperoleh


Galat relatif polinom berderajat 1
-->garel1=(-0.80114-(polN(2.5,1)))/(-0.80114)
garel1 =

0.8137102

Galat relatif polinom berderajat 2


-->garel2=(-0.80114-(polN(2.5,2)))/(-0.80114)
garel2 =
- 0.3488943

Galat relatif polinom berderajat 3


-->garel3=(-0.80114-(polN(2.5,3)))/(-0.80114)
garel3 =
- 0.0058851

Galat relatif polinom berderajat 4


-->garel4=(-0.80114-(polN(2.5,4)))/(-0.80114)
garel4 =
0.0112664

>> Dari keempat galat relatif yang didapatkan, hampiran polinom


berderajat 3 menghasilkan nilai paling kecil dan paling mendekati nilai
cos(2.5) yang sebenarnya.
c. Perbandingan dengan metode Lagrange
-->exec polag.sci
-->function L=polag(x,y,z)
-->
n=length(x);
-->
for k=1:n
-->
L(k)=1;
-->
for j=1:n
-->
if j~=k,
-->
L(k)=L(k)*(z-x(j))/(x(k)-x(j));
-->
end
-->
end
-->
end
-->endfunction
-->clear x
-->clear y

Polinom berderajat 1
Dibutuhkan 2 titik dengan h (jarak) = 4. Selangnya [0, 4], jadi 2 titik
yang mewakili selang tersebut adalah 0 dan 4.
-->x=[0 4]
x =
0.

4.

-->y=[cos(0) cos(4)]
y =
1.

- 0.6536436

-->y*polag(x,y,2.5)
ans =
- 0.0335273
-->clear x
-->clear y

Polinom berderajat 2
Dibutuhkan 3 titik dengan h (jarak) = 2. Selangnya [0, 4], jadi 3 titik
yang mewakili selang tersebut adalah 0, 2, dan 4.
-->x=[0 2 4]
x =
0.

2.

4.

-->y=[cos(0) cos(2) cos(4)]


y =
1.

- 0.4161468

- 0.6536436

-->y*polag(x,y,2.5)
ans =
- 0.5860195
-->clear x
-->clear y

Polinom berderajat 3
Dibutuhkan 4 titik dengan h (jarak) = 4/3. Selangnya [0, 4], jadi 4 titik
yang mewakili selang tersebut adalah 0, 1.3333333, 2.6666667, dan
4.
-->x=[0:4/3:4]
x =
0.

1.3333333

2.6666667

4.

-->y=[cos(0) cos(4/3) cos(8/3) cos(4)]


y =
1.

0.2352376

-->y*polag(x,y,2.5)
ans =

- 0.8893266

- 0.6536436

- 0.7878701
-->clear x
-->clear y

Polinom berderajat 4
Dibutuhkan 5 titik dengan h (jarak) = 1. Selangnya [0, 4], jadi 5 titik
yang mewakili selang tersebut adalah 0, 1, 2, 3, dan 4.
-->x=[0 1 2 3 4]
x =
0.

1.

2.

3.

4.

-->y=[cos(0) cos(1) cos(2) cos(3) cos(4)]


y =
1.

0.5403023

- 0.4161468

- 0.9899925

- 0.6536436

-->y*polag(x,y,2.5)
ans =
- 0.7921140
-->clear x
-->clear y

Nomor 2
Tentukan hampiran polinomial newton derajat 2, 4 dan 8 untuk fungsi
.fungsi berikut
pada interval yang diberikan, kemudian buat analisis kesalahannya. Apakah
semakin
tinggi derajat polinom, semakin akurat hasilnya ketika digunakan
untukmenaksir f (a)
a. f(x) =

x , a = 1

Selang [0, 2]
Membuat tabel selisih terbagi
-->exec selisihN.sci
-->function D=selisihN(x,y)
-->n=length(x);
-->D(1,1:n)=y;
-->for j=2:n,
-->for k=1:n-j+1,
-->D(j,k)=(D(j-1,k+1)-D(j-1,k))/(x(k+j-1)-x(k));
-->end
-->end

-->x=[0:2/8:2]
x =
0.

0.25

0.5

0.75

1.

1.25

1.5

1.75

2.

-->y=[sqrt(0) sqrt(0.25) sqrt(0.5) sqrt(0.75) sqrt(1) sqrt(1.25)


sqrt(1.5) sqrt(1.75) sqrt(2)]
y =
column 1 to 7
0.

0.5

0.7071068

0.8660254

1.

1.118034

1.2247449

column 8 to 9
1.3228757

1.4142136

Sehingga tabel selisih terbaginya adalah:


-->selisihN(x,y)'
ans =
column 1 to 5
0.
0.5
0.7071068
0.8660254
1.
1.118034
1.2247449
1.3228757
1.4142136

2.
0.8284271
0.6356745
0.5358984
0.4721360
0.4268435
0.3925231
0.3653516
0.

2.3431458
0.3855053
0.1995522
0.1275249
0.0905848
0.0686408
0.0543430
0.
0.

2.6101873
0.2479374
0.0960365
0.0492533
0.0292587
0.0190637
0.
0.
0.

0.6177225
0.0186942
0.
0.
0.
0.
0.
0.
0.

- 0.2995141
0.
0.
0.
0.
0.
0.
0.
0.

2.3622499
0.1519009
0.0467831
0.0199946
0.0101951
0.
0.
0.
0.

column 6 to 9
1.7682792
0.0840943
0.0214308
0.0078396
0.
0.
0.
0.
0.

- 1.1227899
- 0.0417756
- 0.0090608
0.
0.
0.
0.
0.
0.

Dengan menggunakan interpolasi Newton, didapatkan hasil berikut:


-->exec polN.sci
-->//kodingan untuk menghitung taksiran nilai fungsi i dengan polinom
berderajat

-->function newton=polN(z,derajat)
-->
D=selisihN(x,y)
-->
jumlah=D(1,1);
-->
for i=2:derajat+1
-->
suku=D(i,1);
-->
for k=1:i-1;
-->
suku=suku*(z-x(k));
-->
end
-->
jumlah=jumlah+suku;
-->
end
-->
newton=jumlah;
-->endfunction

Hampiran polinomial Newton berderajat 2 (z= a= 1)


-->polN(1,2)
ans =
0.2426407

Galatnya:
-->galat2=sqrt(1)-polN(1,2)
galat2 =
0.7573593

Hampiran polinomial Newton berderajat 4 (z= a= 1)


-->polN(1,4)
ans =
1.

Galatnya:
-->galat4=sqrt(1)-polN(1,4)
galat4 =
0.

Hampiran polinomial Newton berderajat 2 (z= a= 1)


-->polN(1,8)
ans =
1.

Galatnya:
-->galat8=sqrt(1)-polN(1,8)
galat8 =
0.
-->clear x

-->clear y

Selang [0, 8]
Dengan menggunakan metode yang sama dengan opsi a:
-->x=[0 1 2 3 4 5 6 7 8]
x =
0.

1.

2.

3.

4.

5.

6.

7.

8.

-->y=[sqrt(0) sqrt(1) sqrt(2) sqrt(3) sqrt(4) sqrt(5) sqrt(6) sqrt(7)


sqrt(8)]
y =
column 1 to 7
0.

1.

1.4142136

1.7320508

2.

2.236068

2.4494897

column 8 to 9
2.6457513

2.8284271

Sehingga tabel selisih terbaginya adalah:


-->selisihN(x,y)'
ans =
column 1 to 5
0.
1.
1.4142136
1.7320508
2.
2.236068
2.4494897
2.6457513
2.8284271

1.
0.4142136
0.3178372
0.2679492
0.2360680
0.2134218
0.1962616
0.1826758
0.

0.2928932
0.0481882
0.0249440
0.0159406
0.0113231
0.0085801
0.0067929
0.
0.

0.0815684
0.0077480
0.0030011
0.0015392
0.0009143
0.0005957
0.
0.
0.

0.0000754
0.0000023
0.
0.
0.
0.
0.
0.
0.

- 0.0000091
0.
0.
0.
0.
0.
0.
0.
0.

column 6 to 9
0.0034537
0.0001642
0.0000419
0.0000153
0.
0.
0.
0.
0.

- 0.0005482
- 0.0000204
- 0.0000044
0.
0.
0.
0.
0.
0.

Hampiran polinomial Newton berderajat 2 (z= a= 1)

0.0184551
0.0011867
0.0003655
0.0001562
0.0000796
0.
0.
0.
0.

-->polN(1,2)
ans =
1.

Galatnya:
-->galat2=sqrt(1)-polN(1,2)
galat2 =
0.

Hampiran polinomial Newton berderajat 4 (z= a= 1)


-->polN(1,4)
ans =
1.

Galatnya:
-->galat4=sqrt(1)-polN(1,4)
galat4 =
0.

Hampiran polinomial Newton berderajat 8 (z= a= 1)


-->polN(1,8)
ans =
1.

Galatnya:
-->galat8=sqrt(1)-polN(1,8)
galat8 =
0.
-->clear x
-->clear y

Selang [0, 10]


Dengan menggunakan metode yang sama dengan opsi a:
-->x=[0:10/8:10]
x =
0.

1.25

2.5

3.75

5.

6.25

7.5

8.75

10.

-->y=[sqrt(0) sqrt(1.25) sqrt(2.5) sqrt(3.75) sqrt(5) sqrt(6.25)


sqrt(7.5) sqrt(8.75) sqrt(10)]
y =
column 1 to 6
0.

1.118034

1.5811388

1.9364917

2.236068

2.5

column 7 to 9
2.7386128

2.9580399

3.1622777

Sehingga tabel selisih terbaginya adalah:


-->selisihN(x,y)'
ans =
column 1 to 5
0.
1.118034
1.5811388
1.9364917
2.236068
2.5
2.7386128
2.9580399
3.1622777

0.8944272
0.3704839
0.2842823
0.2396610
0.2111456
0.1908902
0.1755417
0.1633902
0.

0.2095773
0.0344806
0.0178485
0.0114062
0.0081022
0.0061394
0.0048606
0.
0.

0.0466925
0.0044352
0.0017180
0.0008811
0.0005234
0.0003410
0.
0.
0.

0.0000177
0.0000005
0.
0.
0.
0.
0.
0.
0.

- 0.0000017
0.
0.
0.
0.
0.
0.
0.
0.

column 6 to 9
0.0012653
0.0000602
0.0000153
0.0000056
0.
0.
0.
0.
0.

- 0.0001607
- 0.0000060
- 0.0000013
0.
0.
0.
0.
0.
0.

Hampiran polinomial Newton berderajat 2 (z= a= 1)


-->polN(1,2)
ans =
0.9468215

Galatnya:
-->galat2=sqrt(1)-polN(1,2)
galat2 =
0.0531785

0.0084514
0.0005435
0.0001674
0.0000715
0.0000365
0.
0.
0.
0.

Hampiran polinomial Newton berderajat 4 (z= a= 1)


-->polN(1,4)
ans =
0.9730467

Galatnya:
-->galat4=sqrt(1)-polN(1,4)
galat4 =
0.0269533

Hampiran polinomial Newton berderajat 8 (z= a= 1)


-->polN(1,8)
ans =
0.9861049

Galatnya:
-->galat8=sqrt(1)-polN(1,8)
galat8 =
0.0138951
-->clear x
-->clear y

1
b. f(x) = 1+10 x 2 , a = 0, selang [-1, 1]
Dengan menggunakan metode yang sama dengan opsi a:
-->x=[-1:1/4:1]
x =
- 1.

- 0.75

- 0.5

- 0.25

0.

0.25

0.5

0.75

1.

-->y=[1/(1+10*(-1)^2) 1/(1+10*(-0.75)^2) 1/(1+10*(-0.5)^2) 1/(1+10*(0.25)^2) 1/(1+10*(0)^2) 1/(1+10*(0.25)^2) 1/(1+10*(0.5)^2) 1/


(1+10*(0.75)^2) 1/(1+10*(1)^2)]
y =
column 1 to 6
0.0909091

0.1509434

column 7 to 9

0.2857143

0.6153846

1.

0.6153846

0.2857143

0.1509434

0.0909091

Sehingga tabel selisih terbaginya adalah:


-->selisihN(x,y)'
ans =
column 1 to 5
0.0909091
0.1509434
0.2857143
0.6153846
1.
0.6153846
0.2857143
0.1509434
0.0909091

0.2401372
0.5390836
1.3186813
1.5384615
1.5384615
1.3186813
0.5390836
0.2401372
0.

0.5978927
1.5591955
0.4395604
- 6.1538462
0.4395604
1.5591955
0.5978927
0.
0.

1.2817371
- 1.4928468
- 8.7912088
8.7912088
1.4928468
- 1.2817371
0.
0.
0.

- 24.126817
24.126817
0.
0.
0.
0.
0.
0.
0.

24.126817
0.
0.
0.
0.
0.
0.
0.
0.

column 6 to 9
- 3.6190225
19.904624
- 19.904624
3.6190225
0.
0.
0.
0.
0.

15.682431
- 26.539498
15.682431
0.
0.
0.
0.
0.
0.

Hampiran polinomial Newton berderajat 2 (z= a= 0)


-->polN(0,2)
ans =
0.7794658

Galatnya:
-->galat2=(1/(1+10*(0)^2))-polN(0,2)
galat2 =
0.2205342

Hampiran polinomial Newton berderajat 4 (z= a= 0)


-->polN(0,4)
ans =
1.

Galatnya:
-->galat4=(1/(1+10*(0)^2))-polN(0,4)
galat4 =

- 2.7745839
- 7.298362
17.582418
- 7.298362
- 2.7745839
0.
0.
0.
0.

0.

Hampiran polinomial Newton berderajat 8 (z= a= 0)


-->polN(0,8)
ans =
1.

Galatnya:
-->galat8=(1/(1+10*(0)^2))-polN(0,8)
galat8 =
0.
-->clear x
-->clear y
c. f(x) = sin(x), a=0, selang [-10,10]

Dengan menggunakan metode yang sama dengan opsi a:


-->x=[-10:2.5:10]
x =
- 10.

- 7.5

- 5.

- 2.5

0.

2.5

5.

7.5

10.

-->y=[sin(-10) sin(-7.5) sin(-5) sin(-2.5) sin(0) sin(2.5) sin(5)


sin(7.5) sin(10)]
y =
column 1 to 6
0.5440211

- 0.9380000

0.9589243

- 0.5984721

0.

0.5984721

column 7 to 9
- 0.9589243

0.9380000

- 0.5440211

Sehingga tabel selisih terbaginya adalah:


-->selisihN(x,y)'
ans =
column 1 to 5
0.5440211
- 0.9380000
0.9589243
- 0.5984721
0.
0.5984721

- 0.5928084
0.7587697
- 0.6229586
0.2393889
0.2393889
- 0.6229586

0.2703156
- 0.2763457
0.1724695
0.
- 0.1724695
0.2763457

- 0.0728882
0.0598420
- 0.0229959
- 0.0229959
0.0598420
- 0.0728882

0.0132730
- 0.0082838
0.
0.0082838
- 0.0132730
0.

- 0.9589243
0.9380000
- 0.5440211

0.7587697
- 0.5928084
0.

- 0.2703156
0.
0.

0.
0.
0.

- 0.0000091
- 0.0000091
0.
0.
0.
0.
0.
0.
0.

0.
0.
0.
0.
0.
0.
0.
0.
0.

column 6 to 9
- 0.0017245
0.0006627
0.0006627
- 0.0017245
0.
0.
0.
0.
0.

0.0001591
0.
- 0.0001591
0.
0.
0.
0.
0.
0.

Hampiran polinomial Newton berderajat 2 (z= a= 0)


-->polN(0,2)
ans =
14.889609

Galatnya:
-->galat2=sin(0)-polN(0,2)
galat2 =
- 14.889609

Hampiran polinomial Newton berderajat 4 (z= a= 0)


-->polN(0,4)
ans =
- 1.776D-15

Galatnya:
-->galat4=sin(0)-polN(0,4)
galat4 =
1.776D-15

Hampiran polinomial Newton berderajat 8 (z= a= 0)


-->polN(0,8)
ans =
- 1.776D-15

Galatnya:
-->galat8=sin(0)-polN(0,8)
galat8 =
1.776D-15

0.
0.
0.

>> Semakin tinggi derajatnya, nilai hampiran polinomial semakin


mendekati nilai sebenarnya.
Nomor 3
Membuat tabel selisih terbagi
-->exec selisihN.sci
-->function D=selisihN(x,y)
-->n=length(x);
-->D(1,1:n)=y;
-->for j=2:n,
-->for k=1:n-j+1,
-->D(j,k)=(D(j-1,k+1)-D(j-1,k))/(x(k+j-1)-x(k));
-->end
-->end
-->x=[5:5:30]
x =
5.

10.

15.

20.

25.

30.

//y konsentrasi Klorida 20 mg/L


-->y=[11.6 10.3 9.1 8.2 7.4 6.8]
y =
11.6

10.3

9.1

8.2

7.4

6.8

Sehingga tabel selisih terbaginya adalah:


-->selisihN(x,y)'
ans =
11.6
10.3
9.1
8.2
7.4
6.8

0.26
0.24
0.18
0.16
0.12
0.

0.002
0.006
0.002
0.004
0.
0.

0.0002667
- 0.0002667
0.0001333
0.
0.
0.

- 0.0000267
0.00002
0.
0.
0.
0.

0.0000019
0.
0.
0.
0.
0.

Dengan menggunakan interpolasi Newton, didapatkan hasil berikut:


-->exec polN.sci
-->//kodingan untuk menghitung taksiran nilai fungsi i dengan polinom
berderajat
-->function newton=polN(z,derajat)
-->
D=selisihN(x,y)
-->
jumlah=D(1,1);
-->
for i=2:derajat+1

-->
suku=D(i,1);
-->
for k=1:i-1;
-->
suku=suku*(z-x(k));
-->
end
-->
jumlah=jumlah+suku;
-->
end
-->
newton=jumlah;
-->endfunction

Hampiran polinomial Newton berderajat 5 karena ada 6 titik


-->polN(22.4,5)
ans =
7.812505
//y konsentrasi Klorida 20 mg/L
-->y=[10.5 9.2 8.2 7.4 6.7 6.1]
y =
10.5

9.2

8.2

7.4

6.7

6.1

Sehingga tabel selisih terbaginya adalah:


-->selisihN(x,y)'
ans =
10.5
9.2
8.2
7.4
6.7
6.1

0.26
0.2
0.16
0.14
0.12
0.

0.006
0.004
0.002
0.002
0.
0.

- 0.0001333
- 0.0001333
1.301D-18
0.
0.
0.

- 2.019D-19
0.0000067
0.
0.
0.
0.

0.0000003
0.
0.
0.
0.
0.

Hampiran polinomial Newton berderajat 5 karena ada 6 titik


-->polN(22.4,5)
ans =
7.05502

Dengan metode Lagrange


-->exec polag.sci
-->function L=polag(x,y,z)
-->
n=length(x);
-->
for k=1:n
-->
L(k)=1;
-->
for j=1:n
-->
if j~=k,
-->
L(k)=L(k)*(z-x(j))/(x(k)-x(j));
-->
end
-->
end
-->
end

-->endfunction
-->x=[5:5:30]
x =
5.

10.

15.

20.

25.

30.

-->y=[11.6 10.3 9.1 8.2 7.4 6.8]


y =
11.6

10.3

9.1

8.2

7.4

6.8

-->y*polag(x,y,22.4)
ans =
7.812505
-->y=[10.5 9.2 8.2 7.4 6.7 6.1]
y =
10.5

9.2

8.2

7.4

6.7

6.1

-->y*polag(x,y,22.4)
ans =
7.05502

>> Berdasarkan hampiran yang didapat dari interpolasi Newton dan


Lagrange menghasilkan nilai polinomial yang sama.