オリジナル
sin 40° − sin 80° + sin 160°
tan40° − 4sin 80° + 4sin 160°
wolframalphaで
(1)
sin 40° − sin 80° + sin 160°
(2)
tan40° − 4sin 80° + 4sin 160°
sympyで
わかられる方教えてください。よろしくお願いします。
from sympy import *
var('t a b ')
def tand(x):
return tan(x * pi / 180)
def sind(x):
return sin(x * pi / 180)
# def cosd(x):
# return cos(x * pi / 180)
y1=sind(40)- sind(80)+ sind(160)
y2=tand(40)-4*sind(80)+4*sind(160)
print("#(1)",y1)
print("#(1)",y1.simplify())
print("#(2)",y2)
print("#(2)",y2.simplify())
#(1) -sin(4*pi/9) + sin(pi/9) + sin(2*pi/9)
#(1) -cos(pi/18) + sin(pi/9) + sin(2*pi/9)
#(2) -4*sin(4*pi/9) + tan(2*pi/9) + 4*sin(pi/9)
#(2) -4*cos(pi/18) + tan(2*pi/9) + 4*sin(pi/9)
(1)はTR9:Sum of cos or sin terms as a product of cos or sin.
(2)は数学入試問題様の手順でやってみた。分母y2Uと分子y2Sに分けています。
from sympy import *
from sympy.simplify.fu import TR9
var('x')
y0=sin(x)-sin(x*2)+sin(x*4)
print("#(0)",y0 .subs({x:Rational(40,180)*pi}))
print("#(1)",TR9(y0).subs({x:Rational(40,180)*pi}))
#
y2=tan(x)-4*sin(x*2)+4*sin(x*4)
y2=y2-4*y0
y2U=(y2*cos(x)).expand()
y2S= cos(x)
#
y2U=TR9(fu(TR9(y2U))-y0)
y2=y2U/y2S
print("#(2)",y2.subs({x:Rational(40,180)*pi}))
#(0) -sin(4*pi/9) + sin(pi/9) + sin(2*pi/9)
#(1) 0
#(2) -sqrt(3)
TR9,fuです。
参考