LoginSignup
0
0

More than 1 year has passed since last update.

和積公式「22年 弘前大 人文・教育・医・農 1」をwolframalphaとsympyでやってみたい。

Last updated at Posted at 2022-08-02

オリジナル
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です。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0