private void SolveCircuit(int numberOfNodes) { double a[][] = new double[numberOfNodes][numberOfNodes]; double b[][] = new double[numberOfNodes][1]; // check that new arrays are zero b[0][0] = 1e-3; for (int i=0; i<numberofNodes; i++) System.out.println(b[i][0]); //Fill matrix a with g values for (Resistor res : resList) { double g = 1/res.getValue(); int i = res.getNode1() - 1; int j = res.getNode2() - 1; if (i>=0) { a[i][i] += g; if (j>=0) a[i][j] -= g; } if (j>=0) { a[j][j] += g; if (i>=0) a[j][i] -= g; } } Matrix A = new Matrix(a); Matrix B = new Matrix(b); Matrix v = A.solve(B); }
Maintained by John Loomis, updated Tue Feb 25 20:54:25 2020