Praktikum Metode Komputasi (Matriks dalam Scilab)
Vina Apriliani December 17, 2015
Soal Latihan MATLAB Bab 2 Buku Leon ’Aljabar Linear’
Berikut 1 Soal Latihan MATLAB Bab 2 Buku Leon ’Aljabar Linear’
yang saya ambil untuk ditulis dengan LaTeX dan harus dikerjakan (2 digit terakhir NRP modulo jumlah soal di Latihan) yaitu Soal Nomor (6):
Gunakan MATLAB untuk membuat matriks A dengan mendefinisikan A = vander(1:6); A = A - diag(sum(A’))
a Dengan konstruksi di atas entri-entri dalam setiap baris dari A semuanya harus memiliki jumlah nol. Untuk memeriksa hal ini, definisikan x = ones(6,1) dan gunakan MATLAB untuk menghitung hasil kali Ax. Ma- triks A pasti singular. Mengapa? Terangkan. Gunakan fungsi-fungsi MATLAB det dan inv untuk menghitung nilai-nilai dari det(A) dan A−1. Fungsi MATLAB yang mana yang merupakan petunjuk yang dapat lebih diandalkan untuk singularitas?
Jawaban:
MATLAB: A = vander(1:6)
A =
1 1 1 1 1 1
32 16 8 4 2 1
243 81 27 9 3 1
1024 256 64 16 4 1 3125 625 125 25 5 1 7776 1296 216 36 6 1
 MATLAB: A = A - diag(sum(A’))
A =
−5 1 1 1 1 1
32 −47 8 4 2 1
243 81 −337 9 3 1
1024 256 64 −1349 4 1
3125 625 125 25 −3901 1
7776 1296 216 36 6 −9330
MATLAB: x = ones(6,1)
x =
 1 1 1 1 1 1
Ax =
 0 0 0 0 0 0
Matriks A pasti singular karena setiap baris dari matriks A memiliki jum- lah nol. Jika menggunakan fungsi invers pada MATLAB, maka hasil out- putnya Warning (close to singular or badly scaled).
MATLAB: det(A) = 10.2645 MATLAB: A−1 = inv(A) =
Warning: Matrix is close to singular or badly scaled.
Results may be inaccurate. RCOND = 1.940578e-019.
1.0e+013∗
−7.0369 −0.2840 −0.0301 −0.0063 −0.0020 −0.0008
−7.0369 −0.2840 −0.0301 −0.0063 −0.0020 −0.0008
−7.0369 −0.2840 −0.0301 −0.0063 −0.0020 −0.0008
−7.0369 −0.2840 −0.0301 −0.0063 −0.0020 −0.0008
−7.0369 −0.2840 −0.0301 −0.0063 −0.0020 −0.0008
−7.0369 −0.2840 −0.0301 −0.0063 −0.0020 −0.0008
 Fungsi MATLAB yang merupakan petunjuk yang dapat lebih diandalkan untuk singularitas adalah invers (inv) karena suatu matriks A dikatakan singular jika tidak memiliki invers atau det(A) = 0. Dari soal di atas, terlihat bahwa walaupun det(A) tidak sama dengan nol, namun inversnya tidak ada, sehingga A adalah matriks singular (jadi jangan hanya melihat dari determinannya saja). Selain itu, dapat juga dengan cara menghitung bentuk eselon baris tereduksi dari matriks tersebut untuk memeriksa sin- gularitasnya.
b Gunakan MATLAB untuk menghitung det(AT). Apakah nilai-nilai yang dihitung untuk det(A) dan det(AT) sama? satu cara lain untuk memeriksa apakah suatu matriks adalah singular ialah menghitung bentuk eselon baris tereduksinya. Gunakan MATLAB untuk menghitung bentuk-bentuk eselon baris tereduksi dari A dan AT.
Jawaban:
MATLAB: det(AT) = -0.0736
Nilai-nilai yang dihitung untuk det(A) dan det(AT) tidak sama.
MATLAB: Bentuk eselon baris tereduksi dari A:
eselonA = rref (A) =
1 0 0 0 0 −1 0 1 0 0 0 −1 0 0 1 0 0 −1 0 0 0 1 0 −1 0 0 0 0 1 −1 0 0 0 0 0 0
 MATLAB: Bentuk eselon baris tereduksi dari AT:
eselonAT = rref (A0) = 1.0e+003∗
0.0010 0 0 0 0 −8.9213
0 0.0010 0 0 0 −0.3601
0 0 0.0010 0 0 −0.0381
0 0 0 0.0010 0 −0.0080
0 0 0 0 0.0010 −0.0025
0 0 0 0 0 0
c Definisikan B = A*A’. Nilai eksak dari det(B) harus sama dengan 0. Men- gapa? Terangkan. Gunakan MATLAB untuk menghitung det(B). Apakah nilai yang dihitung untuk determinan sama atau hampir sama dengan nilai eksak? Hitunglah bentuk eselon baris tereduksi dari B untuk memeriksa bahwa matriks B adalah memang betul singular.
Jawaban:
B = A*A’
B =
30 −192 −1458 −6144 −18750 −46656
−192 3318 1316 15861 63924 180474
−1458 1316 179270 235872 756398 1912764
−6144 15861 235872 2938026 3318672 8250354
−18750 63924 756398 3318672 25390302 25105164
−46656 180474 1912764 8250354 25105164 149242680
 Nilai eksak dari det(B) harus sama dengan 0 karena matriks B diperoleh dari perkalian matriks A dengan transposenya.
MATLAB: det(B) = 0
Nilai yang dihitung untuk determinan sama dengan nilai eksak.
Bentuk eselon baris tereduksi dari B:
eselonB = rref (B) = 1.0e+003∗
0.0010 0 0 0 0 −8.9213
0 0.0010 0 0 0 −0.3601
0 0 0.0010 0 0 −0.0381
0 0 0 0.0010 0 −0.0080
0 0 0 0 0.0010 −0.0025
0 0 0 0 0 0
 MATLAB: rank(rref(B)) = 5
Terlihat bahwa eselon baris tereduksi dari matriks B memiliki rank(rref(B))
= 5, lebih kecil dari ukurannya (n = 6) sehingga matriks B adalah me- mang betul matriks singular.
Berikut Modifikasi Soal Nomor (6) menjadi soal untuk dikerjakan dalam Scilab:
Gunakan SCILAB untuk membuat matriks A dengan mendefinisikan A = [1:6]’; A = [A.5A.4A.3A.2A.1A.0]; A = A − diag(sum(A0, ”r”)) a Dengan konstruksi di atas entri-entri dalam setiap baris dari A semuanya
harus memiliki jumlah nol. Untuk memeriksa hal ini, definisikan x = ones(6,1) dan gunakan SCILAB untuk menghitung hasil kali Ax. Matriks A pasti singular. Mengapa? Terangkan. Gunakan fungsi-fungsi SCILAB det dan inv untuk menghitung nilai-nilai dari det(A) dan A−1. Fungsi SCILAB yang mana yang merupakan petunjuk yang dapat lebih dian- dalkan untuk singularitas?
Jawaban:
SCILAB: A = [1:6]’
A =
 1 2 3 4 5 6
SCILAB: A = [A.5A.4A.3A.2A.1A.0]
A =
1 1 1 1 1 1
32 16 8 4 2 1
243 81 27 9 3 1
1024 256 64 16 4 1 3125 625 125 25 5 1 7776 1296 216 36 6 1
SCILAB : A = A − diag(sum(A0, ”r”))
A =
−5 1 1 1 1 1
32 −47 8 4 2 1
243 81 −337 9 3 1
1024 256 64 −1349 4 1
3125 625 125 25 −3901 1
7776 1296 216 36 6 −9330
SCILAB : x = ones(6, 1)
x =
 1 1 1 1 1 1
Ax =
 0 0 0 0 0 0
Matriks A pasti singular karena setiap baris dari matriks A memiliki jum- lah nol. Jika menggunakan fungsi invers pada SCILAB, maka hasil out- putnya Warning (close to singular or badly scaled).
SCILAB: det(A) = 10.264473 SCILAB: A−1 = inv(A) =
Warning: matrix is close to singular or badly scaled. rcond = 1.9406D-19.
1011∗
−703.68744 −28.402179 −3.0063022 −0.6316851 −0.1980289 −0.0788773
−703.68744 −28.402179 −3.0063022 −0.6316851 −0.1980289 −0.0788773
−703.68744 −28.402179 −3.0063022 −0.6316851 −0.1980289 −0.0788773
−703.68744 −28.402179 −3.0063022 −0.6316851 −0.1980289 −0.0788773
−703.68744 −28.402179 −3.0063022 −0.6316851 −0.1980289 −0.0788773
−703.68744 −28.402179 −3.0063022 −0.6316851 −0.1980289 −0.0788773
 Fungsi SCILAB yang merupakan petunjuk yang dapat lebih diandalkan
untuk singularitas adalah invers (inv) karena suatu matriks A dikatakan singular jika tidak memiliki invers atau det(A) = 0. Dari soal di atas, terlihat bahwa walaupun det(A) tidak sama dengan nol, namun inversnya tidak ada, sehingga A adalah matriks singular (jadi jangan hanya melihat dari determinannya saja). Selain itu, dapat juga dengan cara menghitung bentuk eselon baris tereduksi dari matriks tersebut untuk memeriksa sin- gularitasnya.
b Gunakan SCILAB untuk menghitung det(AT). Apakah nilai-nilai yang di- hitung untuk det(A) dan det(AT) sama? satu cara lain untuk memeriksa apakah suatu matriks adalah singular ialah menghitung bentuk eselon baris tereduksinya. Gunakan SCILAB untuk menghitung bentuk-bentuk eselon baris tereduksi dari A dan AT.
Jawaban:
SCILAB: det(AT) = -0.0736358
Nilai-nilai yang dihitung untuk det(A) dan det(AT) tidak sama.
SCILAB: Bentuk eselon baris tereduksi dari A:
eselonA = rref (A) =
1 0 0 0 0 −1 0 1 0 0 0 −1 0 0 1 0 0 −1 0 0 0 1 0 −1 0 0 0 0 1 −1 0 0 0 0 0 0
 SCILAB: Bentuk eselon baris tereduksi dari AT:
eselonAT = rref (A0) =
1 0 0 0 0 −8921.287 0 1 0 0 0 −360.0803 0 0 1 0 0 −38.113633 0 0 0 1 0 −8.0084476 0 0 0 0 1 −2.5105928
0 0 0 0 0 0
c Definisikan B = A*A’. Nilai eksak dari det(B) harus sama dengan 0. Men- gapa? Terangkan. Gunakan SCILAB untuk menghitung det(B). Apakah nilai yang dihitung untuk determinan sama atau hampir sama dengan nilai eksak? Hitunglah bentuk eselon baris tereduksi dari B untuk memeriksa bahwa matriks B adalah memang betul singular.
Jawaban:
B = A*A’
B =
30 −192 −1458 −6144 −18750 −46656
−192 3318 1316 15861 63924 180474
−1458 1316 179270 235872 756398 1912764
−6144 15861 235872 2938026 3318672 8250354
−18750 63924 756398 3318672 25390302 25105164
−46656 180474 1912764 8250354 25105164 1.492D + 08
 Nilai eksak dari det(B) harus sama dengan 0 karena matriks B diperoleh dari perkalian matriks A dengan transposenya.
SCILAB: det(B) = 0
Nilai yang dihitung untuk determinan sama dengan nilai eksak.
Bentuk eselon baris tereduksi dari B:
eselonB = rref (B) =
1 0 0 0 0 −8921.287 0 1 0 0 0 −360.0803 0 0 1 0 0 −38.113633 0 0 0 1 0 −8.0084476 0 0 0 0 1 −2.5105928
0 0 0 0 0 0
 SCILAB: rank(rref(B)) = 5
Terlihat bahwa eselon baris tereduksi dari matriks B memiliki rank(rref(B))
= 5, lebih kecil dari ukurannya (n = 6) sehingga matriks B adalah me- mang betul matriks singular.