INF1


Robert Szmurło grupa E-8

Rozwiązywanie macierzy metodą Gaussa-Jordana.

Rozwiązywanie układów równań algebraicznych liniowych o współczynnikach rzeczywistych jest często występującym problemem w zagadnieniach technicznych. Do analizy tego typu układów jedną z najbardziej poręcznych metod jest metoda Gaussa-Jordana. Jej zasadniczymi zaletami są:

a) stosunkowo prosty algorytm postępowania,

b) duża niezawodność i szerokie zastosowanie,

c) duża szybkość działania.

Ostatni element w dzisiejszych czasach coraz większej komplikacji urządzeń i algorytmów jest bardzo ważny.

Postaram się pobieżnie przedstawić zasadnicze założenia tej metody.

Załóżmy, że posiadamy układ równań liniowych o stałych współczynnikach:

,gdzie

A - macierz o rozmiarze n*n współczynników przy niewiadomych,

x - wektor niewiadomych o rozmiarze n,

B - wektor wyrazów wolnych.

Metoda Gaussa-Jordana polega na specyficznych przekształceniach macierzy prostokątnej AB, którą tworzy się dodając wektor wyrazów wolnych do macierzy współczynników. Operacje te mają doprowadzić do tego aby macierz współczynników przekształcić w macierz jednostkową. Wówczas ostatnia kolumna macierzy AB będzie stanowiła wektor rozwiązań danego układu. Macierz AB jest również zwana macierzą roboczą, gdyż to właśnie na niej są przeprowadzane wszelkie operacje.

Opis metody:

  1. Tworzymy tablicę roboczą AB o rozmiarach n*n+m, gdzie n stanowi ilość zmiennych, a m ilość prawych stron układu równań.

  2. Kolejno K=1,2,..,n wykonujemy następujące operacje:

    1. znajdujemy maksymalny co do wartości bezwzględnej element w kolumnie o numerze K. Niech w dalszym ciągu znajduje się on w wierszu I,

    2. jeżeli IK, to należy zamienić miejscami wiersz I z wierszem K,

    3. jeżeli element AB(K,K) = 0, to macierz podanego układu równań jest osobliwa i nie można wyznaczyć rozwiązania (w tym momencie następuje koniec działania),

    4. jeżeli element AB(K,K) 0, to dla każdego I=K+1,..,n+m wykonujemy AB(K,I) = ,

    5. dla każdego IK i I=1,..,n oraz dla każdego J=K+1,..,n+m wykonujemy: AB(I,J) = AB(I,J) - AB(I,K)*AB(K,J).

  1. Po wykonaniu punktu 2 kolumny n+1,..,n+m macierzy AB zawierają rozwiązanie podanego układu równań dla m prawych stron.

  2. Aby obliczyć wyznacznik rozwiązywanego układu równań należy wymnożyć wyrazy stojące na głównej przekątnej tablicy AB, tzn.: DET = DET * AB(K,K), oraz sprawdzić ilość dokonanych zmian w punkcie 2b). Jeżeli ilość zmian jest nieparzysta to wartość wyznacznika należy pomnożyć przez -1, jeżeli parzysta przez 1.

Uwagi:

Wykonanie dzielenia przez maksymalny element kolumny ma na celu zwiększenie dokładności.

Jeżeli maksymalny element ma wartość zero, to oznacza że macierz jest osobliwa.

operacja 2d odpowiada podzieleniu każdego wyrazu k-tego wiersza przez wyraz AB(K,K). Z punktu widzenia operacji macierzowych rząd macierzy po tej operacji pozostaje bez zmian. Wyrazy 1,.. K-1 w wierszu K-tym są zerowe, dzielenie więc nie jest wykonywane. Wyraz A(K,K) po podzieleniu wynosi 1, lecz tu pozostaje zostawiony bez zmiany dla policzenia wyznacznika macierzy.

Operacja 2d powoduje, że w kolumnie K-tej, we wszystkich wierszach z wyjątkiem K-tego pojawią się zera. Z teorii operacji macierzowych punkt 2e odpowiada odjęciu od dowolnego wiersza innego wiersza pomnożonego przez skalar, co nie zmienia rzędu macierzy.

Załączony przeze mnie program posługuje się procedurą Gauss-Jordan, która całkowicie została oparta na przedstawionej powyżej metodzie. Program ten rozwiązuje układ równań liniowych o rozmiarze maksymalnym równym 7*7 ( siedem niewiadomych) i ilości prawych stron równej 1. Ilość prawych stron równa jeden jest spowodowana tym, że przy rozwiązywaniu układów równań liniowych nie jest niezbędna większa ilość tych elementów. Po zakończeniu obliczania program pyta się użytkownika czy życzy on sobie obliczyć inną macierz. W przypadku odpowiedzi twierdzącej. Program wraca do części w której wprowadza się dane nie zerując poprzednio wprowadzonej macierzy, co ułatwia wprowadzanie poprawek podczas używania programu.

Metoda Gaussa-Jordana, jak już wcześniej wspomniałem ma szerokie zastosowanie w rozwiązywaniu problemów przemysłowych. Stosować ją można praktycznie wszędzie, gdzie ma się do czynienia z macierzami. Jednym z najbardziej popularnych, jest zastosowanie tej metody do rozwiązywania układów elektrycznych. Wyróżnia się nawet osobne pojęcie o nazwie macierzy czwórnika. Jest to macierz utworzona z parametrów czwórnika występujących w równaniach zasadniczych czwórnika. Odpowiednio do czterech różnych postaci tych równań rozróżnia się macierz czwórnika: oporową, przewodnościową, łańcuchową i szeregowo - równoległą. rachunek macierzowy znajduje również zastosowanie przy całkowaniu układów równań różniczkowych zwyczajnych liniowych, także w mechanice np. przy badaniu małych drgań układów mechanicznych i elektrycznych, w mechanice kwantowej i wielu innych dziedzinach nauki.

Bibliografia

W.Koziński, M.Neyman, R.Świniarski - „Laboratorium Podstaw Informatyki” WPW 1987.



Wyszukiwarka

Podobne podstrony:
inf1
lista 3 inf1 w3
lista 6 inf1 w6 dod
INF1 2011 Prac 07
sylabus technol inf1
lista 6 inf1 w6
INF1 2011 Wykl 07 Dzienne 4na1
inf1, Studia, UTP Ochrona środowiska, I rok, Semestr II, Informatyka
lista 6, inf1 w6
lista 3, inf1 w3
INF1 2012 Wykl 02 Zaoczne
INF1 2011 Wykl 07 Dzienne 4na1

więcej podobnych podstron