MN12LAB: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Przykry (dyskusja | edycje)
Nie podano opisu zmian
Przykry (dyskusja | edycje)
mNie podano opisu zmian
Linia 201: Linia 201:
Powyższą równość implementujemy korzystając z operacji mnożenia <math>\displaystyle H_j</math>, opisanej w  poprzednim zadaniu. W szczególności pamiętamy, by nie wyznaczać pełnej macierzy <math>\displaystyle H_j</math>. Pseudokod procedury byłby następujący:
Powyższą równość implementujemy korzystając z operacji mnożenia <math>\displaystyle H_j</math>, opisanej w  poprzednim zadaniu. W szczególności pamiętamy, by nie wyznaczać pełnej macierzy <math>\displaystyle H_j</math>. Pseudokod procedury byłby następujący:


{{algorytm|||
{{algorytm|Metoda rozwiązywania układu równań przy użyciu przekształceń Householdera|Metoda rozwiązywania układu równań przy użyciu przekształceń Householdera|
<pre>\EATWSwyznacz macierze Householdera <math>\displaystyle H_1,\ldots, H_{N-1}</math> oraz macierz trójkątną <math>\displaystyle R</math>,
<pre>wyznacz macierze Householdera <math>\displaystyle H_1,\ldots, H_{N-1}</math> oraz macierz trójkątną <math>\displaystyle R</math>,
okreslające rozkład QR macierzy <math>\displaystyle A</math>;
okreslające rozkład QR macierzy <math>\displaystyle A</math>;


Linia 256: Linia 256:
Jak widać, występuje tu zadanie obliczania normy euklidesowej i w związku z tym ryzyko niepotrzebnego nadmiaru bądź niedomiaru. Dlatego w praktyce obliczeniowej rozpatrujemy dwa przypadki:
Jak widać, występuje tu zadanie obliczania normy euklidesowej i w związku z tym ryzyko niepotrzebnego nadmiaru bądź niedomiaru. Dlatego w praktyce obliczeniowej rozpatrujemy dwa przypadki:


{{algorytm|||
{{algorytm|Wyznaczenie obrotu Givensa|Wyznaczenie obrotu Givensa|
<pre>\EATWSif ( \PIPEREAD <math>\displaystyle x_1</math>\PIPEREAD  > \PIPEREAD <math>\displaystyle x_2</math>\PIPEREAD  )
<pre>if ( \PIPEREAD <math>\displaystyle x_1</math>\PIPEREAD  > \PIPEREAD <math>\displaystyle x_2</math>\PIPEREAD  )
{
{
t = <math>\displaystyle x_2</math> / <math>\displaystyle x_1</math>;
t = <math>\displaystyle x_2</math> / <math>\displaystyle x_1</math>;

Wersja z 21:41, 29 wrz 2006


Liniowe zadanie najmniejszych kwadratów

<<< Powrót do strony głównej przedmiotu Metody numeryczne

Oglądaj wskazówki i rozwiązania __SHOWALL__
Ukryj wskazówki i rozwiązania __HIDEALL__

Ćwiczenie: Rozszerzony układ równań dla zadania najmniejszych kwadratów

Inną, oprócz sprowadzenia do układu równań normalnych, metodą transformacji zadania najmniejszych kwadratów do zadania rozwiązywania układu równań z macierzą kwadratową, jest zapisanie w formie układu dwóch układów równań (sic!). Dokładniej, możemy scharakteryzować zadanie wygładzania jako znalezienie dwóch wektorów xRn oraz rRm takich, że

Parser nie mógł rozpoznać (nieznana funkcja „\aligned”): {\displaystyle \displaystyle \aligned r &= b - Ax,\\ A^T r &= 0. \endaligned}

Zapisz macierzowo ten układ równań. Wskaż, kiedy mogłoby być opłacalne stosowanie takiego podejścia. Porównaj koszt rozwiązania tego układu wprost metodą eliminacji Gaussa, z kosztem innych metod rozwiązywania zadania najmniejszych kwadratów.

Wskazówka
Rozwiązanie

Ćwiczenie

W twierdzeniu o uwarunkowaniu zadania najmniejszych kwadratów mówi się, że

||bAx*||2||b||2<1.

Wyjaśnij, dlaczego rzeczywiście tak jest.

Rozwiązanie

Ćwiczenie: Dopasowanie liniowych parametrów funkcji do danych

Znajdź a i b takie, że funkcja f(x)=a+bex minimalizuje błąd średniokwadratowy dla danych:

x f(x)
0.00 4.00000000000000e+00
1.25 3.28650479686019e+00
2.50 3.08208499862390e+00
3.75 3.02351774585601e+00
5.00 3.00673794699909e+00
6.25 3.00193045413623e+00
7.50 0.00055308437015e+00
8.75 3.00015846132512e+00
10.00 3.00004539992976e+00
Wskazówka
Rozwiązanie

Ćwiczenie: Ważone zadanie najmniejszych kwadratów

Niech A będzie macierzą m×n pełnego rzędu, przy czym mn. Podaj algorytm rozwiązywania ważonego zadania najmniejszych kwadratów:

i=1nωi|bi(Ax)i|2min!,

gdzie zakładamy, że 0<ωi1 są danymi wagami. (Gdy wszystkie ωi=1, zadanie sprowadza się do zwykłego zadania najmniejszych kwadratów.)

Rozwiązanie

Ćwiczenie

Opisz szczegółowo sposób rozwiązywania układu N równań z N niewiadomymi

Ax=b,

korzystający z rozkładu QR metodą Householdera.

Rozwiązanie

Ćwiczenie: Obroty Givensa

Innym sposobem wyzerowania wybranych elementów zadanego wektora x za pomocą przekształceń ortogonalnych jest zastosowanie tzw. obrotów Givensa,

(cssc)(x1x2)=||x||2(10).

Wskaż jak dobrać c i s tak, by macierz

G=(cssc)

była ortogonalna i przekształcała x w zadany wyżej sposób. Jak zastosować sekwencję obrotów Givensa tak, by zadany wektor N-wymiarowy przeprowadzić na wektor o kierunku wektora jednostkowego? Porównaj koszt tej operacji z kosztem przekształcenia Householdera. Kiedy opłaca się stosować obroty Givensa w miejsce odbić Householdera?

Rozwiązanie