相対的には重心の位置にいる観測者が重心点から発する場と運動する質量の関係を観ているということですが
重心は質量の逆比の内分点となります。質量比ですから重心点は固定してます。
引力によりMとNが引き合いそれぞれ運動していきます。
MとNがそれぞれ無限遠から引き合いある間隔Rとなったときの様子を観てみます
積分範囲が換算質量となっていますので同様に空間縮小変化率を導き出すことができます。
2012年5月27日日曜日
2012年5月26日土曜日
引力とエーテル
引力による空間の縮小について思ったこと。
引力に限らずある遠隔力が働いて物が運動するという場合その運動の様子が遠隔力の働く空間の定義のひとつになりえます。
引力そのものは F=Gmn/r^2 という有名な式です。
物体が運動すると相対性理論によるとその進行方向に空間が縮みます。
これでひとつ遠隔力(場?)を定義してみます。
ある二物体 MとNがありNは無限のかなたから距離 R までMの引力に引かれてやってきたとします。
無限のかなたでの速度は 0 、空間の縮小率は 1(縮小なし)で速度Vに応じて進行方向の
空間が縮小します。 縮小率はローレンツ収縮なので 1/γ = (1-V^2/C^2)となります。
距離Rでの運動エネルギーは力と距離の積分で
En : integrate(-fn(X)*Qn*N, X,R,∞) fn(x)は単位質量あたりの引力で加速度、Qn は換算質量
なのでこれは重心点を起点にしているということになります。
速度Vでの運動エネルギーは N*V^2/2 (計算の簡便のため近似領域でのシナリオとします)
これで速度が出せます。 速度が出ると空間の縮小率がでます。
一方引力は加速度だから距離Rに応じて空間の縮小率が異なるはずです。
なので空間縮小変化率ψは 1/γ をRで微分すれば良いということになります。
この空間縮小変化率ψが加速度=引力に対応していると仮定すると。
次のことが推測できます。
1、相対的には重心の位置にいる観測者が重心点から発する場とNとの関係を観ている
ということになります。(こういう関係は対称的なのでたぶんMに対しても同じ・・・のはずです)
2、これは重心点の及ぼす空間の定義で M>>Nでは Mが重心点となる。
3、加速度にするには C^2*(1/γ)で補正する必要がある
4、C^2が静止質量 M+N に係るとするとそれは静止エネルギーである、場は質量ではなくエネルギーが作っているようだ
5、γは ≧1なので空間縮小変化率は実際の引力の加速度より大きいが
これは何かしらイメージとしてはNは単位質量あたりにスリップや抵抗を受けているとも思える。
6、γは例えば 地表ではほぼ1 (M(地球)>> N として)
G*M/(C^2*R) は (7*10^-11 )*(6*10^24)/((9*10^16)*(6*10^6) = 0.8 * 10^-9 <<<< 1
特に4番目は何かしらが空間縮小変化率に抵抗している感じでこれがあのエーテルの流れかもしれないと一瞬思いましたが今までのことを思い出すとやはりちがうのではないかと思います。
どういうことかというと、つまり空間の縮小で場を定義すると言うことで、縮小は近くでは密で
無限遠の先で縮小率1(縮小なし)ということになります。これはエーテルの流れではなく
イメージとしては力線にフィットするという感じがします。第一エーテルの流れだとエーテルが
どこにいくかもイメージできません。
力線は広大無辺の宇宙に薄まり消えていく、悪く言えばゴミ捨て場にすてて後は知ったこっちゃないと無責任でいられます。
一方エーテルの流れというのは思うに実際の運動ベクトルの方向が力線の方向(空間の縮小では密から疎)と反対であるというイメージであることから発想されているような気もします。
どちらを実態と思うかということであり、結局哲学的な話になってしまいます。
あと、速度を出すのに 近似の N*V^2/2 ではなくちゃんと γNC^2-NC^2 で出すと結果は以下のようになります。
結局最後は空間縮小変化率を引力の加速度に合わせこむということで相当怪しい感じで全体的にもそこはかとなくイタイ感が漂ってます。
まず、距離Rでの運動エネルギーを出すのに En : integrate(-fn(X)*Qn*N, X,R,∞) としていますが
Nの速度による運動質量の増加を入れなくてもよいのか? これはR点より逆に引き離すことを考えるとこの引き離しの速度でエネルギーが場合により変わってくるということであり指標になるエネルギーがでないし、不思議なことにエネルギーは速度と時間が無くても計算できてしまいます。(もし考慮するとしても速度が無限小、変わりに時間が無限大 なので質量増加は考慮しなくてもよいのでは・・・とも思えます)、また一般相対性理論では引力で光が曲がるということで運動質量の無いものにも適用できるもの・・・なのでひょっとしたらポテンシャルエネルギーというのはそういう性質のものではないのかもしれません。
等等いろいろ突っ込みどころ満載で結局トリビアにもならなかったのですが、それでもなんとなく捨てがたしという感じではあります。
引力に限らずある遠隔力が働いて物が運動するという場合その運動の様子が遠隔力の働く空間の定義のひとつになりえます。
引力そのものは F=Gmn/r^2 という有名な式です。
物体が運動すると相対性理論によるとその進行方向に空間が縮みます。
これでひとつ遠隔力(場?)を定義してみます。
ある二物体 MとNがありNは無限のかなたから距離 R までMの引力に引かれてやってきたとします。
無限のかなたでの速度は 0 、空間の縮小率は 1(縮小なし)で速度Vに応じて進行方向の
空間が縮小します。 縮小率はローレンツ収縮なので 1/γ = (1-V^2/C^2)となります。
距離Rでの運動エネルギーは力と距離の積分で
En : integrate(-fn(X)*Qn*N, X,R,∞) fn(x)は単位質量あたりの引力で加速度、Qn は換算質量
なのでこれは重心点を起点にしているということになります。
速度Vでの運動エネルギーは N*V^2/2 (計算の簡便のため近似領域でのシナリオとします)
これで速度が出せます。 速度が出ると空間の縮小率がでます。
一方引力は加速度だから距離Rに応じて空間の縮小率が異なるはずです。
なので空間縮小変化率ψは 1/γ をRで微分すれば良いということになります。
この空間縮小変化率ψが加速度=引力に対応していると仮定すると。
次のことが推測できます。
1、相対的には重心の位置にいる観測者が重心点から発する場とNとの関係を観ている
ということになります。(こういう関係は対称的なのでたぶんMに対しても同じ・・・のはずです)
2、これは重心点の及ぼす空間の定義で M>>Nでは Mが重心点となる。
3、加速度にするには C^2*(1/γ)で補正する必要がある
4、C^2が静止質量 M+N に係るとするとそれは静止エネルギーである、場は質量ではなくエネルギーが作っているようだ
5、γは ≧1なので空間縮小変化率は実際の引力の加速度より大きいが
これは何かしらイメージとしてはNは単位質量あたりにスリップや抵抗を受けているとも思える。
6、γは例えば 地表ではほぼ1 (M(地球)>> N として)
G*M/(C^2*R) は (7*10^-11 )*(6*10^24)/((9*10^16)*(6*10^6) = 0.8 * 10^-9 <<<< 1
特に4番目は何かしらが空間縮小変化率に抵抗している感じでこれがあのエーテルの流れかもしれないと一瞬思いましたが今までのことを思い出すとやはりちがうのではないかと思います。
どういうことかというと、つまり空間の縮小で場を定義すると言うことで、縮小は近くでは密で
無限遠の先で縮小率1(縮小なし)ということになります。これはエーテルの流れではなく
イメージとしては力線にフィットするという感じがします。第一エーテルの流れだとエーテルが
どこにいくかもイメージできません。
力線は広大無辺の宇宙に薄まり消えていく、悪く言えばゴミ捨て場にすてて後は知ったこっちゃないと無責任でいられます。
一方エーテルの流れというのは思うに実際の運動ベクトルの方向が力線の方向(空間の縮小では密から疎)と反対であるというイメージであることから発想されているような気もします。
どちらを実態と思うかということであり、結局哲学的な話になってしまいます。
あと、速度を出すのに 近似の N*V^2/2 ではなくちゃんと γNC^2-NC^2 で出すと結果は以下のようになります。
結局最後は空間縮小変化率を引力の加速度に合わせこむということで相当怪しい感じで全体的にもそこはかとなくイタイ感が漂ってます。
まず、距離Rでの運動エネルギーを出すのに En : integrate(-fn(X)*Qn*N, X,R,∞) としていますが
Nの速度による運動質量の増加を入れなくてもよいのか? これはR点より逆に引き離すことを考えるとこの引き離しの速度でエネルギーが場合により変わってくるということであり指標になるエネルギーがでないし、不思議なことにエネルギーは速度と時間が無くても計算できてしまいます。(もし考慮するとしても速度が無限小、変わりに時間が無限大 なので質量増加は考慮しなくてもよいのでは・・・とも思えます)、また一般相対性理論では引力で光が曲がるということで運動質量の無いものにも適用できるもの・・・なのでひょっとしたらポテンシャルエネルギーというのはそういう性質のものではないのかもしれません。
等等いろいろ突っ込みどころ満載で結局トリビアにもならなかったのですが、それでもなんとなく捨てがたしという感じではあります。
2012年3月18日日曜日
4元数と回転
ベクトルの回転公式はコンピュータグラフィックスをする方はご存知の方も多いと思いますが、
ロドリグの公式では (A(軸),B(回転させるベクトル)は単位ベクトル)
C=Bcosθ+A<A , B>(1-cosθ) - (B×A)sinθ または
C= A<A,B>+(B- A<A , B>)cosθ - (B×A)sinθ
にあるようにクロス積で直交を出して軸回りにcos(θ)とsin(θ)の組み合わせで回転させています。
ロドリグの公式から
式1 : Bcosθ - (B×A)sinθを抜き出すとどうなるでしょうか?
これは下図に示すように楕円回転のベクトル式になり、演算規則はクロス積ですから対応は ( i , j , k ) = ( jk - kj , ki – ik , ij – ji ) で
ij = –ji = k , jk = –kj = i ki = –ik = j
代数的に総積でき、結合則があると拡張すると
k = ij = (jk –kj)( ki – ik) = jkki – jkik – kjki + kjik = jkki – jjk – kii – kkk
なので kk = jj = ii = –1 となります。これは内積(符号は逆)になります。
したがって式1は 代数的に出すと
式2: B * A = B * [cosθ – Asinθ] = Bcosθ – (– < B , A > + (B×A )sinθ)
= < B , A > + [Bcosθ – (B×A)sinθ] と 内積分(スカラ)が増えて計算されます。
式2は反時計回り回転ですが、その先にベクトルD(Bが2θ回転したもの)がありこれが逆回転してベクトルCになるとします。
式3 : C = A * D = [cosθ – Asinθ] * D = Dcosθ – (–< A , D > + (A×D)sinθ)
= < A , D > + [Dcosθ – (A×D)sinθ]
= < A , D > + [Dcosθ – (A×D)sinθ]
式2と3をみてみると 軸との内積は同心円上にあるので同じです。ベクトルは逆回転になっています。したがって
C = A * D = B * A となるので Aの逆演算 を{A}とすると {A} = 1 / A と なるものがあればDが求まるわけです。 これは式2と同じ要領で計算すると
式4 : {A} = 1 / A = 1 / (cosθ – A sinθ) = cosθ + A sinθ となります。
なのでDは
式5: D = {A} * B * A となります、回転角は2θ。しかし、ほんと4元数って機械みたいですね。
2012年3月6日火曜日
三つ子のパラドックス
宇宙船の中の時間は 航路図 と 光路図 http://akimpotos.blogspot.com/?v=0p
にある外から観た玉の飛行時間α と宇宙船中の玉の飛行時間の比で
遅れます。(1/γとなる)
ところがこれは対象的な関係なのでいわゆる双子のパラドックスとなります。
http://ja.wikipedia.org/wiki/双子のパラドックス
で、双子でダメなら三つ子にしてしまえということで、
三つ子の1人を地球に、あとの二人をそれぞれ宇宙船で旅行させます。
宇宙船が帰ってきた時に二人の兄弟にそれなりの年齢差が出るように
それなりの速度差で飛ばしまた同時に帰ってこれるように…など条件を整える
ものとします。
そうすると、もし地球の時間が遅れるのならば帰ってきた時宇宙船は
速度差があるのだから地球の時間の遅れにも差がでます、
つまり帰ってきた兄弟は同時に年齢差のある地球の兄弟を見ることになり
これではオカルトになってしまいます。
なので、時間が遅れるのは宇宙船の方ということになります。
宇宙船の時間(T)の遅れは地球の時間をtとすると
T=t/γ ですがこの分母分子にm*c^2を乗じると
T=t*静止エネルギー/運動エネルギー とエネルギー比の形にできます。
なので時間が遅れるのは実際にエネルギーを与えられた方(つまりwikiにあるように
加速度を持った方)という解釈でもよさそうです。
-----------------------------------------------------------------------------------------------
続きがあります。
There is a continuance.
<http://akimpotos.blogspot.jp/2012/12/2-triplets-paradox-2-deterministic.html>
にある外から観た玉の飛行時間α と宇宙船中の玉の飛行時間の比で
遅れます。(1/γとなる)
ところがこれは対象的な関係なのでいわゆる双子のパラドックスとなります。
http://ja.wikipedia.org/wiki/双子のパラドックス
で、双子でダメなら三つ子にしてしまえということで、
三つ子の1人を地球に、あとの二人をそれぞれ宇宙船で旅行させます。
宇宙船が帰ってきた時に二人の兄弟にそれなりの年齢差が出るように
それなりの速度差で飛ばしまた同時に帰ってこれるように…など条件を整える
ものとします。
速度差があるのだから地球の時間の遅れにも差がでます、
つまり帰ってきた兄弟は同時に年齢差のある地球の兄弟を見ることになり
これではオカルトになってしまいます。
なので、時間が遅れるのは宇宙船の方ということになります。
T=t/γ ですがこの分母分子にm*c^2を乗じると
T=t*静止エネルギー/運動エネルギー とエネルギー比の形にできます。
なので時間が遅れるのは実際にエネルギーを与えられた方(つまりwikiにあるように
加速度を持った方)という解釈でもよさそうです。
-----------------------------------------------------------------------------------------------
続きがあります。
There is a continuance.
<http://akimpotos.blogspot.jp/2012/12/2-triplets-paradox-2-deterministic.html>
2012年2月28日火曜日
航路図 と 光路図
「速度合成 と MAXIMAへの式の貼付け」では、玉の航路図を用いましたがこの際なので光路図との関係をまとめておきます。
シナリオは速度Uで飛行する宇宙船の中を速度V=C/3で飛行する玉と光の様子を観るものです。
光は船の中で反射して往復しています。
光が逆行する場合は図中の左にある場合の座標変換関係を流用して表しています。
したがって、本来は玉の飛行中に黄色の矢印で示す宇宙船の図を置くことは適切ではありません。
本来の意味内容を考えると宇宙船の図を置くということは、その場所で座標変換の様子を観たい・・・・・ということであり、単に位置関係を知りたいならそれは斜交座標中のピンクの矢印で示す宇宙船の距離軸(上の方の)への射影でわかります。
また座標関係が反転しており、黄色とピンクで示す関係が繋ぎ目のところで突然入れ替わるという物理的にオカルトチックなものになっています。 地図でいえばメルカトル図法のように角度を保存するために面積が犠牲になっているという感じでしょうか。(この図では事象の一致と座標変換の保存)
シナリオは速度Uで飛行する宇宙船の中を速度V=C/3で飛行する玉と光の様子を観るものです。
光は船の中で反射して往復しています。
光が逆行する場合は図中の左にある場合の座標変換関係を流用して表しています。
したがって、本来は玉の飛行中に黄色の矢印で示す宇宙船の図を置くことは適切ではありません。
本来の意味内容を考えると宇宙船の図を置くということは、その場所で座標変換の様子を観たい・・・・・ということであり、単に位置関係を知りたいならそれは斜交座標中のピンクの矢印で示す宇宙船の距離軸(上の方の)への射影でわかります。
また座標関係が反転しており、黄色とピンクで示す関係が繋ぎ目のところで突然入れ替わるという物理的にオカルトチックなものになっています。 地図でいえばメルカトル図法のように角度を保存するために面積が犠牲になっているという感じでしょうか。(この図では事象の一致と座標変換の保存)
2012年2月25日土曜日
速度合成 と MAXIMAへの式の貼付け
「(物理)運動量保存はエネルギー保存則? その12 」で特殊相対性理論での速度合成を逆行列で求めましたが、式に冗長というか不要なものがくっついていたので、結果には影響は出ないのですが、まああまりにひどいので整理して再掲しました。
くっついていた不要なものとは逆変換で求める際に付加していたγで、下図でベクトルA,B を C,Dから求めるのに使っていたものですがまったく必要ないものでした。
Tsuを変換行列とすると
[C*t, t*V]=[A , B]=Tsu*[α , β] したがって INVERT(Tsu)*[A,B]=[α,β] で 合成速度は C*β/α となる。 [C*t, t*V]は更に時間 t が共通なので γ と同じくこれも省略できますがあまり省略しすぎると物理的意味がわからなくなります。
更に玉にも座標系を与えると [C*t, 0]=[A , B]=Tsv*Tsu*[α , β] したがって
INVERT(Tsu)* INVERT(Tsv)*[A,B]=[α,β] で 合成速度は C*β/α となる。(図はありません)
この C*t も片側が 0 なので実際は0以外の何でもよいです。
ところでいままでMAXIMAの式を添付していたのだけど、MAXIMAへのペーストのテストをウインドウズのメモ帳で確認して問題ないと思っていたのだけど、不思議なことに少しでもメモ帳を編集すると例えば
/* [wxMaxima: input start ] */
beu:u/c;
/* [wxMaxima: input end ] */
のようなブロック単位ではではペーストできなくなってしまうことがわかった。 「/* [wxMaxima: input start ] */」の部分を除いて 式「beu:u/c;」だけコピーは可能だがこれだと大変だ。どうも文字コードか何かの関係のような気もする。これは掲載した式でも同じ。
仕方ないので下記のように式だけにすると全てひとつのセルに入ってしまう。
動作はちゃんとします、がコメントも入れられなくなってしまうので 簡単なものならいいけど長いものだと使いにくくてどうしようも無い。
要所要所分割して入れると少しは見やすいかもと試してみたのだけどこれだと動作がどうもおかしい。
一行毎に徹底的に分けるか1セルに全て入れるしかないようです。
もうね、ガッカリです、お手上げ。
速度合成の式(MAXIMA)
・全てひとつのセルに入れるようにしてください。(全行一括でコピーしてペースト)
---------------------------------------------
kill(all);
beu:u/c;
gmu:1/sqrt(1-beu^2);
tsu:gmu*matrix([1,-beu],[-beu,1]);
bev:v/c;
gmv:1/sqrt(1-bev^2);
tsv:gmv*matrix([1,-bev],[-bev,1]);
outvct:matrix([c*t],[0]);
invert(tsv).invert(tsu).outvct;
%[2]/(%[1]/c);
ratsimp(%);
outvct2:matrix([c*t],[t*u]);
invert(tsv).outvct2;
%[2]/(%[1]/c);
ratsimp(%);
---------------------------------------------
くっついていた不要なものとは逆変換で求める際に付加していたγで、下図でベクトルA,B を C,Dから求めるのに使っていたものですがまったく必要ないものでした。
Tsuを変換行列とすると
[C*t, t*V]=[A , B]=Tsu*[α , β] したがって INVERT(Tsu)*[A,B]=[α,β] で 合成速度は C*β/α となる。 [C*t, t*V]は更に時間 t が共通なので γ と同じくこれも省略できますがあまり省略しすぎると物理的意味がわからなくなります。
更に玉にも座標系を与えると [C*t, 0]=[A , B]=Tsv*Tsu*[α , β] したがって
INVERT(Tsu)* INVERT(Tsv)*[A,B]=[α,β] で 合成速度は C*β/α となる。(図はありません)
この C*t も片側が 0 なので実際は0以外の何でもよいです。
ところでいままでMAXIMAの式を添付していたのだけど、MAXIMAへのペーストのテストをウインドウズのメモ帳で確認して問題ないと思っていたのだけど、不思議なことに少しでもメモ帳を編集すると例えば
/* [wxMaxima: input start ] */
beu:u/c;
/* [wxMaxima: input end ] */
のようなブロック単位ではではペーストできなくなってしまうことがわかった。 「/* [wxMaxima: input start ] */」の部分を除いて 式「beu:u/c;」だけコピーは可能だがこれだと大変だ。どうも文字コードか何かの関係のような気もする。これは掲載した式でも同じ。
仕方ないので下記のように式だけにすると全てひとつのセルに入ってしまう。
動作はちゃんとします、がコメントも入れられなくなってしまうので 簡単なものならいいけど長いものだと使いにくくてどうしようも無い。
要所要所分割して入れると少しは見やすいかもと試してみたのだけどこれだと動作がどうもおかしい。
一行毎に徹底的に分けるか1セルに全て入れるしかないようです。
もうね、ガッカリです、お手上げ。
速度合成の式(MAXIMA)
・全てひとつのセルに入れるようにしてください。(全行一括でコピーしてペースト)
---------------------------------------------
kill(all);
beu:u/c;
gmu:1/sqrt(1-beu^2);
tsu:gmu*matrix([1,-beu],[-beu,1]);
bev:v/c;
gmv:1/sqrt(1-bev^2);
tsv:gmv*matrix([1,-bev],[-bev,1]);
outvct:matrix([c*t],[0]);
invert(tsv).invert(tsu).outvct;
%[2]/(%[1]/c);
ratsimp(%);
outvct2:matrix([c*t],[t*u]);
invert(tsv).outvct2;
%[2]/(%[1]/c);
ratsimp(%);
---------------------------------------------
2012年2月10日金曜日
(物理)運動量保存はエネルギー保存則? その17
弾性衝突に関係するエネルギーを区別し以下に列挙していきますと、
静止質量のエネルギー(mC^2)、運動質量のエネルギーがある。
運動質量のエネルギーはγmc^2のこと(特殊相対性理論では質量はγmとなることからも導出できるので。)
運動質量のエネルギーは観察する立場により異なる相対性(並進対称性?)のエネルギーで偽?エネルギー。
弾性衝突ではこれらのエネルギーは衝突前後(というよりその時点つまり瞬間で)で保存する。エネルギー以外でも運動量、運動質量、静止質量も保存する。特殊相対性理論での近似域でも同じ。
保存量はこの三つしかない、なぜなら特殊相対性理論のエネルギーを微積分していくとエネルギー γmc^2->運動量_γmv->質量γm->運動量->エネルギーと巡回するだけだから。相対速度のBで微分してあとB->0として良い訳はこれが速度であることから例えば0の時点でも加速度は持っているからその変化は有る。
特殊相対性理論ではエネルギー、質量はc^2が有る無しだけなので等価らしい。
近似域ではエネルギーは2次式(スカラ)なのでプロットすると円、運動量は1次式(ベクトル)でプロットすると線、この交点で衝突した場合と、しなかった場合の衝突後の速度が決まる。
従って衝突前後で保存するのは当然。 もし保存しなかったらこの世界はないのだから問うこと自身意味がない。
ということで特殊相対性理論でのうエネルギーと運動量のプロットするとどうなるかみていきます。
特殊相対性理論ではエネルギーと運動量の方程式で弾性衝突後の速度は解けないので数値的に求める。
数式処理ソフトのMAXIMAで方程式の0点を飛び出させるように絶対値の逆数をとり、それを3Dグラフでプロットすれば様子がわかるだろうということです。
その様子が上の図でエネルギーの線が円で、運動量が斜め線。
結構微妙ですが、MAXIMAはそれなりに描いてくれているようです。
これをみると弾性衝突でのエネルギーと運動量の役目がよくわかります。
交わるところが解のところで、右下は衝突しなかった場合、左側が衝突した場合です。 従ってこの左を目安に数値解を求めて行きます。
MAXIMAのグラフはグリグリ動かすことができるので真上からみるとよりはっきりします。
詳しくは下に式を載せてあるのでみてください。
それで、あれやこれやを試しながら、解のあるところをある程度解の範囲に絞り込んで、それを簡易ソルバーでさらに締め上げていきます。
この簡易ソルバーは2方向から締め上げる方式で、精度は10^-4 程度が限界のようです。
四方八方から締め上げていけば精度をあげることができると思います。
下の式は順次実行しないといけないので、ctl + R で再実行するようにしてください。
maximaがおもちゃのようにヒョヒョコ再計算して行くのはみていて面白いですよ。
注意:3Dグラフをプロットするところは頭にxを付けて xplot3D( …としてMAXIMAが反応しないようにしてあるので表示したい場合はxをとってください。
----------------------------------------------------------------------------------
/* [wxMaxima: input start ] */
kill(all);
/* [wxMaxima: input end ] */
/* [wxMaxima: comment start ]
% set initial value
[wxMaxima: comment end ] */
/* [wxMaxima: input start ] */
C:30;
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
B:20;
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
vi1:10;
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
vi2:-20;
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
m1:1;
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
m2:2;
/* [wxMaxima: input end ] */
/* [wxMaxima: comment start ]
% cov
[wxMaxima: comment end ] */
/* [wxMaxima: input start ] */
vo1:(B+vi1)/(1+B*vi1/C^2);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
vo2:(B+vi2)/(1+B*vi2/C^2);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
uo1:(B+ui1)/(1+B*ui1/C^2);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
uo2:(B+ui2)/(1+B*ui2/C^2);
/* [wxMaxima: input end ] */
/* [wxMaxima: comment start ]
% gamma
[wxMaxima: comment end ] */
/* [wxMaxima: input start ] */
Gvi1:1/sqrt(1-vi1^2/C^2);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
Gvi2:1/sqrt(1-vi2^2/C^2);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
Gui1:1/sqrt(1-ui1^2/C^2);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
Gui2:1/sqrt(1-ui2^2/C^2);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
Gvo1:1/sqrt(1-vo1^2/C^2);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
Gvo2:1/sqrt(1-vo2^2/C^2);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
Guo1:1/sqrt(1-uo1^2/C^2);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
Guo2:1/sqrt(1-uo2^2/C^2);
/* [wxMaxima: input end ] */
/* [wxMaxima: comment start ]
% energy,momentum
[wxMaxima: comment end ] */
/* [wxMaxima: input start ] */
Ei:Gvi1*m1*C^2+Gvi2*m2*C^2-Gui1*m1*C^2-Gui2*m2*C^2;
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
Qi:Gvi1*m1*vi1*C+Gvi2*m2*vi2*C-Gui1*m1*ui1*C-Gui2*m2*ui2*C;
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
Eo:Gvo1*m1*C^2+Gvo2*m2*C^2-Guo1*m1*C^2-Guo2*m2*C^2;
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
Qo:Gvo1*m1*vo1*C+Gvo2*m2*vo2*C-Guo1*m1*uo1*C-Guo2*m2*uo2*C;
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
define(plotEi(ui1,ui2), abs(Ei));
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
define(plotQi(ui1,ui2),abs(Qi));
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
define(plotEo(ui1,ui2), abs(Eo));
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
define(plotQo(ui1,ui2), abs(Qo));
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
define(plotEQi(ui1,ui2), (abs(Ei)*abs(Qi)));
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
define(plotEQo(ui1,ui2), (abs(Eo)*abs(Qo)));
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
define(plotEio(ui1,ui2), (abs(Ei)*abs(Eo)));
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
define(plotQio(ui1,ui2), (abs(Qi)*abs(Qo)));
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
define(plotEQ(ui1,ui2), (abs(Ei)*abs(Eo)*abs(Qi)*abs(Qo)));
/* [wxMaxima: input end ] */
/* [wxMaxima: comment start ]
% plot
[wxMaxima: comment end ] */
/* [wxMaxima: input start ] */
xplot3d([1/plotEQi(ui1,ui2), 0,
[ui1,-29,29], [ui2,-29,29]],[plot_format,gnuplot],[grid,50,50])$
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
xplot3d([1/plotEo(ui1,ui2), 0,
[ui1,-29,29], [ui2,-29,29]],[plot_format,gnuplot],[grid,52,52])$
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
xplot3d([1/plotEQ(ui1,ui2), 0,
[ui1,-29,29], [ui2,-29,29]],[plot_format,gnuplot],[grid,52,52])$
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
xplot3d([1/plotEQ(ui1,ui2), 500,
[ui1,-24.8,-24.4], [ui2,-0.5,0.5]],[plot_format,gnuplot],[grid,52,52])$
/* [wxMaxima: input end ] */
/* [wxMaxima: comment start ]
% slover
[wxMaxima: comment end ] */
/* [wxMaxima: input start ] */
mysolver(slicenum,clp,cheklevel,xa,xb,ya,yb):=block(
[jj:0,kk:0,nextcheklevel,nextxa,nextya,nextxb,nextyb,dx,dy,value1,value2],
dx:(xb-xa)/slicenum, dy:(yb-ya)/slicenum,
for k:0 thru slicenum-1 do (kk:k,
for j:0 thru slicenum-1 do (jj:j,
nextxa:xa+jj*dx,nextya:ya+kk*dy,
value1:float(1/plotEQ(nextxa,nextya)),
if value1 >= cheklevel then
(print("done left ",jj," ",kk," ",value1," "),
j:slicenum-1,k:slicenum-1)
)),
for k:0 thru slicenum-1 do (kk:k,
for j:0 thru slicenum-1 do (jj:j,
nextxb:xb-jj*dx,nextyb:yb-kk*dy,
value2:float(1/plotEQ(nextxb,nextyb)),
if value2 >= cheklevel then
(print("done right ",jj," ",kk," ",value2," "),
j:slicenum-1,k:slicenum-1)
)),
if value1 <= value2 then (value1:value2), nextcheklevel:value1*clp,
return([clp,value1,nextcheklevel,float(nextxa),float(nextxb),float(nextya),float(nextyb)])
)$
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
result:mysolver(100,40,1000,-24.6,-24.55,-0.2,0);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
result:mysolver(100,%[1],%[3],%[4],%[5],%[6],%[7]);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
result:mysolver(100,%[1],%[3],%[4],%[5],%[6],%[7]);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
result:mysolver(100,%[1],%[3],%[4],%[5],%[6],%[7]);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
result:mysolver(100,%[1],%[3],%[4],%[5],%[6],%[7]);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
result:mysolver(100,%[1],%[3],%[4],%[5],%[6],%[7]);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
result:mysolver(100,%[1],%[3],%[4],%[5],%[6],%[7]);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
result:mysolver(100,%[1],%[3],%[4],%[5],%[6],%[7]);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
result:mysolver(100,%[1],%[3],%[4],%[5],%[6],%[7]);
/* [wxMaxima: input end ] */
/* [wxMaxima: comment start ]
check Left
[wxMaxima: comment end ] */
/* [wxMaxima: input start ] */
float(plotEi(result[4],result[6]));
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
float(plotQi(result[4],result[6]));
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
float(plotEo(result[4],result[6]));
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
float(plotQo(result[4],result[6]));
/* [wxMaxima: input end ] */
/* [wxMaxima: comment start ]
check right
[wxMaxima: comment end ] */
/* [wxMaxima: input start ] */
float(plotEi(result[5],result[7]));
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
float(plotQi(result[5],result[7]));
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
float(plotEo(result[5],result[7]));
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
float(plotQo(result[5],result[7]));
/* [wxMaxima: input end ] */
/* [wxMaxima: comment start ]
[wxMaxima: comment end ] */
/* [wxMaxima: input start ] */
float(Gvi1*m1+Gvi2*m2);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
float(Gui1*m1+Gui2*m2);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
define(mi(ui1,ui2), float(Gui1*m1+Gui2*m2));
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
mi(result[4],result[6]);
/* [wxMaxima: input end ] */
/* [wxMaxima: comment start ]
[wxMaxima: comment end ] */
/* [wxMaxima: input start ] */
float(Gvo1*m1+Gvo2*m2);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
float(Guo1*m1+Guo2*m2);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
define(mo(ui1,ui2), float(Guo1*m1+Guo2*m2));
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
mo(result[4],result[6]);
/* [wxMaxima: input end ] */
----------------------------------------------------------------------------------
静止質量のエネルギー(mC^2)、運動質量のエネルギーがある。
運動質量のエネルギーはγmc^2のこと(特殊相対性理論では質量はγmとなることからも導出できるので。)
運動質量のエネルギーは観察する立場により異なる相対性(並進対称性?)のエネルギーで偽?エネルギー。
弾性衝突ではこれらのエネルギーは衝突前後(というよりその時点つまり瞬間で)で保存する。エネルギー以外でも運動量、運動質量、静止質量も保存する。特殊相対性理論での近似域でも同じ。
保存量はこの三つしかない、なぜなら特殊相対性理論のエネルギーを微積分していくとエネルギー γmc^2->運動量_γmv->質量γm->運動量->エネルギーと巡回するだけだから。相対速度のBで微分してあとB->0として良い訳はこれが速度であることから例えば0の時点でも加速度は持っているからその変化は有る。
特殊相対性理論ではエネルギー、質量はc^2が有る無しだけなので等価らしい。
近似域ではエネルギーは2次式(スカラ)なのでプロットすると円、運動量は1次式(ベクトル)でプロットすると線、この交点で衝突した場合と、しなかった場合の衝突後の速度が決まる。
従って衝突前後で保存するのは当然。 もし保存しなかったらこの世界はないのだから問うこと自身意味がない。
ということで特殊相対性理論でのうエネルギーと運動量のプロットするとどうなるかみていきます。
特殊相対性理論ではエネルギーと運動量の方程式で弾性衝突後の速度は解けないので数値的に求める。
数式処理ソフトのMAXIMAで方程式の0点を飛び出させるように絶対値の逆数をとり、それを3Dグラフでプロットすれば様子がわかるだろうということです。
その様子が上の図でエネルギーの線が円で、運動量が斜め線。
結構微妙ですが、MAXIMAはそれなりに描いてくれているようです。
これをみると弾性衝突でのエネルギーと運動量の役目がよくわかります。
交わるところが解のところで、右下は衝突しなかった場合、左側が衝突した場合です。 従ってこの左を目安に数値解を求めて行きます。
MAXIMAのグラフはグリグリ動かすことができるので真上からみるとよりはっきりします。
詳しくは下に式を載せてあるのでみてください。
それで、あれやこれやを試しながら、解のあるところをある程度解の範囲に絞り込んで、それを簡易ソルバーでさらに締め上げていきます。
この簡易ソルバーは2方向から締め上げる方式で、精度は10^-4 程度が限界のようです。
四方八方から締め上げていけば精度をあげることができると思います。
下の式は順次実行しないといけないので、ctl + R で再実行するようにしてください。
maximaがおもちゃのようにヒョヒョコ再計算して行くのはみていて面白いですよ。
注意:3Dグラフをプロットするところは頭にxを付けて xplot3D( …としてMAXIMAが反応しないようにしてあるので表示したい場合はxをとってください。
----------------------------------------------------------------------------------
/* [wxMaxima: input start ] */
kill(all);
/* [wxMaxima: input end ] */
/* [wxMaxima: comment start ]
% set initial value
[wxMaxima: comment end ] */
/* [wxMaxima: input start ] */
C:30;
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
B:20;
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
vi1:10;
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
vi2:-20;
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
m1:1;
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
m2:2;
/* [wxMaxima: input end ] */
/* [wxMaxima: comment start ]
% cov
[wxMaxima: comment end ] */
/* [wxMaxima: input start ] */
vo1:(B+vi1)/(1+B*vi1/C^2);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
vo2:(B+vi2)/(1+B*vi2/C^2);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
uo1:(B+ui1)/(1+B*ui1/C^2);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
uo2:(B+ui2)/(1+B*ui2/C^2);
/* [wxMaxima: input end ] */
/* [wxMaxima: comment start ]
% gamma
[wxMaxima: comment end ] */
/* [wxMaxima: input start ] */
Gvi1:1/sqrt(1-vi1^2/C^2);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
Gvi2:1/sqrt(1-vi2^2/C^2);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
Gui1:1/sqrt(1-ui1^2/C^2);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
Gui2:1/sqrt(1-ui2^2/C^2);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
Gvo1:1/sqrt(1-vo1^2/C^2);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
Gvo2:1/sqrt(1-vo2^2/C^2);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
Guo1:1/sqrt(1-uo1^2/C^2);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
Guo2:1/sqrt(1-uo2^2/C^2);
/* [wxMaxima: input end ] */
/* [wxMaxima: comment start ]
% energy,momentum
[wxMaxima: comment end ] */
/* [wxMaxima: input start ] */
Ei:Gvi1*m1*C^2+Gvi2*m2*C^2-Gui1*m1*C^2-Gui2*m2*C^2;
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
Qi:Gvi1*m1*vi1*C+Gvi2*m2*vi2*C-Gui1*m1*ui1*C-Gui2*m2*ui2*C;
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
Eo:Gvo1*m1*C^2+Gvo2*m2*C^2-Guo1*m1*C^2-Guo2*m2*C^2;
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
Qo:Gvo1*m1*vo1*C+Gvo2*m2*vo2*C-Guo1*m1*uo1*C-Guo2*m2*uo2*C;
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
define(plotEi(ui1,ui2), abs(Ei));
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
define(plotQi(ui1,ui2),abs(Qi));
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
define(plotEo(ui1,ui2), abs(Eo));
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
define(plotQo(ui1,ui2), abs(Qo));
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
define(plotEQi(ui1,ui2), (abs(Ei)*abs(Qi)));
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
define(plotEQo(ui1,ui2), (abs(Eo)*abs(Qo)));
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
define(plotEio(ui1,ui2), (abs(Ei)*abs(Eo)));
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
define(plotQio(ui1,ui2), (abs(Qi)*abs(Qo)));
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
define(plotEQ(ui1,ui2), (abs(Ei)*abs(Eo)*abs(Qi)*abs(Qo)));
/* [wxMaxima: input end ] */
/* [wxMaxima: comment start ]
% plot
[wxMaxima: comment end ] */
/* [wxMaxima: input start ] */
xplot3d([1/plotEQi(ui1,ui2), 0,
[ui1,-29,29], [ui2,-29,29]],[plot_format,gnuplot],[grid,50,50])$
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
xplot3d([1/plotEo(ui1,ui2), 0,
[ui1,-29,29], [ui2,-29,29]],[plot_format,gnuplot],[grid,52,52])$
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
xplot3d([1/plotEQ(ui1,ui2), 0,
[ui1,-29,29], [ui2,-29,29]],[plot_format,gnuplot],[grid,52,52])$
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
xplot3d([1/plotEQ(ui1,ui2), 500,
[ui1,-24.8,-24.4], [ui2,-0.5,0.5]],[plot_format,gnuplot],[grid,52,52])$
/* [wxMaxima: input end ] */
/* [wxMaxima: comment start ]
% slover
[wxMaxima: comment end ] */
/* [wxMaxima: input start ] */
mysolver(slicenum,clp,cheklevel,xa,xb,ya,yb):=block(
[jj:0,kk:0,nextcheklevel,nextxa,nextya,nextxb,nextyb,dx,dy,value1,value2],
dx:(xb-xa)/slicenum, dy:(yb-ya)/slicenum,
for k:0 thru slicenum-1 do (kk:k,
for j:0 thru slicenum-1 do (jj:j,
nextxa:xa+jj*dx,nextya:ya+kk*dy,
value1:float(1/plotEQ(nextxa,nextya)),
if value1 >= cheklevel then
(print("done left ",jj," ",kk," ",value1," "),
j:slicenum-1,k:slicenum-1)
)),
for k:0 thru slicenum-1 do (kk:k,
for j:0 thru slicenum-1 do (jj:j,
nextxb:xb-jj*dx,nextyb:yb-kk*dy,
value2:float(1/plotEQ(nextxb,nextyb)),
if value2 >= cheklevel then
(print("done right ",jj," ",kk," ",value2," "),
j:slicenum-1,k:slicenum-1)
)),
if value1 <= value2 then (value1:value2), nextcheklevel:value1*clp,
return([clp,value1,nextcheklevel,float(nextxa),float(nextxb),float(nextya),float(nextyb)])
)$
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
result:mysolver(100,40,1000,-24.6,-24.55,-0.2,0);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
result:mysolver(100,%[1],%[3],%[4],%[5],%[6],%[7]);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
result:mysolver(100,%[1],%[3],%[4],%[5],%[6],%[7]);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
result:mysolver(100,%[1],%[3],%[4],%[5],%[6],%[7]);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
result:mysolver(100,%[1],%[3],%[4],%[5],%[6],%[7]);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
result:mysolver(100,%[1],%[3],%[4],%[5],%[6],%[7]);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
result:mysolver(100,%[1],%[3],%[4],%[5],%[6],%[7]);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
result:mysolver(100,%[1],%[3],%[4],%[5],%[6],%[7]);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
result:mysolver(100,%[1],%[3],%[4],%[5],%[6],%[7]);
/* [wxMaxima: input end ] */
/* [wxMaxima: comment start ]
check Left
[wxMaxima: comment end ] */
/* [wxMaxima: input start ] */
float(plotEi(result[4],result[6]));
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
float(plotQi(result[4],result[6]));
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
float(plotEo(result[4],result[6]));
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
float(plotQo(result[4],result[6]));
/* [wxMaxima: input end ] */
/* [wxMaxima: comment start ]
check right
[wxMaxima: comment end ] */
/* [wxMaxima: input start ] */
float(plotEi(result[5],result[7]));
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
float(plotQi(result[5],result[7]));
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
float(plotEo(result[5],result[7]));
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
float(plotQo(result[5],result[7]));
/* [wxMaxima: input end ] */
/* [wxMaxima: comment start ]
[wxMaxima: comment end ] */
/* [wxMaxima: input start ] */
float(Gvi1*m1+Gvi2*m2);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
float(Gui1*m1+Gui2*m2);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
define(mi(ui1,ui2), float(Gui1*m1+Gui2*m2));
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
mi(result[4],result[6]);
/* [wxMaxima: input end ] */
/* [wxMaxima: comment start ]
[wxMaxima: comment end ] */
/* [wxMaxima: input start ] */
float(Gvo1*m1+Gvo2*m2);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
float(Guo1*m1+Guo2*m2);
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
define(mo(ui1,ui2), float(Guo1*m1+Guo2*m2));
/* [wxMaxima: input end ] */
/* [wxMaxima: input start ] */
mo(result[4],result[6]);
/* [wxMaxima: input end ] */
----------------------------------------------------------------------------------
登録:
投稿 (Atom)