// test_eqn2.java compile javac -cp . test_eqn2.java // execute java -cp . test_eqn2 // solve 2*U(x,y)+3*V(x,y) = C(x,y) for values of U(x,y) at points in a grid // for values of V(x,y) at points in a grid // solve 3*U(x,y)+2*V(x,y) = D(x,y) // needs second set of equations for 2 variables at each grid // U(x,y) = 1+x-y V(x,y) = x*x+y*y // needs simeq.java compiled public class test_eqn2 { int nx = 2; // grid int ny = 3; int k, kk, ii, jj; int row = 0; // typically S(i,j) int grid = nx*ny; // points in grid int nvar = 2; // U(x,y) V(x,y) int neqn = nvar*grid; // nvar unknowns at each grid point double xmin = 1.0; double xmax = 3.0; double ymin = 2.0; double ymax = 4.0; double x, y, dx, dy, val; double xg[] = new double[nx]; double yg[] = new double[ny]; double A[][] = new double[neqn][neqn]; // A*X=Y double X[] = new double[neqn]; // unknown double Y[] = new double[neqn]; // known from C(x,y),D(x,y) double err, max_err; public test_eqn2() { System.out.println("test_eqn2.java running"); System.out.println("grid nx="+nx+" ny="+ny); System.out.println("xmin="+xmin+" xmax="+xmax); System.out.println("ymin="+ymin+" ymax="+ymax); System.out.println("x grid xg[]"); xg[0] = xmin; dx = (xmax-xmin)/(double)(nx-1); System.out.println("dx="+dx+" xg[0]="+xmin); for(int i=1; i 0.0001) { System.out.println("A["+i+"]["+j+"]="+A[i][j]); } // end if } // end j } // end i } // end printA public static void main (String[] args) { new test_eqn2(); } } // end test_eqn2.java