Jumat, 10 Desember 2010

Matriks Pentadiagonal

I Sistem Matriks Pentadiagonal
Matriks pentadiagonal adalah matriks yang mirip matriks diagonal, dimana matriks yang elemen tak nol berada pada diagonal utama dan yang lain berada pada diagonal 1 dan 2 diatas dan dibawah diagonal utama.
Bentuk umum matriks pentadiagonal sebagai berikut :




II Fungsi Pembentuk Matriks Pentadiagonal
Untuk membentuk matriks pentadiagonal dapat dibangun fungsi penyusun dengan susunan elemen tak nol membentuk diagonal pada diagonal utama dan sekitar diagonal utama.
Berdasarkan definisi keempat elemen selain diagonal utama berada disebelah diagonal utama. Pada fungsi ini dapat dimodifikasi posisi dari diagonal utama. Dengan variabel jarak fungsi dapat menyusun keberadaan elemen disebelah kanan dan sebelah bawah diagonal utama. Misalkan diberi jarak 1 berarti posisi secara default sama dengan matriks pentadiagonal awal, jika diberi jarak 2 maka posisi elemen disebelah kanan diagonal utama dimulai pada kolom ke-3 dan kolom ke-4 sedangkan sebelah bawah diagonal dimulai pada baris ke-3 dan baris ke-4.
Fungsi akan membangun pola matriks pentadiagonal secara otomatis untuk ukuran matriks tertentu.
Fungsi dibangun dengan program MATLAB 7.6.0(R2008a) sebagai berikut :

1. fungsi 1
function m=matrikspentadiagonal(nm,jarak)
a1=input('input elemen a:');
b1=input('input elemen b:');
c1=input('input elemen c:');
d1=input('input elemen d:');
e1=input('input elemen e:');
m=zeros(nm);
m(1,1)=[c1];
m(1,2)=[d1];
m(1,(nm+jarak+2)-nm)=[e1];
m(2,1)=[b1];
m((nm+jarak+2)-nm,1)=[a1];

for i=2:nm
for j=2:nm
m(i,j)=m(i-1,j-1);
end
end
end

2. Modifikasi
%Fungsi menyusun matriks pentadiagonal
%Input : ukuran matriks nm, jarak : posisi elemen dari diagonal utama
% jarak 1 : elemen lain berjarak 1 dari diagonal utama
%Output : matriks pentadiagonal nxn
%********************************************************************
function m=matrikspentadiagonal(nm,jarak)
a1=input('input elemen a:');
b1=input('input elemen b:');
c1=input('input elemen c:');
d1=input('input elemen d:');
e1=input('input elemen e:');
m=zeros(nm);
m(1,1)=[c1];
m(1,(nm+jarak+1)-nm)=[d1];
m(1,(nm+jarak+2)-nm)=[e1];
m((nm+jarak+1)-nm,1)=[b1];
m((nm+jarak+2)-nm,1)=[a1];

for i=2:nm
for j=2:nm
m(i,j)=m(i-1,j-1);
end
end
end

III. Hasil Output
Hasil ujicoba terhadap fungsi untuk beberapa ukuran matriks dan jarak sebagai berikut :
a. Output fungsi 1, Matriks ukuran : 5x5
>> matrikspentadiagonal(5,1)
input elemen a:1
input elemen b:1
input elemen c:-4
input elemen d:1
input elemen e:1

ans =

-4 1 1 0 0
1 -4 1 1 0
1 1 -4 1 1
0 1 1 -4 1
0 0 1 1 -4

>> matrikspentadiagonal(5,2)
input elemen a:1
input elemen b:1
input elemen c:-4
input elemen d:1
input elemen e:1

ans =

-4 1 0 1 0
1 -4 1 0 1
0 1 -4 1 0
1 0 1 -4 1
0 1 0 1 -4

Bandingkan dengan fungsi 2 berikut ini :
>> matrikspentadiagonal(5,1)

ans =

4 -1 -1 0 0
-1 4 -1 -1 0
-1 -1 4 -1 -1
0 -1 -1 4 -1
0 0 -1 -1 4

>> matrikspentadiagonal(5,2)

ans =

4 0 -1 -1 0
0 4 0 -1 -1
-1 0 4 0 -1
-1 -1 0 4 0
0 -1 -1 0 4

>> matrikspentadiagonal(5,3)

ans =

4 0 0 -1 -1
0 4 0 0 -1
0 0 4 0 0
-1 0 0 4 0
-1 -1 0 0 4



b. Output fungsi 1
>> matrikspentadiagonal(10,1)
input elemen a:1
input elemen b:1
input elemen c:-4
input elemen d:1
input elemen e:1

ans =

-4 1 1 0 0 0 0 0 0 0
1 -4 1 1 0 0 0 0 0 0
1 1 -4 1 1 0 0 0 0 0
0 1 1 -4 1 1 0 0 0 0
0 0 1 1 -4 1 1 0 0 0
0 0 0 1 1 -4 1 1 0 0
0 0 0 0 1 1 -4 1 1 0
0 0 0 0 0 1 1 -4 1 1
0 0 0 0 0 0 1 1 -4 1
0 0 0 0 0 0 0 1 1 -4
c.Output fungsi 2
Matriks ukuran : 10x10 dengan jarak dari diagonal utama 1 dan 4 dengan nilai elemen penyusun yang berbeda-beda yaitu a:-1,b:2,c:4,d:-2,e=1
ans =

4 -2 1 0 0 0 0 0 0 0
2 4 -2 1 0 0 0 0 0 0
-1 2 4 -2 1 0 0 0 0 0
0 -1 2 4 -2 1 0 0 0 0
0 0 -1 2 4 -2 1 0 0 0
0 0 0 -1 2 4 -2 1 0 0
0 0 0 0 -1 2 4 -2 1 0
0 0 0 0 0 -1 2 4 -2 1
0 0 0 0 0 0 -1 2 4 -2
0 0 0 0 0 0 0 -1 2 4

>> matrikspentadiagonal(10,4)

ans =

4 0 0 0 -2 1 0 0 0 0
0 4 0 0 0 -2 1 0 0 0
0 0 4 0 0 0 -2 1 0 0
0 0 0 4 0 0 0 -2 1 0
2 0 0 0 4 0 0 0 -2 1
-1 2 0 0 0 4 0 0 0 -2
0 -1 2 0 0 0 4 0 0 0
0 0 -1 2 0 0 0 4 0 0
0 0 0 -1 2 0 0 0 4 0
0 0 0 0 -1 2 0 0 0 4

IV Kesimpulan
1. Dengan fungsi diatas pola matriks pentadiagonal dapat dibagun secara berurutan pada matriks ukuran tertentu. Fungsi secara iteratif akan menulis nilai matriks pada baris ke-i dan kolom ke-j dengan nilai matriks sebelumnya pada baris ke i-1 dan kolom j-1.
2. Elemen-elemen tak nol lain selain diagonal utama dapat dimodifikasi susunan dari baris dan kolom tertentu.

Tidak ada komentar:

Posting Komentar

tentang saya

Foto saya
Blog ini telah bertransformasi dan fokus pada tulisan di bidang TIK, info akademik, pembahasan soal-soal dari matakuliah informatika