- 追加された行はこの色です。
- 削除された行はこの色です。
#contents
http://homepage2.nifty.com/eman/electromag/maxwell.html
マクスウェルの方程式を復習してみる自分用のメモ
Java言語風にマクスウェル方程式を理解してみる。
E:電場クラス extends xyzVector
式が4つほど、ならんでおるのぅ。
B:磁束密度クラス extends xyzVector
とりあえず、1つだけみていこうかな。
rot(E)+@B/@t=0
rot(E)+@B/@t=0 ←こんな感じのやつね。
(偏微分の記号をだすのがめんどくさかったので、@を偏微分の記号ってことにしました。)
function xyzVecor rot(xyzVector e){
式がかいてあって、その変数の定義があとにかいてある。
return new xyz(@ez/@y-@ey/@z,@ex/@z-@ez/@x,@ey/@x-@ex/@y);
プログラムでは、変数の定義を先に書くのが基本なので、
}
並べ替えて書いておく。
単なる変数ではなくてベクトルのようだ。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;
}
ぐぐってみる