Selasa, 14 April 2020

Penyortiran dan Pengindeksan Elemen Matriks di MATLAB

Mengurutkan Elemen Matriks 

      Dalam beberapa perhitungan, kita kadang perlu mengurutkan (sorting) data dalam suatu urutan tertentu. Dalam MATLAB, perintah sort digunakan untuk menyelesaikan masalah tersebut.

Contoh 1
>> x = randperm(10)
x =
10    8    6    7    3    9    5    4    1    2

%mengurutkan dari yang terkecil ke terbesar
>> y = sort(x)
y =
1     2    3    4    5    6    7    8    9    10

%menampilkan urutan beserta indeksnya
>> [y,idx] = sort(x)
y =
   1     2    3    4    5    6    7    8    9    10
idx =
   9    10    5    8    7    3    4    2    6    1

%mengurutkan dari yang terbesar ke terkecil
>> z = y(end:-1:1)
z =
   10    9    8    7    6    5    4    3    2    1
Mencari Indeks dan Elemen Suatu Matriks


Jika ingin mengetahui indeks dan nilai elemen tak nol suatu matriks yang memenuhi syarat tertentu, kita bisa menggunakan perintah find.
Contoh 2
>> X = [1  0  2; 0  1  1; 0  0  4]
X =
     1     0     2
     0     1     1
     0     0     4

%menampilkan indeks dari elemen matriks X yang tak-nol
>> k=find(X)
k =
     1
     5
     7
     8
     9
Dari hasil di atas, dapat diamati bahwa k menampilkan indeks dari anggota-anggota matriks X tak nol yang dihitung menurut kolom.
>> X=magic(3)
X =
     8     1     6
     3     5     7
     4     9     2

%menampilkan indeks elemen matriks X kurang dari 5
>> k = find(X<5 5="" font="">
k =
     2
     3
     4
     9
%menampilkan 2 indeks pertama matriks X kurang dari 5
>> k = find(X<5 5="" span="">
<5 font="">
k =
     2
     3
>> A = [1  2  3  6  7  10]
A =
     1     2     3     6     7    10

%menampilkan indeks elemen 6 dari matriks A
>> k=find(A==6)
k =
     4

Artikel terkait: Operasi Matriks menggunakan MATLAB

Kita juga bisa menampilkan indeksnya dalam bentuk indeks baris dan kolom seperti contoh berikut.
Contoh 3
>> B = [3  4  5; 6  7  8; 1  2  5]
B =
     3     4     5
     6     7     8
     1     2     5
>> [r,c]=find(B>5)
r =
     2
     2
     2
c =
     1
     2
     3
r menunjukkan baris (row) dan c menunjukkan kolom (column).
>> [r,c]=find(B==8)    
r =
     2
c =

Tidak ada komentar:

Posting Komentar