2011-10-19 13 views
-3

私はバイナリスレッドmatlabのデータを含むフラットファイルを読んでいます,,, どうすればいいですか? .datファイルで、実際の二重の数字は、バイナリとして保存され データmatlabからフラットファイルを読む

は、BinaryReaderにそれをラップし、FileStreamをを使用して、このファイル

答えて

1

を与え、あなたのデータはほとんど記憶に収まらなくなる場合は、私は通常fread

fileId = fopen('mybinaryfile.dat','r'); %# open the file for reading 
myData = fread(fileId,Inf,'double'); %# read everything (Inf) in the file as 'double' values 

を使用し、複数を使用してアクセスすることができます読み込み

sizeToRead = 10000;      %# limit size to 10000 values 
fileId = fopen('mybinaryfile.dat','r'); %# open the file for reading 

keepGoing=1;       %# initialize loop 
while(keepGoing) 
    %# read a maximum of 'sizeToRead' values 
    myData = fread(fileId,sizeToRead,'double'); 

    %# ... 
    %# process your data here  
    %# ... 

    %# make the loop stop if end of file is reached or error happened 
    if numel(myData) ~= sizeToRead 
    keepGoing=0; 
    end 
end 
+0

numel(myData)〜= sizeToRead keepGoing = 0の場合、巨大なデータファイルの処理コードが –

+0

に更新されました。終了 この状態は何ですか? – qwe

+0

また、ローランは、どうやってバイナリファイル内の特定の位置を探しますか?たとえばポインタ(カーソル)を0(始まり)から123 >>>に移動したいのですか? – qwe

0

オープンに感謝します。それはそうする多くの方法がありますが、あなたになどのreadDouble、のreadByte、などの方法

関連する問題