« Home | tips matlab (1) » | kata presiden: "hemat pemakaian BBM" » | gosip BBM » | rapor hasna » | percontohan » | Fliegen zum Taxipreise » | Roma kota Romawi dan Venesia kota Air » | pesta musim panas "Indianer" » | ni londo dapet hadiah » | WWF dan seafood » 

Thursday, July 07, 2005 

tips matlab (2) - baca/simpan bagian 1

Pada bagian ini saya akan mencoba memberikan tips bagaimana membaca dan menyimpan file data dalam berbagai format yang berbeda.

Dengan matlab kita dapat membaca file-file yang berformat ascii, csv (biasanya dari hasil upload alat-alat pengukuran oseanografi dimana masing-masing nilai dipisahkan oleh tanda koma) dan unformatted (hasil keluaran dari fortran). Juga file-file dengan format netcdf dan hdf yang banyak digunakan pada data-data meteorologi dan oseanografi.

Sedangkan untuk penulisan file, akan saya berikan bagaimana caranya menyimpan variabel-variabel hasil perhitungan (matriks dan vektor) dari program matlab anda ke dalam format ascii, csv (yang nanti bisa dibuka dengan excel) dan juga unformatted (yang nanti bisa dibaca oleh program fortran anda atau program tampilan seperti Grads).

Karena cukup panjang, maka tips matlab mengenai baca/simpan file ini akan dibagi menjadi beberapa. Bagian 1 ini akan membahas tentang membaca file dalam format ascii terlebih dahulu. Dalam uraian ini huruf miring menyatakan perintah sedangkan huruf tebal menyatakan data.

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);

pak agus...saya Ririen...saya mau tanya dong.
familiar dengan istilah *.segy atau *.sgy kah?
saya mau bertanya...matlab kan bisa membaca format yg barusan saya sebutkan itu...dan disimpan dalam bentuk matriks.
untuk membaca matriksnya itu..menggunakan syntax apa ya?
apakah beda dengan bila matlab membaca file dengan format *.jpg ?
ini berhubungan dengan bidang seismik sih...
terima kasih pak..

o iya....bisa dikirimkan balasannya ke
aisukurimu.lovers@gmail.com

Post a Comment

My Digest

About me

  • I'm agus set
  • From Hamburg, Germany
about me
Google

Powered by Blogger
and Blogger Templates
Listed on BlogShares