2012-01-12 12 views
0

私は私のコードは、私は別の0から8までのダブル、のfloat32、float64型と異なるskipvalueのような形式が、どれをテストしているだけで2行MATLAB freadを使ってtxtファイルを読むには?

fid = fopen('1.txt', 'r'); 
c = fread(fid,'double', skipvalue); 

ある

テキストファイルを読むためにfreadを使用するようにしてください組み合わせ作業の

データは、cプログラムコード fprintf(ファイル "%f \ n"、サンプル[i])によって記録されます。

サンプルデータ

-0.992224 
0.932078 
-0.474954 
-0.659479 
-0.994677 
-0.380766 
-0.643983 
0.425023 

答えて

1

textscan機能又はfscanfを試し(各行は、1つのデータのみを有しています)。

freadは、fwriteの対応語であり、fprintfではありません。

fscanfは、fprintfの対応語です。

絶対にfreadを使用する必要がある場合は、文字列(文字配列)を読み取り、sscanfを使用して数値データを抽出します。

+1

あなたにキスをください。あなたがすごく大好き。 – Marco

+0

@Ben - >読み込んだ行数を文字列として読み取っている間に、それを制御する方法はありますか?あなたの提案は素晴らしかったですが、私の.txtファイルが巨大なので、一度に(テキストスキャンを使用したくない!)「N」行を読みたいと思っていました。ありがとう... – Maddy

+0

@マディ:この質問は数値データを読むことです、なぜ文字列についての突然の懸念ですか? 'fscanf'に読み込む行の数を伝えることができます。そして、MatLabはファイル内のどこにいるかを覚えています(閉じていない限り)。同じファイルハンドルを持つ' fscanf'を使って、あなたは中断しました。 –

関連する問題