0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

sin7θ=0と3次方程式「2016横浜市立大前期医学科」をMathematicaとWolframAlphaとsympyでやってみたい。

Last updated at Posted at 2023-06-17

パイソニスタの方へ
1/tanの2乗の合計の計算(ページ後半)について、
pythonでfloat以外の方法を探しています。sympy.fu?
よろしくお願いします。

オリジナル

上と同じです。大学入試数学問題集成>【4】テキスト

(参考) 2023/06/19追加 前期理系【4】

Mathematicaで

??? x1 = Cot ??? いい方法がありますか。

In:
s = Sin[7 \[Theta]]
f = Simplify[TrigExpand[s]/Sin[\[Theta]]^7] /.  
    Cot[\[Theta]]^2 -> x /.  Cot[\[Theta]]^4 -> x^2 /.  
  Cot[\[Theta]]^6 -> x^3
ans = Solve[ s == 0 && 0 < \[Theta] < \[Pi]/2, \[Theta], Reals]
x1 = Cot[\[Theta]]^2 /.  \[Theta] -> 1 \[Pi]/7;
x2 = Cot[\[Theta]]^2 /.  \[Theta] -> 2 \[Pi]/7;
x3 = Cot[\[Theta]]^2 /.  \[Theta] -> 3 \[Pi]/7;
Simplify[x1 + x2 + x3]
-1*(-35)/7

Out:
Sin[7 \[Theta]]
-1 + 21 x - 35 x^2 + 7 x^3
{{\[Theta] -> \[Pi]/7}, {\[Theta] -> (2 \[Pi])/7}, {\[Theta] -> (
   3 \[Pi])/7}}
Cot[\[Pi]/7]^2 + Tan[\[Pi]/14]^2 + Tan[(3 \[Pi])/14]^2
5

WolframAlphaで

勉強中

sympyで

パイソニスタの方へ 短くなりますか?
方法がわからなかったので、subsにしました。
https://docs.sympy.org/latest/modules/simplify/fu.html

from sympy import *
θ    =symbols('θ'    ,real   =True)
k    =symbols('k'    ,integer=True)
sin7θ=symbols('sin7θ',real   =True)
x    =symbols('x'    ,real   =True)
sinθ =symbols('sinθ' ,real   =True)
cosθ =symbols('cosθ' ,real   =True)
tanθ =symbols('tanθ' ,real   =True)
k=7
sin7θ=sin(k*θ)
g=im((cos(θ)+I*sin(θ))**k)
h=g/sin(θ)**k   
h=h.subs({sin(θ):sinθ,cos(θ):cosθ}).expand()
h=h.subs({cosθ**6/sinθ**6:1/tanθ**6,cosθ**4/sinθ**4:1/tanθ**4,cosθ**2/sinθ**2:1/tanθ**2})
h=h.subs({1/tanθ**2:x})
ans_θ=solveset(sin7θ,θ,Interval.open(0,pi/2))
print("#(1)",g)
print("#(2)",h)
print("#(2)",ans_θ)
print("#(3)",-h.coeff(x,2)/h.coeff(x,3) )
print("#",'-'*111)
myPol=7*((x-1/tan(ans_θ.args[0])**2)*(x-1/tan(ans_θ.args[1])**2)*(x-1/tan(ans_θ.args[2])**2))
myP  =Poly(myPol.expand(),x).args[0]         
myPx3=myP.coeff(x,3)
myPx2=myP.coeff(x,2)
myPx1=myP.coeff(x,1)
myPx0=myP.coeff(x,0)
print("#myPol" ," "*4,myPol)
print("#myP3  ",float(myPx3),myPx3 )
print("#myP2"  ,float(myPx2),myPx2 )
print("#myP1 " ,float(myPx1),myPx1 )
print("#myP0 " ,float(myPx0),myPx0 )
#(1) -sin(θ)**7 + 21*sin(θ)**5*cos(θ)**2 - 35*sin(θ)**3*cos(θ)**4 + 7*sin(θ)*cos(θ)**6
#(2) 7*x**3 - 35*x**2 + 21*x - 1
#(2) {pi/7, 2*pi/7, 3*pi/7}
#(3) 5
# ---------------------------------------------------------------------------------------------------------------
#myPol      7*(x - 1/tan(pi/7)**2)*(x - 1/tan(2*pi/7)**2)*(x - 1/tan(3*pi/7)**2)
#myP3   7.0 7
#myP2 -35.0 -7/tan(pi/7)**2 - 7/tan(2*pi/7)**2 - 7/tan(3*pi/7)**2
#myP1  21.0 7/(tan(2*pi/7)**2*tan(3*pi/7)**2) + 7/(tan(pi/7)**2*tan(3*pi/7)**2) + 7/(tan(pi/7)**2*tan(2*pi/7)**2)
#myP0  -1.0 -7/(tan(pi/7)**2*tan(2*pi/7)**2*tan(3*pi/7)**2)

①私の環境は,pycharmです。
②よく聞くのは、Jupyterです。
③web上で、上記のソースを「SymPy Live shell」に、コピー貼り付けでもできました。
黒背景の右上に、マウスを移動すると、コピーマークが発生します。
??? タブレット環境で、コピー貼り付けが実行できませんでした。???

計算時間は、1分以上かかると思います。

参考

おすすめです。

goole検索

Mathematica

未整理

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?