複雑なデータの読み取り

生データファイルが

#コメント
#コメント
#コメント …
データ1a  データ2a  データ3a
データ1b  データ2b  データ3b
データ1c  データ2c  データ3c

のように並んでいて、さらにデータ3をx軸、データ2をy軸としてプロットやフィッティングを行いたいとする。
Gnuplotならコメントは自動的に飛ばしてくれるし、
plot “ファイル名” u 3:2
で一発だが、Mathematicaではそう簡単にはいかない。

まずデータをすべて読み込み、要素数が3かつそのすべてが数値データであるリストのみを抽出し、新たにTableを定義すれば、そのままプロットできるデータリストが手に入る。

tmp = Import["パス付きのファイル名", "Data"];
tmp2 = Cases[tmp, {_?NumericQ, _?NumericQ, _?NumericQ}, Infinity];
datax = tmp2[[All, 3]];
datay = tmp2[[All, 2]];
iv = Table[{datax[[i]], datay[[i]]}, {i, 1, Length[datax]}];

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です