スポンサーリンク

| キーワード:

Pythonのmath domain error (定義域エラー)はnumpy.clipで回避

Pythonでmath.acos(theta)を使うとthetaのとれる範囲が-1.0~1.0までなのでmath domain errorが発生することがある。

math domain error

import math

rad = math.acos( 0.9 )
rad = math.acos( 1.0 )
rad = math.acos( 1.1 ) # ValueError: math domain error

numpy.clipで入力値を調整

import math
import numpy

angle = 1.1

rad = math.acos( numpy.clip(angle,-1.0,1.0) )# acosへの入力を-1.0~1.0に修正

print(rad) # 0.0

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)


この記事のトラックバックURL: