arctan関数から返される角度が正の値に跳ね上がるため、オメガ対時間のプロットで問題を解決しようとして多くの問題がありました。最初の象限に戻るように 2*pi を追加しようとしましたが、役に立ちませんでした ( arctan / arctan2 を使用して 0 から 2π までプロットするための答えから)。次に、配列内のすべての項目を負にして続行しようとしましたが、問題が何であるかはわかりません: arctan プロットは、不連続 にジャンプする値を返します。また、arctan2、math.atan、math.atan2 を使用してみました
h = h5py.File("Waveforms/BBH0001/rhOverM_Asymptotic_GeometricUnits.h5", "r")
data = h['Extrapolated_N2.dir/Y_l2_m1.dat']
配列のアークタンを見つけようとしたときにエラーが発生したため、関数を定義して iy をベクトル化する必要がありました
def f(z):
return np.int(math.degrees(np.arctan(z)))
f2 = np.vectorize(f)
z = data[:,2]/data[:,1]
a = f2(z)
コードのこの部分は、一部の人にとっては苦痛に見えるかもしれません。問題を解決するためにさまざまな方法を試してみました
i = 1
for i in xrange(len(z)):
if a[i] > (a[i-1] + 10):
b = [-x for x in a]
plt.plot(data[:,0], b, label='w')