//-------------------------------------------------C // 偏微分方程式の差分解法 例題 C // P21 図1.8, 図1.9, 図1.10, 図1.11-(a),(b) C // 2009年4月25日 後 保範(早稲田大学) C //-------------------------------------------------C import java.awt.*; import javax.swing.*; public class Ex1 extends JPanel{ public Ex1(){ setBackground(Color.white); setPreferredSize(new Dimension(650, 650)); } protected void paintComponent(Graphics g){ super.paintComponent(g); double D, DT, DX, DTX; double U[][] = new double[30][65]; double X[] = new double[65]; int X1, X2, U1, U2, k, t; int n, m, l, R=3; int XC=50, XV=500, UC=500, UV=-500; //-----------------------------------------------C // 図1.8 // n=8; m=3; l=2; DT=1/(20.0*n); DX=1.0/n; // 図1.9 // n=16; m=6; l=1; DT=1/(20.0*n); DX= 1.0/n; // 図1.10 // n=16; m=12; l=2; DT=1/(40.0*n); DX =1.0/n; // 図1.11-(a) n=8; m=2; l=2; DT=3/(40.0*n); DX =1.0/n; // 図1.11-(b) // n=16; m=8; l=2; DT=3/(80.0*n); DX =1.0/n; //-----------------------------------------------C DTX = DT/(DX*DX); D = 1.0/n; // set initial (t=0) for (k=0; k