これは日々の作業を通して学んだことや毎日の生活で気づいたことをを記録しておく備忘録である。
HTML ファイル生成日時: 2024/12/23 15:49:04.419 (台灣標準時)
Astropy にも似たような機能があるが、 Pint という Python モジュールにも、 単位を含む数値を使った計算や単位の変換ができるようだ。
実行結果は以下の通り。#!/usr/pkg/bin/python3.9 # Time-stamp: <2022/04/10 10:39:00 (CST) daisuke> import pint # # units # ur = pint.UnitRegistry () u_deg = ur.degree u_rad = ur.radian u_arcmin = ur.arcmin u_arcsec = ur.arcsec u_mas = ur.mas u_pc = ur.pc u_au = ur.au u_m = ur.metre # angle a angle_a = 180.0 * u_deg angle_a_rad = angle_a.to (u_rad) print ("angle_a = %s = %s" % (angle_a, angle_a_rad) ) # angle b angle_b = 1.0 * u_deg angle_b_deg = angle_b.to (u_deg) angle_b_arcmin = angle_b.to (u_arcmin) angle_b_arcsec = angle_b.to (u_arcsec) print ("angle_b = %s = %s = %s" % (angle_b, angle_b_arcmin, angle_b_arcsec) ) # distance to Sirius parallax = 374.5 * u_mas distance = 1.0 / parallax.to (u_arcsec) * u_pc * u_arcsec print ("distance to Sirius = %s" % distance) print (" = %s" % distance.to (u_au) ) print (" = %s" % distance.to (u_m) )
% ./pint_00.py angle_a = 180.0 degree = 3.141592653589793 radian angle_b = 1.0 degree = 60.0 arcminute = 3599.9999999999995 arcsecond distance to Sirius = 2.67022696929239 parsec = 550773.8484525508 astronomical_unit = 8.239459496574611e+16 meter