Re: [vsnet-j 2768] Re:AIP4WIN problem? > わたしなら、Excelという表計算ソフトを使うと思います。 > 結果のファイルをそのまま読み込めると思います。 > #Excelは、買うと結構な値段がしますが、他にフリー表計算ソフトは、探せばい > くつかあると思います。 この程度の計算でしたら、Excel を買うまでもないで、awk ぐらいでも十分です。 実際に AIP4WIN の結果を直接送ってこられる方の処理は awk でやっています。 # Excel 通すと、変なところで有効数字を切ったりして、科学計測の結果として # 格好が悪いので、Excel 使われる場合も小数点以下は勝手にゼロ抑制しないよ # うにしておくとよいかと思います。 > ちなみに、Vsnet(というか、加藤さん)宛の報告なら、V-Cのままで構わないと > 思います。 はい、こちらはそれで結構です。比較星の光度を足してあるよりも、その方が扱い やすいです。 で、その後の処理ですが、awk で整形して、結局は .std file にしてから使い 慣れたツールで解析しています(^^;) awk -f script.awk file | tojst | unpack | addend Xyz みたいな感じ。awk 以外は DBVS2000 のコマンドで、DOS/Windows/UNIX のコマンド 名とぶつかる場合は適当に変えてください。 典型的な AIP4WIN output からの出力処理だったらこんな感じでしょうか。極めて 単純 (^^; BEGIN { printf("#OPHV2051\n"); } { jd = $11; mag = $8; printf("%.6f %.3f\n",jd,mag); } もうちょっと複雑なケースでは以下のようなのもあり。これも AIP4WIN の出力 整形に使ったものだが、JD の欄がないケースだった。 BEGIN { printf("#UMACI\n"); } { if ($5 != "") { jd = getut($2,$3,$4); } else if ($2 != "" && $5 == "") { if ($2 != "Bad") { printf("%.5f %.3f\n",jd + 2452729.5,$2); } } } function getut(a,b,c) { d = substr(a,9,2); h = substr(b,1,2); m = substr(b,4,2); s = substr(b,7,2); return d+(h-9)/24.0 + m/1440.0 + (s+c*0.5)/86400.0; } > そのうち面倒と思う様になれば、新しいことを憶える良いモチベーションになる > ので、良いと思います。 面倒だなあと思いながら、いつまでも面倒な作業を続けているような気がして ならないこのごろ (^^;
vsnet-adm@kusastro.kyoto-u.ac.jp