Metody Numeryczne w Mechanice - Ćwiczenia laboratoryjne (M.Pyrz) Rozwiązywanie układu równań liniowych 1. Programowanie
Napisać skrypt w Scilabie umożliwiający rozwiązanie układu równań liniowych Ax = b za pomocą metody Gaussa-Jordana (A jest znaną macierzą regularną rzędu n, b jest znanym wektorem prawych stron a x jest poszukiwanym wektorem). W procedurze rozwiązywania układu zastosujemy strategię doboru linii z elementem podstawowym o największej wartości bezwzględnej w odpowiedniej kolumnie macierzy A.
Program powinien czytelnie wyświetlić na ekranie dane wejściowe oraz uzyskane rozwiązanie.
2. Test procedury
Przetestować procedurę na trzech następujących przykładach:
2
1
0
4
2
−
−
19
5
7
8
1
2
3
2
4
2
−
3
7
−
9
−
A
=
b
=
A = 2
7
2
b = 2 ; A = 4
5
6
b =
5
− ;
4
1
2
8
−
2
1 6 11
1
2 4
6
−
−
3
0
3
−
1
− 2
1
−
2
Sprawdzić dokładność rozwiązania obliczając Ax − b .
Porównać z wynikiem uzyskanym za pomocą polecenia A\b.
3. Przyklad obliczeniowy: Aproksymacja wyników eksperymentalnych a) W wyniku testów laboratoryjnych uzyskano n=7 punktów doświadczalnych o następujących współrzędnych (xi,yi) : (-1.5, 0.9) (-1.0, 1.2) (-0.5, -0.8) (0.0, -2.0) (0.5, -1.3) (1.0, -0.5) (1.3, 0.5) Wyznaczyć współczynniki ak paraboli y(x) = a0 + a1x + a2x2 najlepiej aproksymującej podane dane (w sensie najmniejszych kwadratów). Wartości parametrów można obliczyć rozwiązując następujący układ równań liniowych:
n
n
n
2
n
∑ x ∑ x a
∑
0
y
i
i
i
i 1
=
i 1
=
i 1
=
n
n
n
n
2
3
∑
∑
∑ = ∑
x
x
x
a
x y
i
i
i
1
i
i
i 1
=
i 1
=
i 1
=
i 1
=
n
n
n
n
2
3
4
2
∑ x
∑ x ∑ x a ∑ x y
i
i
i
2
i
i
i 1
=
i 1
=
i 1
=
i 1
=
b) Wyznaczyć następnie współczynniki a0 , a1 prostej y = a0 + a1x , która najlepiej aproksymuje dane punkty doświadczalne (jest to tzw. problem regresji liniowej). Rozwiązanie otrzymamy rozpatrując analogiczny układ równań o dwóch niewiadomych a0 , a1, powstały przez usunięcie trzeciej linii i trzeciej kolumny z układu przedstawionego powyżej.
c) Przedstawić na rysunku punkty eksperymentalne oraz wynik aproksymacji parabolicznej i liniowej.
d) Powtórzyć aproksymacje parabolą i następnie linią prostą dla n=10 punktów eksperymentalnych, o współrzędnych wygenerowanych losowo w przedziale x
, y
.
i ∈ [ ,
0 10]
i ∈ [ ,
0 20]
Zadania dodatkowe (nieobowiązkowe) : Opracować wersję zapisującą wynik w pliku (i ewentualnie czytającą dane z pliku).