Lösen system von zwei Gleichungen mit zwei unbekannten
Lösen Sie das system von zwei Gleichungen mit zwei unbekannten unter:
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 :
- Aus der ersten Gleichung zu finden y. (b1y = c1-a1x, y = (c1-a1x)/b1)
- 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 mitb1
und danach subtrahieren Sie die beiden Beziehungen. Bekommen Sie so etwas wiex * (a1b2-a2b1) = c1b2 - c2b1
. Jetzt müssen Sie nur noch überprüfen, dassa1b2 - a2b1
ist nicht 0 und wenn nicht, teilen Sie den letzten Zusammenhang mit, und Sie erhaltenx
. 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!
Du musst angemeldet sein, um einen Kommentar abzugeben.
lösen wir das lineare system mit Cramer ' s rule:
./cramer_equation_system 1 2 5 1 -1 -1
Cramer-Gleichungen system: Ergebnis x = 1.000000, y = 2.000000