Menggunakan Fungsi Find di Matlab

Sehubungan dengan tugas mata kuliah Decision Support Technology (DST) yang saya ambil, saya diminta mengolah data yang tidak lazim, yang terkadang formatnya tidak baris dan kolom seperti yang diterapkan di beberapa sistem database. Kemampuan mengolah data yang tidak terstruktur menjadi data terstruktur agar dapat diolah dengan Matlab, mengharuskan kita terlatih dalam mengimport data baik dari database ataupun format data lainnya yang biasanya berformat dat, csv, xls, dan sejenisnya.

Baiklah di sini diandaikan kita telah berhasil mengimport data yang kita akan oleh. Pertama-tama kita praktekan mengolah data numerik. Buat data baru:

x = [2 5 7 4 3 3 3]

Maka Anda memiliki data suatu vektor. Jika seumpamanya kita ingin mencari data berisi angka 3, ketik instruksi berikut ini:

>> position = find(x==3)

position =

5 6 7

Maka anda akan memperoleh 5,6, dan 7 yang berarti posisi angka 3 ada di index 5,6, dan 7 dari vektor x.

Bagaimana jika datanya bukan numeric, misalnya string? Coba kita buka dulu sampel data:

str = ‘0.41 8.24 3.57 6.24 9.27’;

Data di atas merupakan data string, walaupun berisi angka di dalamnya. Kita akan mencari nilai numerik dari data tersebut dengan fungsi textscan.

C = textscan(str,’%f’);

C =

[5×1 double]

Tampak hasilnya adalah data C yang berisi cell dengan format membernya floating point yang diindikasikan dengan ‘%f’. Untuk melihat isi dari cell tersebut lakukan instruksi berikut ini:

celldisp(C)

C{1} =

0.4100

8.2400

3.5700

6.2400

9.2700

Hasilnya adalah nilai numerik dari data str yang tadinya berformat string. Gunakan fungsi find, misalnya kita akan mencari lokasi angka 9.27, gunakan instruksi:

find(C{1}==9.27)

ans =

5

Lokasi telah ditemukan di index 5 dari data C{1}. Ok, selamat mencoba dan mengutak-atik, jika ada masalah silahkan menghubungi situs resmi Matlab.

Iklan