// test_eqn3.java compile javac -cp . test_eqn3.java // execute java -cp . test_eqn3 // solve 2*U(x,y)+3*V(x,y)+4*W(x,y) = C(x,y) // solve 4*U(x,y)+2*V(x,y)+3*W(x,y) = D(x,y) // solve 3*U(x,y)+4*V(x,y)+2*W(x,y) = E(x,y) // for values of U(x,y), V(x,y), W(x,y) at points in a grid // U(x,y) = 1+x*x*x-y V(x,y) = x*x+y*y W(x,y) = 2-x+2y unknown // C, D, E values given // needs set of 3 equations for 3 variables at each grid // needs simeq.java compiled public class test_eqn3 { 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 = 3; // U(x,y) V(x,y) W(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),E(x,y) double err, max_err; public test_eqn3() { System.out.println("test_eqn3.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_eqn3(); } } // end test_eqn3.java