calc機能の仕様

suugakutanのcalc機能はpythonで書かれており,まず使用できない文字が含まれている場合と**(べき乗)が入っている場合を撥ねて,evalしています.

使用できる記号,関数は以下のとおり.スペースもだめですよ.

記号 +-*/%(),.

数字 0~9

mathモジュールの関数 ceil,fabs,floor,exp,log,sqrt,sin,cos,tan,asin,acos,atan,sinh,cosh,tanh,e,pi

整数同士の割り算については整数を返すので,その場合は適当なところに1.0*とかつけて対処してください.

Newton力学でKeplerの法則を証明する

惑星の運動を考えよう.平面内なのでまずxy直交座標系.太陽は質量Mで原点にあり,惑星は質量mで位置\mathbf{r}=(x;y)とする.また,太陽の動きは無視する.

運動方程式m\ddot{\mathbf{r}}=-\frac{GmM}{|\mathbf{r}|^3}\mathbf{r}

でもこれをrθ極座標(x;y)=(r\cos\theta;r\sin\theta)で移してしまおう.

 

それで計算して出てきた式(略)を(\cos\theta;\sin\theta),(-\sin\theta;\cos\theta)の独立性で分けると

m(\ddot{r}-r\dot{\theta}^2)=-\frac{GmM}{r^2}

m(2\dot{r}\dot{\theta}+r\ddot{\theta})=0

この2つの式になる.

 

後者の式は\frac{d(r^2\dot{\theta})}{dt}=0となる.よってA=r^2\dot{\theta}は一定.これは面積速度一定の意味.Kepler第2法則.

 

今のAを前者の式に入れてθを消すと,\ddot{r}-\frac{A^2}{r^3}=-\frac{GM}{r^2}

今度はp=1/rとおき,与式からtを消して与式をpとθの式にし整理することにする.

計算されるのは\frac{dp}{d\theta}=-\frac{\dot{r}}{A}\frac{d^2p}{d\theta^2}=-\frac{\ddot{r}r^2}{A^2}なのでそれを使い,

結果,\frac{d^2p}{d\theta^2}+p=B となる.ただしB=\frac{GM}{A^2}とおいた.

これはもう簡単だ.初期条件をこの段階で都合よく定めれば,解はp=B+C\cos\theta (Cは任意定数)となる.

 

さらにl=\frac{1}{B}e=\frac{C}{B}とおいて,r=\frac{l}{1+e\cos\theta}

 

これは何を意味するのかというと,この式で表される曲線を円錐曲線といって,(またこのeを離心率といって,)

|e|=0の時は円を,

0\lt|e|\lt1の時は楕円を,

|e|=1の時は放物線を,

1\lt|e|の時は双曲線を表す.

特に楕円の場合は,焦点距離2c,長軸a,短軸bを求めてみると,

a=\frac{l}{1-e^2}b=\frac{l}{\sqrt{1-e^2}}c=\frac{el}{1-e^2}となる.

 

最後にこの運動の周期を求める.まずはAの値を求める.

惑星が最も太陽から遠い時(距離a+c)の速さをv_f,近い時(距離a-c)の速さをv_nとすると,そのいずれの時も惑星の位置と速度は直交するので

A=r^2\dot{\theta}=rvとでき,A=(a+c)v_f=(a-c)v_n

またエネルギー保存より\frac{1}{2}mv_f^2 - \frac{GmM}{(a+c)^2} = \frac{1}{2}mv_n^2 - \frac{GmM}{(a-c)^2}. 

これらを連立させてせっせと解くと,A=b\sqrt{\frac{GM}{a}が出る.

事実として楕円の面積が\pi a bなのがあり,またA/2が面積速度の意味を持つので,

周期TはT\frac{A}{2}=\pi a bで求められる.

これを綺麗にすればGMT^2=4\pi^2a^3.Kepler第3法則.

坂を転がり落ちる球の加速度

通常の重力のもと,水平面と\thetaの角をなす斜面を転がる鉄球の,斜面下向きの加速度を求めよう.

ただし,斜面と球の表面が滑ることは無いとする.

 

重力加速度g,水平面と坂のなす角\theta

回り始め(初速0)の水平面からの高さH,球の半径r,質量M,慣性モーメントI

現在の水平面からの高さy,回り始めから進んだ距離s,現在の重心の斜面下向き速度v,現在の斜面下向き加速度a,現在の重心回りの角速度\omegaとする.

 

まずエネルギー保存則より

 MgH = \frac{1}{2}Mv^2 + \frac{1}{2}I\omega^2 + Mgy

球の慣性モーメントは I=\frac{2}{5}Mr^2なのでこれを代入し

 MgH = \frac{1}{2}Mv^2 + \frac{1}{5}Mr^2\omega^2 + Mgy

坂と球が滑ることは無いので,球の表面の速度はv.ゆえにv=r\omega.これを代入し

 MgH = \frac{7}{10}Mv^2 + Mgy

両辺を時間tで微分

 0 = \frac{7}{5}Mva + Mg\dot{y}

ここでs\sin \theta = H - y の両辺を時間で微分すると

v\sin \theta = - \dot{y}

これを与式に用いて

 Mgv\sin\theta = \frac{7}{5}Mva

これを解いて

a=\frac{5}{7}g\sin\theta

 

よくある問題なので,転がり落ちる場合と滑り落ちる場合を間違えないようにね.