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