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ęstychALG 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 dwieALG 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: DlaALG 0 200 Rozdział 7. Algorytmy przeszukiwania Rekordy E i F zostały zapamiętane w momencie stwierdzALG 2 202 Rozdział 7. Algorytmy przeszukiwani! gdzie a jest współczynnikiem zapełnienia tablicy T. AALG 4 204 Rozdział 7. Algorytmy przeszukiwania i (gdzie a jest, tak jak poprzednio, współczynnikiemALG 2 272 Rozdziału. Algorytmy numei 272 Rozdziału. Algorytmy numei (czyli F(z)) //zwraca wartość fuALG#0 230 Rozdział 9. Zaawansowane techniki programowania Koszt wyliczenia jednego elementu macierzystr 1W13/14Uwarunkowanie zadania numerycznego i stabilność algorytmów Normy wektorów i macierzy W wiALG3 Rozdział 3Analiza sprawności algorytmów Podstawowe kryteria pozwalające na wybór właściwego alALG6 86 Rozdział 4. Algorytmy sortowania zamiany sąsiadujących ze sobą elementów, a druga będzie wyALG8 88 Rozdział 4. Algorytmy sortowania Jest chyba dość oczywiste, że wywołania rekurencyjne zatrzALG 0 90 Rozdział 4. Algorytmy sortowania 90 Rozdział 4. Algorytmy sortowania Rys. 4 - 8. SortowanieALG5 Rozdział 6Derekursywacja Podjęcie tematu przekształcania algorytmów rekurencyjnych na ich postALG0 190 Rozdział 7. Algorytmy przeszukiwania Odnalezienie liczby .1 w tablicy tub jest sygnalizowaALG2 192 Rozdział 7. Algorytmy przeszukiwani; gdy maksymalna ilość elementów należących do pewnej dALG4 194 Rozdział 7. Algorytmy przeszukiwania • powinna być tatwo obliczalna, takwięcej podobnych podstron