Lösen system von zwei Gleichungen mit zwei unbekannten

Lösen Sie das system von zwei Gleichungen mit zwei unbekannten unter:

Lösen system von zwei Gleichungen mit zwei unbekannten

a1, b1, c1, a2, b2 und c2 eingegeben werden, durch den Nutzer selbst.

Ich habe versucht zu finden eine mathematische Lösung für das problem erste und ich kann nicht scheinen, zu weit zu gehen..

Was ich bisher ausprobiert habe ist :

  1. Aus der ersten Gleichung zu finden y. (b1y = c1-a1x, y = (c1-a1x)/b1)
  2. Dann Ersetze ich y in die zweite Gleichung ein und bekomme ich eine Gleichung mit 1 unbekannten, in diesem Fall x. Jedoch kann ich nicht lösen Sie die Gleichung, bekomme ich einige ungerade zahlen /Gleichungen und stoppte hier.

Ist das richtig oder gibt es einen einfacheren Weg, dies zu tun?

Aktuelle code:

#include <iostream>

using namespace std;

int main()
{
    int a1, b1, c1, a2, b2, c2;
    cout << "Enter the values for the first equation." << endl;
    cout << "Enter the value for a1" << endl;
    cin >> a1;
    cout << "Enter the value for b1" << endl;
    cin >> b1;
    cout << "Enter the value for c1" << endl;
    cin >> c1;
    cout << "Enter the values for the second equation." << endl;
    cout << "Enter the value for a2" << endl;
    cin >> a2;
    cout << "Enter the value for b2" << endl;
    cin >> b2;
    cout << "Enter the value for c2" << endl;
    cin >> c2;
    cout << "Your system of equations is the following:" << endl;
    cout << a1 << "x+" << b1 << "y=" << c1 << endl;
    cout << a2 << "x+" << b2 << "y=" << c2 << endl;

if ((a1 * b2) - (b1 * a2) == 0){
    cout << "The system has no solution." << endl;
}
else{
    res_x = ((c1*b2) - (b1*c2))/((a1*b2)-(b1*a2));
    res_y = ((a1*c2) - (c1*a2)) / ((a1*b2) - (b1*a2));
    cout << "x=" << res_x << " y=" << res_y << endl;
}

    return 0;
}
  • C++ code bitte
  • in Ihrem code, zuerst sollten Sie überprüfen, ob Ihr system von 2 unbekannten hat, infinity oder keine Lösung (Berechnung der Determinante)
  • Die Lösung ist unmittelbar gegeben als die inverse der 2x2-matrix (a1,b1; a2,b2) iff die matrix ist invertierbar (d.h. det != 0).
  • Möglicherweise möchten Sie überprüfen, einige der Bibliothek für die Lösung von Gleichungen (z.B. sowas wie eigen).
  • Cramer ' s rule
  • Oder, wenn Sie wissen möchten, wie man auf die Lösung, ohne zu wissen, was @AlexanderGessler gesagt, Sie könnten dies tun: multiplizieren Sie erste Beziehung mit b2 zweiten Bezug mit b1 und danach subtrahieren Sie die beiden Beziehungen. Bekommen Sie so etwas wie x * (a1b2-a2b1) = c1b2 - c2b1. Jetzt müssen Sie nur noch überprüfen, dass a1b2 - a2b1 ist nicht 0 und wenn nicht, teilen Sie den letzten Zusammenhang mit, und Sie erhalten x. Wenn es 0 ist, haben keine Lösung.
  • Wenn es 0 ist, brauchen Sie nicht eine eindeutige Lösung (entweder keine Lösung oder unendlich)
  • Gelöst mit Cramer ' s rule.. danke!

InformationsquelleAutor user2925251 | 2013-10-27
Schreibe einen Kommentar