Zadanie do wykonania
Celem ćwiczenia jest rozwiązanie M układów N równań liniowych zawierających łącznie M*N niewiadomych metodą eliminacji Gaussa. Taką grupę układów równań liniowych można zapisać w postaci:
Gdzie odpowiednio:
Po przekształceniu można zapisać macierz rozszerzoną C o postaci:
Wartości elementów macierzy głównej A są takie same w przypadku wszystkich M układów równań rozwiązywanych podczas ćwiczeń laboratoryjnych (jest to podstawowy warunek, który musi być spełniony aby można było rozwiązywać jednocześnie M układów N równań liniowych metodą eliminacji Gaussa).
Założenia
Przed przystąpieniem do rozwiązywania zadania prowadzący zajęcia zobowiązany jest przedstawić każdej sekcji zbiór danych wejściowych. Dane wejściowe przedstawione są w postaci M układów N równań liniowych. Otrzymane dane nie przedstawiają bezpośrednio postaci macierzy głównej układu, macierzy niewiadomych (względnie wektora niewiadomych), macierzy wyrazów wolnych (względnie wektora wyrazów wolnych). W pierwszej kolejności należy zapisać treść plików zawierających wartości elementów odpowiednich macierzy niezbędnych do wykonania zadania.
Podczas wykonywania zadania nie można korzystać z funkcji wewnętrznych narzędzia MATLAB związanych z działaniami na macierzach !!!
Opis działania programu
Przed przystąpieniem do zajęć każda sekcja powinna otrzymać pliki zawierające treść funkcji pomocniczych CzytajMacierz() oraz WypiszMacierz() (opis funkcji oraz format plików zawierających dane opisano w pkt. 4).
W funkcji głównej programu należy:
wczytać postaci macierzy zapisanych dla rozwiązywanych układów równań liniowych stosując funkcję CzytajMacierz().
Wykonywać działania na elementach macierzy rozszerzonej C z zastosowaniem algorytmu eliminacji Gaussa.
Wypisać do pliku wartości elementów macierzy zawierającej rozwiązanie układów równań. W tym celu należy zastosować funkcję WypiszMacierz().
Opis funkcji pomocniczych, formaty plików
Funkcja CzytajMacierz()
Funkcja CzytajMacierz() pozwala na czytanie wartości elementów macierzy z pliku tekstowego. Funkcja zwraca wartości elementów macierzy. Parametrem wywołania funkcji jest nazwa pliku zawierającego dane. Jeżeli nazwa pliku będzie podana bez rozszerzenia zostanie ono domyślnie przyjęte jako .txt.
Funkcja WypiszMacierz()
Funkcja WypiszMacierz() pozwala na wypisanie wartości elementów macierzy z pliku tekstowego. Funkcja jest typu void. Parametrami wywołania funkcji są nazwa macierzy, którą chcemy zapisać w pliku oraz nazwa pliku wynikowego. Jeżeli nazwa pliku będzie podana bez rozszerzenia zostanie ono domyślnie przyjęte jako .txt.
Format plików
Przyjęto, że format plików zawierających dane do zadania będzie następujący:
Liczba wierszy macierzy
Liczba kolumn macierzy
Kolejne elementy macierzy zapisane w wierszach
np.
3
3
3 6 7
4 8 2
3 7 1
Literatura
[1] Majchrzak E., Mochncki B., „Metody numeryczne. Podstawy teoretyczne, apsekty praktyczne i algorytmy”.
[2] Sedgewick R., „Algorithms”, Addison-Wesley, USA 1983
[3] Skiena S. Steven, „The Algorithms Design Manual”, Springer, USA 1998
[4] „MATLAB. The Language of Technical Computing. Using MATLAB”, The Math Works Inc., 1996 USA
[5] „MATLAB. High Performance Numeric Computation and Visualization Software. Reference Guide”, The Math Works Inc., 1994 USA
Katedra Podstaw Konstrukcji Maszyn
Instrukcja do zajęć laboratoryjnych nr 4. Metody numeryczne
Temat: Układy równań liniowych - metoda eliminacji Gaussa. (4.1)
Opracował: Adam CHOLEWA 99-02-20