http://homepage2.nifty.com/eman/electromag/maxwell.html
マクスウェルの方程式を復習してみる自分用のメモ
Java言語風にマクスウェル方程式を理解してみる。
式が4つほど、ならんでおるのぅ。
とりあえず、1つだけみていこうかな。
rot(E)+@B/@t=0 ←こんな感じのやつね。
(偏微分の記号をだすのがめんどくさかったので、@を偏微分の記号ってことにしました。)
式がかいてあって、その変数の定義があとにかいてある。
プログラムでは、変数の定義を先に書くのが基本なので、
並べ替えて書いておく。
単なる変数ではなくてベクトルのようだ。Javaのクラスぽく使って書いてみる。
3次元のベクトルをDimentionVector?クラスとする。
単位とかを保持した方がいいのかもしれないし、 紐理論とかの影響で ひょっとしたら3次元じゃなくて 11次元かもしれないので、内部的にはArrayList?型でもっておく
abstruct class DimentionVector extends ArrayList<Double>{ //単位 public String unit="単位無し"; // public DimentionVector{ //x add(0); //y add(0); //z add(0); } public Double getX(){ get(0); } public void setX(Double value){ add(0,value); }
//Y,Zも同様 }
こんな感じで書いておく
Eって書きたいところだが、javaは分かりにくい名前はだめなのさ 電場 Eは英語でelectric field だから
class ElectricField? extends DimentionVector?
class B extends DimentionVector?
function xyzVecor rot(xyzVector e){ return new xyz(@(e,z,y)-@(e,y,z),@(e,x,z)-@ez/@x,@ey/@x-@ex/@y); }
Javaで偏微分ってどうかくんだよう
function Function @(Function func,Simbol s1,Simbol s2){ return @func.s1/@s2; }
ぐぐってみる