追加された行はこの色です。削除された行はこの色です。[#a7aa9b4d]初心者向け講義資料([[FDTD法による音波伝搬シミュレーション>シミュレーション/FDTD法による音波伝搬シミュレーション]])にもう少し詳しく書いてありますが、簡単に原理を説明します。初心者向け講義資料([[FDTD法による音波伝搬シミュレーション>初心者向け講義資料/FDTD法による音波伝搬シミュレーション]])にもう少し詳しく書いてありますが、簡単に原理を説明します。method;時間領域差分法)は、名前に差分法とついていることから分かるように、差分近似によって計算をします。具体的にはどういうことかと言いますと、微分を差分で置き換えるということです。);(1)~式(1)が微分の定義ですが、右辺のリミットを外して単純な差としてしまうのが差分法です。FDTD法による音波伝搬シミュレーションでは、波動方程式を差分法により近似します。x^2},);(3)~を考え、差分法による近似をします。t);となっています。式(4)を見ていただくと、現時点の音波の情報と過去の音波の情報から未来の情報が得られるということが分かります。t);での音波情報を与えれば音波伝搬シミュレーションができます。[#f61f179a]以下は、一次元のFDTDシミュレーションプログラムです。見ていただいて分かるとおり、ほとんどが初期条件設定及びアニメーション部分となっています。シミュレーション条件はプログラムの最初の部分に書いてありますが、両端固定の弦振動となっています。単純に両端固定の場合はプログラムのようにFDTDの計算部分で境界の計算部分を入れる必要はありません。そのほかの境界の場合は、次の時刻の音圧(振動)分布を求めた後に境界条件を入れる必要があります。matlabでは行列演算をするのが大切ですので、このようなプログラムになっています。一次元ではfor文で回すのとあまり変わりませんが、二次元になると実行時間に大きな差ができます。二次元のFDTD法によるシミュレーションもほとんど変わりません。[[fdtd_2D.m:http://www.tohlab.net/cont/fdtd_2D.m]]を見ていただければ分かると思います。%固定境界以外はここで境界条件を入れる。