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