ALG'8

ALG'8



278 Rozdziału, Algorytmy numeryczne

Mając macierz w takiej postaci, można już pokusić się o wyliczenie zmiennych (redukcja wsteczna, idziemy od ostatniego do pierwszego wiersza układu):

-= -0,6/0,6=-! y=l,2z-4.2=J x- (9-zj/5 -2

Metoda nie jest zatem skomplikowana, choć jej zapis w C++ może się wydać początkowo nieczytelny. Jedyną „niebezpieczną’' operacją metody eliminacji Gaussa jest... eliminacja zmiennych, która czasami może prowadzić do dzielenia przez zero (jeśli na etapie i eliminowana zmienna w danym równaniu nie występuje). Biorąc jednak pod uwagę, że zamiana wierszy miejscami nie wpływa na rozwiązanie układu. niebezpieczeństwo dzielenia przez zero może być łatwo oddalone poprzez taki właśnie wybieg. Oczywiście, zamiana wierszy może okazać się niemożliwa zc względu na niespełnienie warunku, jakim jest znalezienie poniżej wiersza / takiego wiersza, któiy ma konfliktową zmienną różną od zera. W takim przypadku układ równań nie ma rozwiązania, co też jest pewną informacją dla użytkownika!

Oto pełna treść programu wykonującego eliminację Gaussa, wraz z danymi przykładowymi:

gauss.cpp

const int N=3; double x(N]; II wyniki double a[N][N+l]=

<

15 ,

0,

1,

91,

łl ,

1,

1,

6),

(2,

-1,

1,

01


) l

int gauss(double a[N][N+l), double x[N])

(

int raax; double unp;

for(int i=0;i<N;i++) II eliminacja (

max=i;

for(int j-i+1ij<N;j++!

if(fabs(a[j][i)}>fabs(a[maxj[i])) max-j;

//fabs(x)=IxI,wartość bezwzględna dla danych double for(int k=i;k<Nt1;kr+)

// zamiana wierszy I

tmp=a t i J[k J;

a[i][k]=a[max][k]; a [max][k1=tmp;


Wyszukiwarka

Podobne podstrony:
ALG&8 268 Rozdziału. Algorytmy numeryczne11.1.Poszukiwanie miejsc zerowych funkcji Jednym z częstych
ALG 0 270____Rozdziału. Algorytmy numeryczne F(x, y)=0. (funkcję w klasycznej postaci y=f(x) można ł
ALG 4 274 Rozdział11. Algorytmy numeryczne (1,    7.00), // tablicy: wpisane sa dwie
ALG 6 276__Rozdziału. Algorytmy numeryczne double simpson_f(double i *f) (double),//wskaźnik do f(x)
ALG6 Rozdział 7. Algorytmy przeszukiwania r > dzielenie modulo RmM: H(v) = v% Rmax Przykład: Dla
ALG 0 200 Rozdział 7. Algorytmy przeszukiwania Rekordy E i F zostały zapamiętane w momencie stwierdz
ALG 2 202 Rozdział 7. Algorytmy przeszukiwani! gdzie a jest współczynnikiem zapełnienia tablicy T. A
ALG 4 204 Rozdział 7. Algorytmy przeszukiwania i (gdzie a jest, tak jak poprzednio, współczynnikiem
ALG 2 272 Rozdziału. Algorytmy numei 272 Rozdziału. Algorytmy numei (czyli F(z)) //zwraca wartość fu
ALG#0 230 Rozdział 9. Zaawansowane techniki programowania Koszt wyliczenia jednego elementu macierzy
str 1W13/14Uwarunkowanie zadania numerycznego i stabilność algorytmów Normy wektorów i macierzy W wi
ALG3 Rozdział 3Analiza sprawności algorytmów Podstawowe kryteria pozwalające na wybór właściwego al
ALG6 86 Rozdział 4. Algorytmy sortowania zamiany sąsiadujących ze sobą elementów, a druga będzie wy
ALG8 88 Rozdział 4. Algorytmy sortowania Jest chyba dość oczywiste, że wywołania rekurencyjne zatrz
ALG 0 90 Rozdział 4. Algorytmy sortowania 90 Rozdział 4. Algorytmy sortowania Rys. 4 - 8. Sortowanie
ALG5 Rozdział 6Derekursywacja Podjęcie tematu przekształcania algorytmów rekurencyjnych na ich post
ALG0 190 Rozdział 7. Algorytmy przeszukiwania Odnalezienie liczby .1 w tablicy tub jest sygnalizowa
ALG2 192 Rozdział 7. Algorytmy przeszukiwani; gdy maksymalna ilość elementów należących do pewnej d
ALG4 194 Rozdział 7. Algorytmy przeszukiwania •    powinna być tatwo obliczalna, tak

więcej podobnych podstron