#contents 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; } ぐぐってみる