MANIPULASI INDEKS MATRIKS
Untuk vektor :
nama_vektor(indeks)
Untuk matriks :
nama_matriks(indeks_baris, indeks_kolom)
Dalam suatu vektor, elemen pertama diberi indeks = 1, sementara dalam matriks, indeks menunjukkan nomor baris dan nomor kolom dari elemen yang ingin ditunjuk.
3.1. Operator Titik Dua
Kita juga bisa mengambil beberapa baris dan kolom sekaligus dari suatu matriks dengan operator titik-dua (:). Dalam hal ini tanda titik-dua berarti “sampai dengan”. Misalkan untuk mengambil elemen ke-1 sampai ke-3 dari vektor_ini
>> vektor_ini(1:3)
ans = 1 3 5
Mengembil elemen ke-3 sampai ke-5 dari vector_itu
>> vektor_itu(3:5) ans =
7
6
5
Mengambil elemen baris ke-1 sampai ke-2, kolom sampai ke-3 matrix.
>> matrix(1:2,2:3)
ans =
20 30
50 60
Dalam hal ini tanda titik-dua bias berarti “seluruhnya”. Misalkan untuk mengambil seluruh elemen dari vektor_ini
>> vektor_ini(:)
ans =
1 3 5 7 9
Mengambil seluruh baris dan kolom dari matrix
>> matrix(:,:)
ans =
10 20 30
40 50 60
70 80 90
Mengambil seluruh elemen di baris ke-1 dari matrix
>> matrix(1,:)
ans =
10 20 30
Mengambil seluruh elemen di kolom ke-2 dari matrix
>> matrix(:,2)
ans =
20
50
80
Mengambil seluruh elemen di kolom ke-2 dan ke-3 dari matrix
>> matrix(:,2:3)
ans =
20 30
50 60
80 90
Dengan menggunakan indeks, kita bisa mengubah nilai elemen matriks yang telah ada.
>> vektor_ini(1)=1000
vektor_ini = 1000 3 5 7 9
>> vektor_itu(2:4)=[-1; –1; –1]
vektor_itu =
9
-1
-1
-1
5
>> matrix(3,:)=100*ones(1,3)
matrix =
10 20 30
40 50 60
100 100 100
3.2. Membuat Deret
Deret bilangan merupakan hal yang kerap kita temui dalam pengolahan data, terutama berkaitan dengan plot data dan proses iterasi (perhitungan berulang-ulang). Misalkan kita memiliki data tegangan suatu baterai pada setiap menit selama 1 jam. Dalam menyajikan data “waktu”, kita harus membuat vector berisi deret. Kita tentunya bisa melakukannya secara manual seperti ini :
>> time=[1, 2, 3, 4, …, 60]
Tetapi akan lebih efisien jika deret diciptakan menggunakan operator titik-dua. Formulanya adalah :
deret = nilai_awal : inkremen : nilai_akhir
Inkremen harus bilangan bulat positif atau negatif khusus untuk inkremen = 1:
deret = nilai_awal : nilai_akhir
Sehingga kita bisa tuliskan
>>time = 1:60
PENTING
Bedakan operator titik-dua untuk manipulasi indeks matriks dengan operator titik-dua untuk membuat deret. Untuk membedakannya ingatlah selalu bahwa indeks selalu berada di dalam tanda kurung ().
Di dalam Matlab, pembuatan deret juga bisa digunakan dengan command berikut ini.
a. linespace(a,b,n), Membuat vektor baris berisi n titik yang terpisah merata secara linear antara a dan b
b. logspace(a,b,n), Membuat vektor baris berisi n titik yang terpisah merata secara logaritmik antara 10^a dan 10^b. Command ini biasa digunakan untuk menghitung respon frekuensi suatu sistem.
3.3. Membentuk Ulang Matriks
Terdapat beberapa command yang bias digunakan untuk menukar, merotasi, dan menyusun kembali elemen matriks.
a. fliplr(A), menukar posisi elemen matriks A secara melintang, yaitu sebelah kiri ditukar dengan sebelah kanan.
b. flipud(A), Menukar posisi elemen matriks A secara membujur, yaitu sebelah atas ditukar dengan sebelah bawah.
c. rot90(A), Merotasi posisi elemen matriks A berlawanan arah jarum jam sejauh 90 derajat.
d. reshape(A,m,n), Menyusun ulang elemen matriks A menjadi berukuran mxn. Harus diingat bahwa jumlah elemen A harus sama dengan mxn.
Contoh :
1. Buatlah deret berikut ini dengan operator titik-dua, linspace, dan logspace :
x = -10, -9, -8, ... , 8, 9, 10
y = 7,5 , 7,0 , 6,5 , 6,0 , ... , 0,5 , 0
z = 1, 4, 7, 10, 13, ... , 100
w = 0,001 , 0,01 , 0,1 , 1 , 10 , ... , 106
x = -10, -9, -8, ... , 8, 9, 10
y = 7,5 , 7,0 , 6,5 , 6,0 , ... , 0,5 , 0
z = 1, 4, 7, 10, 13, ... , 100
w = 0,001 , 0,01 , 0,1 , 1 , 10 , ... , 106
X=
Penjelasan:
Himpunan X adalah deret angka dari -10 sampai 10, dan selisih dari setiap
bilangan adalah 1 maka kita tidak harus menuliskan angka 1 diantara -10 dan 10
karena itu akan otomatis.
Penjelasan:
Atau juga kita bisa menggunakan fungsi linspace seperti ini, yaitu kita menuliskan
pojok kanan dan pojok kiri angka yaitu -10 dan 10 lalu kita ketikkan jumlah
angka yang diinginkan yaitu 21, karena angka-angka itu akan bisa dibagi sama
rata dengan selisih 1 jika kita ciptakan 21 ruang bagi mereka.
Y=
Penjelasan:
Himpunan Y adalah deret bilangan dari 7,5 sampai 0 dengan selisih -0,5, maka yang ketikkan
pertama kali adalah angka pojok kiri, lalu kita ketikkan selisihnya karena itu adalah menurun maka selisihnya adalah min
(-) dan yang terakhir kita ketikkan angka pojok kanan.
Penjelasan:
Atau kita juga bisa menggunakan fungsi linspace, yaitu dengan kita mengetikkan
angka pojok kiri lalu angka pojok kanannya dan banyaknya bilangan yang dapat
menampung angka-angka tersebut yaitu 16
Z=
Penjelasan:
Himpunan Z adalah deret angka dari 1 sampai 100 dengan selisih 3, maka yang
kita ketikkan pertama kali adalah angka pojok kirinya, lalu kita ketik selisih
didalam himpunan tersebut, selanjutnya kita tulis angka pojok kanannya.
Penjelasan:
Atau kita bisa menggunakan fungsi linspace yaitu dengan kita mengetikkan angka
pojok kirinya lalu pojok kanan setelahnya kita ketikkan banyaknya bilangan yang
dapat menampung angka-angka tersebut.
W=
Penjelasan:
Kita menggunakan fungsi logspace disini dengan mengetikkan pangkat pertama lalu
pangkat kedua dan banyaknya bilangan yang dapat menampung angka-angka tersebut.
1. Buatlah matriks N yang berisi kolom pertama hingga keempat
dari matriks M berikut :
Penjelesan: Pertama kita mengubah
matrix M menjadi matrix N dengan mengetikkan
>>
N=[1 5 10 15; 1 2 4 8; -3 0 3 6; 32 16 8 4; 5 -5 5 -5]
Penjelasan: Untuk menukar kolom 1
dengan kolom 4 dan kolom 2 dengan kolom 3, maka kita gunakan fungsi fliplr(N)
karena fungsinya yang menukar letak data secara vertikal atau melintang.
Penjelasan: Untuk menukar baris 1
dengan baris 5 dan baris 2 dengan baris 4 maka kita gunakan fungsi flipud(N)
karena fungsinya yang menukar letak data secara horizontal atau membujur.
Penjelasan: Untuk merubah bentuknya
menjadi 10x2 maka kita gunakan fungsi reshape(N,10,2) yaitu mengubah matrix N
menjadi ukuran 10x2
Penjelasan: Untuk merubah bentuknya
menjadi 4x5 maka kita gunakan fungsi reshape(N,4,5) yaitu mengubah matrix N
menjadi ukuran 4x5
Terimakasih
Tidak ada komentar:
Posting Komentar