Rozwiązywanie układów algebraicznych równań liniowych Układy równań z macierzą trójkątną Jeżeli macierz a układu n



Pobieranie 33.53 Kb.
Data04.05.2016
Rozmiar33.53 Kb.
Rozwiązywanie układów algebraicznych równań liniowych

Układy równań z macierzą trójkątną
Jeżeli macierz A układu n równań z n niewiadomymi
A x = b
jest macierzą trójkątną (górną lub dolną), to rozwiązanie x takiego układu można uzyskać wykonując małą liczbę działań arytmetycznych i przy małych błędach zaokrągleń.

Macierz nazywamy macierzą trójkątną dolną (górną), jeżeli wszystkie elementy nad (pod) diagonalą są równe zeru.

Ustalmy, że A jest macierzą trójkątną górną i aby istniało jednoznaczne rozwiązanie załóżmy, że wszystkie elementy na głównej diagonali tej macierzy są różne od zera. Mamy zatem układ równań postaci:
(1)

Niewiadome x1, x2,...., xn obliczamy ze wzoru rekurencyjnego


(2)
(3)

gdzie:


i = n - 1, n - 2, ...., 1
Sposoby rozwiązania:

  1. Zapamiętać całą macierz kwadratową A(n x n) łącznie z zerami pod diagonalą.

  2. Zapamiętać tylko niezerowe elementy, np. w wektorze A(i), i = 1, 2, ..., k
    gdzie

Ad. 1 - sposoby rozwiązania


Realizacja:

  1. Wczytać macierz A trójkątną górną – współczynniki ai,j
    Wyzerować całą tablicę A(n x n).
    Czytanie współczynników ai,j:
    pętla po i := 1 to n
    pętla po j := i to n

  2. Wczytać składowe wektora B(i), i = 1, 2, ...., n – wyrazy wolne.

  3. Wyznaczyć rozwiązanie x
    - obliczyć xn ze wzoru (2)

    - w pętli po i := n – 1 DOWNTO 1 obliczamy pozostałe (tj. poprzednie) wartości xi
    Druga pętla po j := n DOWNTO (i + 1) potrzebna do nasumowania wyrazów typu „ - ai,j xj
    Po zakończeniu pętli wewnętrznej po „j” obliczyć wartość współczynnika xi ze wzoru:




Przykład:

N = 4





Ad. 2 - sposoby rozwiązania

Uwagi:

N – liczba równań, liczba niewiadomych,

A(i) – niezerowe elementy macierzy A umieszczone w tablicy jednowymiarowej A(i),
i = 1, 2, ...., k

B(i), i = 1,2, ..., N – wyrazy wolne; prawe strony równań,

X(i) – wektor niewiadomych xi

Adres elementu ai,j macierzy trójkątnej górnej w wektorze A(i) wynosi:



Realizacja:

  1. Wczytać macierz A trójkątną górną i zapamiętać jako wektor A(i)
    pętla po i := 1 to n
    pętla po j := i to n
    czytana składowa wektora A o indeksie:


  2. Wczytać składowe wektora B(i), i = 1, 2, ...., n – wyrazy wolne.

  3. Wyznaczyć rozwiązanie x
    - obliczyć wartość k

    - obliczyć xn ze wzoru (2)

    - w pętli po i := n – 1 DOWNTO 1 obliczamy pozostałe (tj. poprzednie) wartości xi

    Druga pętla po j := 1 TO NI potrzebna do nasumowania wyrazów typu „ - ai,j xj



    Liczby całkowite L, NI, KI służą do obliczania adresu współczynników ai,j w wektorze A(i).


Testy:



A(i,j)




B(i)




X(i)

7

-2

3

9




14




1,1




2

-1

4




8




5,0







5

-8




16




4,0










6




3




0,5


A(i,j)




B(i)




X(i)

2

4

2

3




12




6,2




2

5

4




8




-1,3







3

4




7




1,8










5




2




0,4




©absta.pl 2016
wyślij wiadomość

    Strona główna