2016-11-10 4 views
0

各行に数字を含むファイルを読んでみたい。ここで上記のように示すformat-カンマとタブで区切られた行を読む

0,0,0 1 0 0 0 
0.02,0.1,0.98 8.77 0.985292 0.112348 0.112348 
0.04,0.2,1.96 8.77 0.985292 0.112348 0.224696 

の一例であり、全ての残りの数が行のタブによって分離された後、最初の3つの数字は、コンマで区切られています。その結果、dlmreadまたはtextscanを使用することはできません。それを解決する方法はありますか?ありがとう!

+0

fscanfは、この[link](https://in.mathworks.com/help/matlab/ref/fscanf.html)で説明されているように使用できます。 'fscanf'では、ファイルのフォーマットを指定することができます。 –

答えて

2

はい、あなたはあなたの関数で2つのパラメータを追加する必要があります

Delimiter %choose the delimiter

MultipleDelimsAsOne %Treat Repeated Delimiters as One

オプション1:

小 "トリック" あなたがより選択することができます入力として構造体を指定すると、1つの区切り文字よりも大きくなります。{',',' '}

Result = textscan(fileID,'%f %f %f %f %f %f %f','Delimiter',{',',' '},'MultipleDelimsAsOne',1); 

オプション2:(それが動作するはずです)

今回私がMultipleDelimsAsOneを使用していないが、私は、正確な区切り文字がカンマまたは(\ tの)タブすることができます。

Result = textscan(fileID,'%f %f %f %f %f %f %f','Delimiter',{',','\t'}); 
関連する問題