NIM :20305141035
Definisi SPL
Suatu sistem yang merupakan gabungan dari beberapa persamaan linier dengan variabel X1, X2,...,Xn. SPL
mempunyai minimal sebuah solusi, disebut konsisten, jika tidak mempunyai solusi disebut tidak
konsisten.
dengan
ditentukan/dicari
contoh :
Metode penyelesaian:
A. Metode Langsung
1. Metode Substitusi
2. Metode Eliminasi
4. Metode Cramer
5. Metode Invers
1. Iterasi Jacobi
2. Iterasi Gauss-Seidel
3. Metode SOR (succesive over relaxation)
4. dsb.
Metode Jacobi
Langkah-langkah pada metode Jacobi adalah sebagai berikut.
baru, sampai iterasinya konvergen (nilai-nilai x_i yang baru sama atau
Contoh:
iterasi ke-10.
> end
nilai-nilai x_i yang baru dengan nama lain, misalnya y_i. Setelah
Sekarang akan dicoba menggunakan nilai awal x1=7, x2=0, x3=8, x4=9
> end
7 0 8 9
-15 15.5 -9 -11.6667
13.8333 -1 -2.5 23.5
19.5 -15.1667 -14.8333 -0.277778
6.22222 7.66667 -6.33333 9.55556
21.8889 -7.61111 -15.8889 10.2593
26.4259 -7.33333 -16.2778 12.6852
29.9074 -7.01852 -21.0926 11.784
38.9506 -9.40741 -24.8889 17.1481
49.5185 -14.1049 -31.5432 18.3992
59.3807 -15.3951 -37.4136 22.1831
Sekarang, dengan nilai awal tersebut akan dicoba sampai iterasi ke-15
> end
>A=[1,-1,2,-1;2,-2,3,-3;1,1,1,0;1,-1,4,3]
1 -1 2 -1
2 -2 3 -3
1 1 1 0
1 -1 4 3
>b=[-8;-20;-2;4]
-8
-20
-2
4
>x=A\b
-7
3
2
2
>x=inv(A).b
-7
3
2
2
>A.x
-8
-20
-2
4
dengan
Jadi, SPL
dengan
>A
1 -1 2 -1
2 -2 3 -3
1 1 1 0
1 -1 4 3
[2, 1, 4]
>D=setdiag(zeros(size(A)),0,diag(A))
1 0 0 0
0 -2 0 0
0 0 1 0
0 0 0 3
>
return U
endfunction
>triu(A)
0 -1 2 -1
0 0 3 -3
0 0 0 0
0 0 0 0
>
return L
endfunction
>tril(A)
0 0 0 0
2 0 0 0
1 1 0 0
1 -1 4 0
>
L=tril(A);
U=triu(A);
D=setdiag(zeros(size(A)),0,diag(A));
hasil=x0;
for i=1:n,
x=inv(D).(b-(L+U).x0);
x0=x;
hasil=[hasil,x0];
end
return hasil'
endfunction
>A
1 -1 2 -1
2 -2 3 -3
1 1 1 0
1 -1 4 3
>b
-8
-20
-2
4
>x0=[0;0;0;0]
0
0
0
0
0 0 0 0
-8 10 -2 1.33333
7.33333 -3 -4 10
7 -3.66667 -6.33333 3.22222
4.22222 2.66667 -5.33333 6.22222
11.5556 -3.11111 -8.88889 7.92593
14.5926 -3.66667 -10.4444 8.2963
17.5185 -3.51852 -12.9259 9.17284
23.5062 -5.62963 -16 11.5556
29.9259 -7.82716 -19.8765 12.9547
36.8807 -9.32099 -24.0988 15.251
>A=[1,2,3;2,5,3;0,0,8]
1 2 3
2 5 3
0 0 8
>b=[1;6;-10]
1
6
-10
>x0=[0;0;0]
0
0
0
>x=jacobit(A,b,x0,10)
0 0 0
1 1.2 -1.25
2.35 1.55 -1.25
1.65 1.01 -1.25
2.73 1.29 -1.25
2.17 0.858 -1.25
3.034 1.082 -1.25
2.586 0.7364 -1.25
3.2772 0.9156 -1.25
2.9188 0.63912 -1.25
3.47176 0.78248 -1.25
>x=jacobit(A,b,x0,100);
>x=jacobit(A,b,x0,400);
>largematrices on; longest x[390:400,:] //menampilkan hasil iterasi ke-390 sampai ke-400
Column 1 to 2:
4.249999999999998 0.2500000000000007
4.249999999999998 0.2500000000000007
4.249999999999998 0.2500000000000007
4.249999999999998 0.2500000000000007
4.249999999999998 0.2500000000000007
4.249999999999998 0.2500000000000007
4.249999999999998 0.2500000000000007
4.249999999999998 0.2500000000000007
4.249999999999998 0.2500000000000007
4.249999999999998 0.2500000000000007
4.249999999999998 0.2500000000000007
Column 3:
-1.25
-1.25
-1.25
-1.25
-1.25
-1.25
-1.25
-1.25
-1.25
-1.25
-1.25
>x=A\b
4.25
0.25
-1.25
>A.x
1
6
-10
iterasi Jacobi.
10 -1 2 0
-1 11 -1 3
2 -1 10 -1
0 3 -1 8
>b=[6;25;-11;15]
6
25
-11
15
>x0=[0;0;0;0]
0
0
0
0
Column 1 to 2:
0 0
0.6000000000000001 2.272727272727273
1.047272727272727 1.715909090909091
0.9326363636363637 2.053305785123967
1.015198760330579 1.95369576446281
0.9889913016528926 2.011414725770098
1.003198653362134 1.992241260682758
0.9981284734175433 2.00230688155266
1.000625134279186 1.998670301122357
0.9996741452148709 2.000447671545009
1.000118598691415 1.999767947010036
0.9999424232758989 2.000084774585162
1.000022142896771 1.999958962731713
0.9999897276722655 2.000015816364213
1.000004094725025 1.999992675379612
0.9999981554305442 2.00000292370118
1.000000752687866 1.99999868440386
0.9999996673475886 2.000000537310132
1.000000137832181 1.999999762704281
0.999999939837498 2.00000009837822
1.000000025178114 1.999999957078783
Column 3 to 4:
0 0
-1.1 1.875
-0.8052272727272728 0.8852272727272728
-1.049340909090909 1.130880681818182
-0.9681086260330579 0.9738427169421487
-1.01028590392562 1.021350510072314
-0.9945217367463374 0.9944337398455109
-1.0019722306196 1.003594310150674
-0.9990355755131752 0.9988883905903024
-1.000369157684571 1.000619190139969
-0.9998281428744763 0.9997859784600501
-1.000068327191274 1.000108502011927
-0.9999691569954708 0.9999596686316548
-1.000012565443017 1.000019244351174
-0.9999944394629146 0.9999924981830431
-1.00000230158874 1.000003441799781
-0.9999989945360128 0.9999986159134651
-1.000000420505841 1.000000619031551
-0.9999998178353494 0.9999997459454703
-1.000000076701461 1.000000111756476
-0.99999996695403 0.9999999535204848
>x=A\b
1
2
-1
1
>A.x
6
25
-11
15
Terlihat bahwa hasil iterasi Jacobi dan solusi secara langsung
Metode Gauss-Seidel
Metode Gauss-Seidel menggunakan langkah yang persis dengan metode
Contoh:
Gauss-Seidel.
awal untuk x_1, x_2, x_3, dan x_4. Berikut ini perhitungan 10 iterasi
pertama.
1
1
1
1
> end
Real 11 x 4 matrix
1 1 ...
0.5 2.13636363636 ...
0.990909090909 2.01957644628 ...
1.0019411157 2.00218329733 ...
1.00039892515 2.00020825218 ...
1.00005124935 2.00001731433 ...
1.00000537731 2.00000122387 ...
1.00000048843 2.00000006558 ...
1.00000003854 2.00000000113 ...
1.00000000252 1.99999999966 ...
1.00000000011 1.99999999993 ...
Dari hasil iterasi tersebut, menunjukkan bahwa solusi SPL-nya adalah:
matriks segitiga
maka, SPL
dengan
>
L=tril(A);
U=triu(A);
D=setdiag(zeros(size(A)),0,diag(A));
hasil=x0;
for i=1:n,
x=inv(L+D).(b-U.x0);
x0=x;
hasil=[hasil,x0];
end
return hasil'
endfunction
tersebut.
>A=[10,-1,2,0;-1,11,-1,3;2,-1,10,-1;0,3,-1,8]
10 -1 2 0
-1 11 -1 3
2 -1 10 -1
0 3 -1 8
>b=[6;25;-11;15]
6
25
-11
15
>x0=[1;1;1;1]
1
1
1
1
>long gaussseidel(A,b,x0,10)
Column 1 to 3:
1 1 1
0.5 2.13636363636 -0.886363636364
0.990909090909 2.01957644628 -0.999917355372
1.0019411157 2.00218329733 -1.00090297708
1.00039892515 2.00020825218 -1.00015212068
1.00005124935 2.00001731433 -1.0000182294
1.00000537731 2.00000122387 -1.00000183023
1.00000048843 2.00000006558 -1.0000001599
1.00000003854 2.00000000113 -1.00000001205
1.00000000252 1.99999999966 -1.00000000073
1.00000000011 1.99999999993 -1.00000000003
Column 4:
1
0.963068181818
0.992669163223
0.999068391365
0.999902890348
0.999991228451
0.99999931227
0.999999955419
0.999999998071
1.00000000004
1.00000000002
>x0=[1;1;1;1]
1
1
1
1
>long jacobit(A,b,x0,10)
Column 1 to 3:
1 1 1
0.5 2.18181818182 -1.1
1.03818181818 1.775 -0.819318181818
0.941363636364 2.04190082645 -1.03820454545
1.01183099174 1.96202530992 -0.973386621901
0.990879855372 2.00908268219 -1.00821250517
1.00255076925 1.99363325519 -0.995510984751
0.998465522469 2.00184886286 -1.00159008523
1.00050290333 1.99891176987 -0.999213352587
0.999733847505 2.00036052758 -1.0002986121
1.00009577518 1.99981054398 -0.99986007502
Column 4:
1
1.625
0.919318181818
1.10696022727
0.979511621901
1.01756718104
0.995567431032
1.00294865621
0.999107915776
1.00050641722
0.999827475644
hampiran solusi yang lebih besar daripada galat iterasi ke-10 iterasi
Gauss-Seidel.
10 2 -1
-3 -6 2
1 1 5
>b=[27;-61.5;-21.5]
27
-61.5
-21.5
>x0=[100;100;100]
100
100
100
>jacobit(A,b,x0,10)
>A\b
0.5
8
-6
L=tril(A);
U=triu(A);
D=setdiag(zeros(size(A)),0,diag(A));
return inv(L+D).(b-U.x);
endfunction
hasil=iterate("gs",x0;A,b);
return hasil
endfunction
>x0=[0;0;0]
0
0
0
>gsseidel(A,b,x0)
0.5
8
-6
> end
Determinant zero!
Error in:
x=A\b; //solusi langsung ...
^
>xjacobi' // Bandingkan hasil solusi langsung (kolom 1) hasil 10 iterasi pertama Jacobi
Determinant zero!
inv:
return A\id(cols(A));
Try "trace errors" to inspect local variables after errors.
gaussseidel:
x=inv(L+D).(b-U.x0);
>xgs' // Bandingkan hasil solusi langsung (kolom 1) dan hasil 10 iterasi pertama Gauss-Seidel
>
kepada nilai sekarang. Pada contoh ini ada asumsi yang implisit bahwa
nilai yang baru bergerak ke arah yang benar namun dengan sangat
berulang kali, maka diperlukan cara yang efisien, dan pemilihan nilai
>function
sor(A,b,w,x0,n)
endfunction
>A=[4,3,0;3,4,-1;0,-1,4]
4 3 0
3 4 -1
0 -1 4
>b=[24;30;-24]
24
30
-24
>w=1.25
1.25
>x0=[1;2;3]
1
2
3
>hasil=sor(A,b,w,x0,20)
Latihan Soal
1.) Soal No. 2a Latihan 7.3 Buku Numerical Analysis Edisi 9
>A=[4,1,-1;-1,3,1;2,2,5]
4 1 -1
-1 3 1
2 2 5
>b=[5;-4;1]
5
-4
1
>x0=[0;0;0]
0
0
0
>jacobit(A,b,x0,10)
>gaussseidel(A,b,x0,10)
0 0 0
1.25 -0.916667 0.0666667
1.49583 -0.856944 -0.0555556
1.45035 -0.831366 -0.0475926
1.44594 -0.835488 -0.0441821
1.44783 -0.835997 -0.0447317
1.44782 -0.835817 -0.0447996
1.44775 -0.835815 -0.0447756
1.44776 -0.835821 -0.0447754
1.44776 -0.835821 -0.0447762
1.44776 -0.835821 -0.0447761
>A\b
1.44776
-0.835821
-0.0447761
>w=1.005
1.005
>sor(A,b,w,x0,9)
2.) Selesaikan
>A=[1,5,3;1,-2,9;2,1,-1]
1 5 3
1 -2 9
2 1 -1
>b=[16;8;7]
16
8
7
>x0=[100;100;100]
100
100
100
>jacobit(A,b,x0,10)
>gausseidel(A,b,x0,10)A\b
3
2
1
3.) Selesaikan
>A=[1,-3,1;2,3,-1;3,-2,-2]
1 -3 1
2 3 -1
3 -2 -2
>b=[8;1;7]
8
1
7
>x0=[1;1;1]
1
1
1
>jacobit(A,b,x0,10)
1 1 1
10 0 -3
11 -7.33333 11.5
-25.5 -3.16667 20.3333
-21.8333 24.1111 -38.5833
118.917 2.02778 -60.3611
74.4444 -99.0648 172.847
-462.042 8.31944 207.231
-174.273 377.438 -704.882
1845.2 -118.445 -642.348
295.012 -1443.91 2882.74
>gausseidel(A,b,x0,10)
>A\b
3
-1
2
tersebut
jawab:
perbedaan
sebelumnya
persamaan
sebelumnya.
Sebuah Firma memproduksi sendiri rak buku dalam dua model, yaitu A dan
tinggi) dan waktu yang terbatas dari mesin pemroses. Tiap unit A
memperoleh 1.700 m2 papan tiap minggu dari pemasok sendiri. Tiap unit
30 menit. Setiap minggu memungkinkan total waktu mesin 160 jam. Jika
ternyata:
melalui produksi rak buku jenis A dan B di mana tiap jenis produksi
b) Terdapat sumber daya atau masukan (input) yang berada dalam keadaan
sendiri, yaitu tiap minggu 1700 m2, dan waktu kerja mesin pemroses
memenuhi:
Dalam kedua kasus ini, metode Jaccobi dapat digunakan untuk secara
penting untuk dicatat bahwa mungkin ada metode numerik lain yang lebih
Penyelesaian:
Misalkan jumlah uang lima ratusannya adalah x keping, maka jumlah uang
seribuannya adalah 50-x keping. Jumlah uang lima ratusan + jumlah uang
dari jumlah dua bilangan lain. Bilangan kedua sama dengan 1/4 dari
jawab:
Persamaan
>A=[1,1,1;1,-1,-1;1,-4,1]
1 1 1
1 -1 -1
1 -4 1
>b=[100;5;0]
100
5
0
>jacobit(A,b,x0,10)
>gausseidel(A,b,x0,10)
>A\b
52.5
20
27.5
Biaya Variabel
Bayangkan Anda naik taksi saat berlibur. Anda tahu bahwa layanan taksi
mil ke tempat tujuan dan “y” untuk mewakili biaya naik taksi tersebut,
Tarif
keduanya meminta Anda untuk bekerja 40 jam per minggu, perusahaan mana
menawarkan tingkat pembayaran yang lebih baik pada $ 11,25 per jam.
Penganggaran
Perencana pesta memiliki anggaran terbatas untuk acara yang akan
datang. Dia harus mencari tahu berapa biaya untuk kliennya untuk
menyewa ruang dan membayar per orang untuk makan. Jika biaya sewa
adalah 9,75,
persamaan ini, perencana pesta dapat mengganti sejumlah tamu pesta dan
Membuat Prediksi
Salah satu cara paling ampuh untuk menerapkan persamaan linier dalam
setelah enam bulan, panitia bisa berharap mendapat untung 700. Sementara
faktor dunia nyata tentu
Tetangga yang lain pun membeli beras di toko yang sama dengan Bu Riani
>A=[5,2,3;0,7,3;0,3,0]
5 2 3
0 7 3
0 3 0
>b=[132000;127000;39000]
132000
127000
39000
>jacobit(A,b,x0,10)
>gausseidel(A,b,x0,10)
>A\b
14000
13000
12000