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
1.
2.
3.
4.
0.5403023
- 0.4161468
- 0.9899925
- 0.6536436
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.
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
0.8137102
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.
- 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.
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.
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.
0.5
0.7071068
0.8660254
1.
1.118034
1.2247449
column 8 to 9
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.
-->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
Galatnya:
-->galat2=sqrt(1)-polN(1,2)
galat2 =
0.7573593
Galatnya:
-->galat4=sqrt(1)-polN(1,4)
galat4 =
0.
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.
1.
1.4142136
1.7320508
2.
2.236068
2.4494897
column 8 to 9
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.
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.
Galatnya:
-->galat4=sqrt(1)-polN(1,4)
galat4 =
0.
Galatnya:
-->galat8=sqrt(1)-polN(1,8)
galat8 =
0.
-->clear x
-->clear y
1.25
2.5
3.75
5.
6.25
7.5
8.75
10.
1.118034
1.5811388
1.9364917
2.236068
2.5
column 7 to 9
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.
Galatnya:
-->galat2=sqrt(1)-polN(1,2)
galat2 =
0.0531785
0.0084514
0.0005435
0.0001674
0.0000715
0.0000365
0.
0.
0.
0.
Galatnya:
-->galat4=sqrt(1)-polN(1,4)
galat4 =
0.0269533
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.
0.1509434
column 7 to 9
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.
Galatnya:
-->galat2=(1/(1+10*(0)^2))-polN(0,2)
galat2 =
0.2205342
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.
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]
- 7.5
- 5.
- 2.5
0.
2.5
5.
7.5
10.
- 0.9380000
0.9589243
- 0.5984721
0.
0.5984721
column 7 to 9
- 0.9589243
0.9380000
- 0.5440211
- 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.
Galatnya:
-->galat2=sin(0)-polN(0,2)
galat2 =
- 14.889609
Galatnya:
-->galat4=sin(0)-polN(0,4)
galat4 =
1.776D-15
Galatnya:
-->galat8=sin(0)-polN(0,8)
galat8 =
1.776D-15
0.
0.
0.
10.
15.
20.
25.
30.
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.
-->
suku=D(i,1);
-->
for k=1:i-1;
-->
suku=suku*(z-x(k));
-->
end
-->
jumlah=jumlah+suku;
-->
end
-->
newton=jumlah;
-->endfunction
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.
-->endfunction
-->x=[5:5:30]
x =
5.
10.
15.
20.
25.
30.
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