1

カンマ区切りのデータファイルをMatlabに読み込む方法についてアドバイスはありますか?ヘッダー情報が複数行あるため、単純なソリューション(dlmread、fscanfなど)は機能していないようです。私が解決策に最も近いのは次のとおりです。

C=textscan(datafile)
G=cell2mat(C{1,1}(34:endoffile)}) //34 is the line the data starts
V=str2num(G)

ここでの問題は、たとえばデータが次のようになることです。

;1.0345,937,18,763
;1.0355,947,4,652
etc.

マトリックスに変換する場合、セル内のすべての文字列は同じサイズである必要があります。そうでない場合、「vertcat」を使用したエラーが発生します。他に選択肢がない場合は、メモ帳などのヘッダーを削除することもできますが、多くのファイルがある場合、これは面倒な作業になります。

4

1 に答える 1

5

DLMREADは、開始行/列パラメーター、または代わりに範囲パラメーターを受け入れます。したがって、データが10行目から始まる場合は、試すことができます

V = dlmread(datafile, '', 9, 0);

TEXTSCANを好む場合はHeaderLines、スキップする数を指定できます。

V = textscan(datafile, ..., 'HeaderLines', 10, ...);

詳細については、ドキュメンテーション ページの「ユーザー設定可能なオプション」までスキャンしてください。

于 2010-04-29T07:19:13.293 に答える