Baca file ASCII dgn Matlab

10 08 2005

Pada tulisan kali ini saya akan mencoba membahas tentang membaca file dalam format ASCII dalam berbagai bentuk yang umumnya ada dalam bidang oseanografi.

Jika jumlah kolom pada setiap baris dari file ASCII yang hendak dibaca seragam (jadi membentuk sebuah matriks m baris x n kolom), maka kita dapat memanggilnya dengan cara berikut:

misalnya kita memiliki data kecepatan dan arah arus laut ‘arus.dat’ :

1.0 180.0
1.5 220.0
2.0 270.0

cara pertama:

arus=load(‘arus.dat’);
kec = arus(:,1);
arah = arus(:,2);

cara kedua:

[kec arah] = textread(‘arus.dat’,’%f %f’)

Namun kadangkala juga kita mempunyai file data dengan kategori di atas namun pada baris pertama terdapat header seperti (misalnya nama file data adalah ‘arus.dat’):

kec arah
1.0 180.0
1.5 220.0
2.0 270.0

untuk membacanya, berikan perintah:

[kec arah] = textread(‘arus.dat’,’%f %f’,’headerlines’,1)

Jika pada file yang kita miliki terdapat jumlah kolom yang tak seragam, misalnya kita memiliki data pengukuran elevasi pasang surut setiap jam ‘pasut.dat’ dengan format:

1.0 1.1 1.2
1.3 1.4 1.5 1.6
1.7 1.9

maka untuk membacanya dapat digunakan perintah:

elevasi = textread(‘pasut.dat’, ‘%f’)

atau jika pada baris pertama terdapat header seperti di bawah ini:

data pasut Riau
1.0 1.1 1.2
1.3 1.4 1.5 1.6
1.7 1.9

maka dapat dugunakan perintah:

elevasi = textread(‘pasut.dat’, ‘%f’, ‘headerlines’,1 )

Jika kita memiliki data ‘arus1.dat’ yang merupakan data pengamatan arus dengan selang pengukuran 1 jam yang dipisahkan oleh tanda koma (format csv, biasanya hasil upload dari alat pengukuran sepertu current meter menggunakan format ini) seperti:

data arus Riau
dd/mm/yyyy,hh:mm:ss,kec,arah
1/1/2000,00:00:00,1.0,180.0
1/1/2000,01:00:00,1.5,220.0
1/1/2000,02:00:00,2.0,270.0

maka kita dapat membaca harga kecepatan dan arah arus dengan perintah:

arus = csvread(‘arus1.dat’, 2, 2);

dimana angka 2 yang pertama pada perintah di atas berarti kita mulai pembacaan data setelah 2 baris pertama diabaikan, dan angka 2 yang kedua berarti kita mulai pembacaan data setelah 2 kolom pertama diabaikan.

selanjutnya kita dapat mendefiniskan kecepatan dan arah arus dengan perintah:

kec = arus(:,1);
arah = arus(:,2);

Selamat mencoba! Dalam kesempatan lain, jika ada cukup waktu, saya akan mencoba untuk menulis artikel tentang bagaimana membaca file data dalam format biner/unformatted.


Actions

Information

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s




%d bloggers like this: