Serwis Edukacyjny w I-LO w Tarnowie Materiały dla uczniów liceum |
Wyjście Spis treści Wstecz Dalej
Autor artykułu: mgr Jerzy Wałaszek |
©2024 mgr Jerzy Wałaszek |
SPIS TREŚCI |
|
Podrozdziały |
Równanie liniowe ( ang. linear equation ) przyjmuje ogólnie postać:
Wyrazy a1,...,an oraz b nazywamy współczynnikami równania ( ang. coefficients ). Mogą one przyjmować wartości rzeczywiste lub zespolone. Wyrazy x1,...,xn nazywamy zmiennymi równania ( ang. variables ) lub niewiadomymi x ( ang. unknown x ). Rozwiązaniem równania ( ang. equation solution ) są takie wartości zmiennych x1,...,xn, które po wstawieniu do równania powodują spełnienie równości.
Przez układ m równań liniowych z n niewiadomymi ( ang. system of linear equations ) będziemy rozumieli zbiór m równań liniowych z tymi samymi niewiadomymi x:
Zapiszmy współczynniki i zmienne w postaci macierzowej:
Cały układ równań możemy zapisać w postaci macierzowej:
Układ równań liniowych może:
W tym rozdziale zajmiemy się rozwiązywaniem układu dwóch równań liniowych z dwiema niewiadomymi:
Wyrazy a, b, c, d, e, f są współczynnikami, x i y są poszukiwanymi niewiadomymi.
Mamy układ dwóch równań liniowych z dwoma niewiadomymi:
Wyznaczymy wzory na niewiadome. Z równania 2 wyliczamy zmienną y:
Wyprowadzony wzór wykorzystujemy w równaniu 1 do zastąpienia zmiennej y i wyliczenia zmiennej x:
Otrzymaliśmy wzór na zmienną x. Obliczamy x, po czym wynik wstawiamy do wzoru:
i otrzymujemy wartość zmiennej y.
Aby układ równań miał rozwiązanie, musi spełnić dwa warunki:
Postąpimy w sposób następujący:
Jeśli współczynnik e jest równy 0, to wymieniamy ze sobą parami współczynniki: a z d, b z e, c z f. Jeśli współczynnik e wciąż jest zerowy, to kończymy z błędem, układ równań nie posiada jednoznacznego rozwiązania lub jest sprzeczny. Następnie obliczamy wartość a · e – b · d. Jeśli wynosi ona zero, to również kończymy z błędem. Jeśli nie, wartość x liczymy ze wzoru:
Wartość x wykorzystujemy do policzenia wartości y ze wzoru:
Poniższy program wykorzystuje ten algorytm do rozwiązania układu dwóch równań liniowych z dwiema niewiadomymi. Dane do programu wczytywane są z okna konsoli w postaci 6 liczb, które odpowiadają kolejnym współczynnikom układu.
Układ równań:
Dane wejściowe:
5 6 17 -3 5 7 |
Przykładowy program w języku C++ // Układy równań liniowych // (C)2019 mgr Jerzy Wałaszek // Metody numeryczne //--------------------------- #include <iostream> #include <iomanip> #include <cmath> using namespace std; const double EPS = 0.000000001; int main() { setlocale(LC_ALL,""); cout << setprecision(4) << fixed; double a,b,c,d,e,f; // Współczynniki double x,y; // Zmienne double dd; // Dzielnik cout << "Rozwiązywanie układu 2 równań liniowych z 2 niewiadomymi\n" "--------------------------------------------------------\n\n" "Wprowadź współczynniki:\n"; cin >> a >> b >> c >> d >> e >> f; cout << endl << setw(9) << a << " * x = " << setw(9) << b << " * y = " << setw(9) << c << endl << setw(9) << d << " * x = " << setw(9) << e << " * y = " << setw(9) << f << endl << endl; if(fabs(e) < EPS) { swap(a,d); swap(b,e); swap(c,f); } dd = a * e - b * d; if((fabs(e) < EPS) || (fabs(dd) < EPS)) cout << "BRAK ROZWIĄZANIA\n\n"; else { x = (c * e - b * f) / dd; y = (f - d * x) / e; cout << "x = " << setw(9) << x << endl << "y = " << setw(9) << y << endl << endl; } return 0; } |
Wynik |
Rozwiązywanie układu 2 równań liniowych z
2 niewiadomymi -------------------------------------------------------- Wprowadź współczynniki: 5 6 17 -3 5 7 5.0000 * x + 6.0000 * y = 17.0000 -3.0000 * x + 5.0000 * y = 7.0000 x = 1.0000 y = 2.0000 |
Zespół Przedmiotowy Chemii-Fizyki-Informatyki w I Liceum Ogólnokształcącym im. Kazimierza Brodzińskiego w Tarnowie ul. Piłsudskiego 4 ©2024 mgr Jerzy Wałaszek |
Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone
pod warunkiem podania źródła oraz niepobierania za to pieniędzy.
Pytania proszę przesyłać na adres email:
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.