[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

[vsnet-j 2770] Re: AIP4WIN problem?



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;
}

> そのうち面倒と思う様になれば、新しいことを憶える良いモチベーションになる
> ので、良いと思います。

 面倒だなあと思いながら、いつまでも面倒な作業を続けているような気がして
 ならないこのごろ (^^;


Return to Home Page

Return to the Daisaku Nogami

vsnet-adm@kusastro.kyoto-u.ac.jp

Powered by ooruri technology