ファイル入出力

ファイルからデータを読み書きする方法です


1.ファイルからの読み込み

(1) ファイルから2次元配列データをそのまま配列に入力する
>>a=load(“data.txt”) で読み込める.データ配列名はaとなる.データはスペースまたはタブ区切り.あるいは,
>>load data.txt でも同じ.データ配列名は,.txtを取った,dataとなる.

・読み込んだ2次元配列データを,1次元データにしたいとき.
>> f = data(:,1);
>> R = data(:,2);
>> X = dada(:,3);

・読み込んだデータの行の数,列の数を知りたいとき
>>N= size (data,1);  # 2次元配列dataの行数
>>M= size (data,2);  # 2次元配列dataの列数

(2) ファイルから2次元配列データの一部を配列に入力する
>> a = (load(“data.dat”))(:,[1,3,4]); ←1列目,3列目,4列目が抜き出されて入力される
>> a = (load(“data.dat”))(:,[1,3]); ←1列目と3列目が抜き出されて入力される

2.ファイルへの出力

(1) c言語のファイルへの出力と同様な方法
>>fid=fopen(‘data.txt’,’w’);   #ファイルのオープン
>>for i=1:N                                     # N個のデータを書式付で出力
>>    fprintf(fid,’%8.2f %12.3e\n’, f(i),R(i));    #ファイル出力
>>endfor
>>fclose(fid);                                  #ファイルのクローズ

(2) 配列をそのまま出力する
>> outfile = [f R X];        # f, R, Xの3つの一次元データを配列にした
>> save  -ascii  outfile.txt outfile # 配列outfileの中身を,outfile.txtに出力する