MATLAB移民のためのJulia tips

MATLAB移民のためのJulia tips

何も考えずに速く計算できないのならば、何もやりたくない。

ファイル操作

一番基本的なことと、かゆいところだけ書きます。 全般的には、もっとちゃんと書いてある記事を参考にしてください。

ファイルの読み込み

open( "filename", "r" ) do fp
   for line in eachline( fp )
   ...
   end
end

もう少し具体的な例

N-by-2のテキストデータdata.txtを読み込んで、行列にしたい場合はこんなかんじ。

filename = "data.txt"
totalrows = countlines(open( filename, "r" ))
open( filename, "r" ) do fp
    cnt = 0
    dat = zeros(Int64,totalrows,2) # (ファイルの行数,2)のゼロ行列
    for line in eachline( fp ) # 行ごとに読み込む
    cnt += 1
        line = rstrip(line, '\n') # 改行消し。無くても大丈夫。
        u = split(line, " ") # スペース区切りで分割
        u1 = parse(Int64,u[1]) # 文字列を数値に変換
        u2 = parse(Int64,u[2])
        dat[cnt,1] = u1
        dat[cnt,2] = u2
    end
    println(dat) # 書き出してみる。
end

タブ区切りだったらsplit(line, "\t")

もっと詳しいことは、参考にさせていただいた、こちらのページをどうぞ。

Juliaでファイル操作 | mwSoft

ポインターを戻す

Pythonseek(0)。 Juliaでは、

seekstart(fp)

詳しくは

I/O and Network — Julia Language 0.5.1-pre documentation

ファイルへの書き込み

こんなかんじ。

fp = open("filename.txt","w")
write(fp, "Write something.\n")
close(fp)