2016-10-17 1 views
-1

Je suis seulement nouveau pour le traitement et il me confond plus que Java ou Javascript jamais fait! Je dois résoudre des équations simultanées pour une affectation collégiale. (C'est une classe où ils ne nous expliquent pas vraiment ce qu'ils font dans le code.) Je sais comment ils trouvent le code avec deux équations dans le code ci-dessous, mais ils veulent maintenant que nous le fassions avec 3 équations. Est-ce que quelqu'un sait comment je ferais cela? J'ai imaginé que je devrais ajouter les bits supplémentaires dans chaque matrice, mais c'est évidemment plus compliqué que cela. Les équations 3 I ai sont:Comment résoudre des équations simultanées à travers le traitement

x + y + z = 9 x + 2y + 3z = 23 x + 5y-3z = -7

Le code de deux équations est les éléments suivants:

// import Jama.*; 
// Solve 3x+2y=3 
//  -2x-y=-1 
// AX=B 
// X=InvA B 

import java.io.StringWriter; 

void setup() 
{ 
    size(150,110); 
    fill(0,0,0); 

    double [][] Aline12={{ 3, 2},  // Create a 2D array to store A 
         {-2,-1}}; 

    Matrix A = new Matrix(Aline12); // Copy array to A Matrix data structure 

    double [][] B1ine12 = {{3},  // Create a 2D array to store B 
          {-1}}; 


    Matrix B = new Matrix(B1ine12); // Copy array to B Matrix data structure 

    Matrix X=(A.inverse()).times(B); // Solve for X 

    text("A",10,12); 
    app_print(A,0,16); 

    text("B",110,12); 
    app_print(B,100,16); 

    text("X",10,65); 
    app_print(X,0,70); 
} 

// Method added to allow printing on applet screen at (x,y) 
void app_print(Matrix P, int x, int y) 
{ 
    StringWriter stringWriter = new StringWriter(); 
    PrintWriter writer = new PrintWriter(stringWriter); 
    P.print(writer,5,2); 
    text(stringWriter.toString(),x,y); 
} 
+0

Comment voulez-vous résoudre ce sur papier, sans ordinateur? –

Répondre

0

vous le résoudre de la même façon que vous résolvez un système de 2 équations, ajoutez simplement la troisième variable. En pratique, vous ne voulez presque jamais prendre l'inverse d'une matrice, il existe de meilleures méthodes comme la décomposition LU pour résoudre Ax=B. Puisque vous utilisez Jama, vous pouvez essayer l'extrait suivant

double [][] Aline12={{1.0, 1.0, 1.0},  // Create a 2D array to store A 
         {1.0, 2.0. 3.0}, 
         {1.0, 5.0, -3.0}}; 

    Matrix A = new Matrix(Aline12); // Copy array to A Matrix data structure 

    double [][] B1ine12 = {{9},  // Create a 2D array to store B 
          {23}, 
          {-7}}; 


    Matrix B = new Matrix(B1ine12); // Copy array to B Matrix data structure 

    Matrix X = A.solve(B) // Solve for X. See Jama documentation on solve 

Jama docs
http://math.nist.gov/javanumerics/jama/doc/