17.05.2015 Views

Metody numeryczne cz. 2 - Instytut Metod Komputerowych w ...

Metody numeryczne cz. 2 - Instytut Metod Komputerowych w ...

Metody numeryczne cz. 2 - Instytut Metod Komputerowych w ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Michał Pazdanowski<br />

<strong>Instytut</strong> Technologii Informacyjnych w Inżynierii Lądowej<br />

Wydział Inżynierii Lądowej<br />

Politechnika Krakowska<br />

Nadokreślony Układ Równań<br />

Z nadokreślonym układem liniowych równań algebrai<strong>cz</strong>nych mamy do <strong>cz</strong>ynienia w sytuacji, gdy<br />

li<strong>cz</strong>ba liniowo niezależnych równań m jest większa niż wymiar przestrzeni (li<strong>cz</strong>ba zmiennych) n .<br />

Tak postawiony problem nie ma jednozna<strong>cz</strong>nego rozwiązania. Możliwe jest jedynie wyzna<strong>cz</strong>enie<br />

jego pseudorozwiązania przy zastosowaniu dodatkowego kryterium. Takim kryterium może być<br />

warunek minimalizacji błędu B rozumianego jako suma odległości punktu w przestrzeni n wymiarowej,<br />

stanowiącego poszukiwane pseudorozwiązanie, od m hiperpłasz<strong>cz</strong>yzn będących obrazami<br />

posz<strong>cz</strong>ególnych równań. Jeżeli przez A<br />

[ m × n]<br />

ozna<strong>cz</strong>ymy prostokątną macierz główną układu równań<br />

o elementach a<br />

ij,<br />

i = 1,2,...,<br />

m;<br />

j = 1,2,...,<br />

n , przez D<br />

[ m×1<br />

]<br />

macierz prawej strony o elementach d<br />

i,<br />

i = 1,2,...,m<br />

a przez X<br />

[ n×1<br />

]<br />

macierz niewiadomych o elementach x<br />

j,<br />

j = 1,2,...,<br />

n , nasz problem możemy<br />

przedstawić jako poszukiwanie minimum wyrażenia (1) ze względu na składowe x<br />

j<br />

wektora<br />

X<br />

m m<br />

⎛<br />

n<br />

2<br />

⎞<br />

B = ∑ε i<br />

= ∑∑<br />

⎜ aij<br />

⋅ x<br />

j<br />

− di<br />

⎟ , (1)<br />

i=<br />

1 i= 1 ⎝ j=<br />

1 ⎠<br />

co jest równoważne znalezieniu takiego wektora X , który <strong>cz</strong>yni zadość warunkowi:<br />

gdzie<br />

∂B<br />

∂x<br />

k<br />

= 2⋅<br />

m<br />

∑<br />

i=<br />

1<br />

∂B<br />

∂x<br />

a<br />

ik<br />

k<br />

⎛<br />

⋅<br />

⎜<br />

⎝<br />

= 0 , k = 1,2,..., n<br />

n<br />

∑<br />

j=<br />

1<br />

⎞<br />

aij<br />

⋅ x<br />

j<br />

− di<br />

⎟,<br />

⎠<br />

2<br />

, (2)<br />

k = 1,2,..., n<br />

. (3)<br />

Warunek (2) po dokonaniu różni<strong>cz</strong>kowania (3) prowadzi po zmianie kolejności sumowania w nawiasach,<br />

n m<br />

m<br />

⎛ ⎞<br />

∑∑ ⎜ aik ⋅ aij<br />

⎟⋅ x<br />

j<br />

− ∑aik<br />

⋅ di<br />

= 0, k = 1,2,...,<br />

n<br />

j= 1⎝<br />

i=<br />

1 ⎠ i=<br />

1<br />

do ostate<strong>cz</strong>nego układu liniowych równań algebrai<strong>cz</strong>nych:<br />

n<br />

∑<br />

j=<br />

1<br />

, (4)<br />

α<br />

kj<br />

⋅ x<br />

j<br />

= δk<br />

, k = 1,2,...,<br />

n , (5)<br />

w którym współ<strong>cz</strong>ynniki macierzy głównej Α [ n×n]<br />

i prawej strony ∆[ n ×1]<br />

wyzna<strong>cz</strong>a się z:<br />

α<br />

kj<br />

=<br />

δ =<br />

k<br />

m<br />

∑<br />

i=<br />

1<br />

m<br />

∑<br />

i=<br />

1<br />

a<br />

a<br />

ik<br />

ik<br />

⋅ a<br />

⋅ d<br />

ij<br />

i<br />

. (6)<br />

Rozważane zadanie można nieco rozbudować przypisując posz<strong>cz</strong>ególnym równaniom wagi w ii<br />

,<br />

i = 1,2,...,m<br />

, zapisane w macierzy diagonalnej W [ m × m]<br />

a związane np. z istotnością posz<strong>cz</strong>ególnych<br />

równań, a ra<strong>cz</strong>ej dokładnością ich spełnienia przez znalezione pseudorozwiązanie. W takim przypadku<br />

zależności (1) do (6) przyjmą postać:<br />

1


Michał Pazdanowski<br />

<strong>Instytut</strong> Technologii Informacyjnych w Inżynierii Lądowej<br />

Wydział Inżynierii Lądowej<br />

Politechnika Krakowska<br />

m m<br />

m m<br />

⎛<br />

n<br />

2<br />

⎞<br />

B = ∑∑wii<br />

⋅ε i<br />

= ∑∑<br />

wii<br />

⎜∑aij<br />

⋅ x<br />

j<br />

− di<br />

⎟<br />

i= 1 i=<br />

1<br />

i= 1 i=<br />

1 ⎝ j=<br />

1 ⎠<br />

, (7)<br />

po dokonaniu różni<strong>cz</strong>kowania (2) dojdziemy do zależności:<br />

m m n<br />

∂B<br />

⎡ ⎛<br />

⎞⎤<br />

= 2⋅∑<br />

aik<br />

⋅ ⎢∑<br />

wii<br />

⋅ aij<br />

x<br />

j<br />

di<br />

⎥,<br />

x<br />

⎜∑<br />

⋅ −<br />

⎟<br />

∂<br />

k i=<br />

1 ⎣ i=<br />

1 ⎝ j=<br />

1 ⎠⎦<br />

k = 1,2,..., n . (8)<br />

a po zmianie kolejności sumowania w nawiasach,<br />

n m m<br />

m m<br />

⎡ ⎛ ⎞⎤<br />

⎛ ⎞<br />

∑∑ ⎢ aik ⋅⎜∑wii<br />

⋅aij<br />

⎟⎥ ⋅ x<br />

j<br />

−∑∑<br />

⎜ wii⋅aik<br />

⎟⋅di<br />

= 0,<br />

j= 1⎣<br />

i= 1 ⎝ i=<br />

1 ⎠⎦<br />

i= 1⎝<br />

i=<br />

1 ⎠<br />

k = 1,2,...,<br />

n , (9)<br />

do ostate<strong>cz</strong>nego układu liniowych równań algebrai<strong>cz</strong>nych (5), w którym przez α i δ ozna<strong>cz</strong>ono<br />

odpowiednio:<br />

α<br />

kj<br />

=<br />

δ =<br />

k<br />

m<br />

∑<br />

a<br />

∑∑ ⎜<br />

i= 1 i=<br />

1<br />

∑<br />

i= 1<br />

ik<br />

⎝ i=<br />

1<br />

m m<br />

⎛<br />

⎝<br />

⎛<br />

⋅⎜<br />

m<br />

w ⋅a<br />

ii<br />

w ⋅a<br />

ik<br />

ii<br />

⎞<br />

⎟⋅<br />

⎠<br />

ij<br />

d<br />

⎞<br />

⎟<br />

⎠<br />

i<br />

2<br />

. (10)<br />

Prezentowany sposób postępowania prześledzimy na przykładach. Na po<strong>cz</strong>ątek rozważmy nadokreślony<br />

układ równań:<br />

⎧−1⋅<br />

x1<br />

+ 2⋅<br />

x2<br />

= −1<br />

⎪<br />

2⋅<br />

x1<br />

+ 3⋅<br />

x2<br />

= 2<br />

⎨<br />

⎪ − 2⋅<br />

x1<br />

−1⋅<br />

x2<br />

= 1<br />

⎪<br />

⎩ 4⋅<br />

x2<br />

= 2<br />

Ponieważ obli<strong>cz</strong>enia przedstawione wzorami (1) – (6) wygodniej jest prowadzić posługując się zapisem<br />

macierzowym, wobec tego zapiszemy układ równań (11) jako:<br />

A ⋅ X = D , (12)<br />

gdzie odpowiednio:<br />

⎡−1<br />

2 ⎤<br />

⎢<br />

2 3<br />

⎥<br />

⎢ ⎥<br />

⎡ x1<br />

⎤<br />

A =<br />

, X =<br />

⎢−<br />

2 −1<br />

⎥<br />

⎢ ⎥ ,<br />

⎣x2<br />

⎦<br />

⎢ ⎥<br />

⎣ 0 4 ⎦<br />

Wów<strong>cz</strong>as macierze Α [ n×n]<br />

i ∆[ n ×1]<br />

układu równań (5) obli<strong>cz</strong>ymy następująco:<br />

(11)<br />

⎡−1<br />

⎤<br />

⎢<br />

2<br />

⎥<br />

D = ⎢ ⎥ . (13)<br />

⎢ 1 ⎥<br />

⎢ ⎥<br />

⎣ 2 ⎦<br />

Α = A T ⋅ A , ∆ = A T ⋅ D<br />

(14)<br />

<strong>cz</strong>yli w rozważanym tu przykładzie będziemy mieli:<br />

⎡−1<br />

Α = ⎢<br />

⎣ 2<br />

2<br />

3<br />

− 2<br />

−1<br />

0<br />

4<br />

T<br />

⎤<br />

⎥<br />

⎦<br />

⎡−1<br />

⎢<br />

2<br />

⋅ ⎢<br />

⎢−<br />

2<br />

⎢<br />

⎣ 0<br />

2 ⎤<br />

3<br />

⎥<br />

⎡9<br />

⎥ =<br />

−1<br />

⎥<br />

⎢<br />

⎣6<br />

⎥<br />

4 ⎦<br />

6<br />

30<br />

⎤<br />

⎥<br />

⎦<br />

, (15)<br />

2


Michał Pazdanowski<br />

<strong>Instytut</strong> Technologii Informacyjnych w Inżynierii Lądowej<br />

Wydział Inżynierii Lądowej<br />

Politechnika Krakowska<br />

⎡−1<br />

⎤<br />

T ⎢ ⎥<br />

⎡−1<br />

2 − 2 0 ⎤ 2<br />

⎢ ⎥<br />

⎡ 3 ⎤<br />

∆ = ⎢<br />

⎥ ⋅ =<br />

⎢ ⎥<br />

⎢ ⎥<br />

⎣ 2 3 −1<br />

4 ⎦ 1 ⎣11<br />

⎦<br />

⎢ ⎥<br />

⎣ 2 ⎦<br />

, (16)<br />

a ostate<strong>cz</strong>ny układ równań:<br />

Α⋅<br />

X = ∆ , (17)<br />

który należy rozwiązać przyjmie postać:<br />

⎡9<br />

6 ⎤ ⎡ ⎤ ⎡ ⎤<br />

⎥ ⋅ x1<br />

3<br />

⎢ ⎢ ⎥ = ⎢ ⎥<br />

⎣6<br />

30 ⎦ ⎣x2⎦<br />

⎣11<br />

⎦<br />

. (18)<br />

Rozwiązaniem tego układu równań, <strong>cz</strong>yli pseudorozwiązaniem problemu (11) w sensie najmniejszych<br />

kwadratów jest macierz:<br />

⎡0,102564⎤<br />

X = ⎢ ⎥ ,<br />

⎣0,346154⎦<br />

(19)<br />

Rozważmy teraz to samo zadanie z przypisanymi posz<strong>cz</strong>ególnym równaniom wagami. I tak równaniom:<br />

pierwszemu, trzeciemu i <strong>cz</strong>wartemu przypiszmy wagę 1 , a równaniu drugiemu wagę 10 . W<br />

zapisie macierzowym odpowiada to utworzeniu macierzy wag ozna<strong>cz</strong>onej W [ n × n]<br />

i w naszym przypadku<br />

równej:<br />

⎡1<br />

0 0 0 ⎤<br />

⎢<br />

0 10 0 0<br />

⎥<br />

W = ⎢<br />

⎥ . (20)<br />

⎢0<br />

0 1 0 ⎥<br />

⎢<br />

⎥<br />

⎣0<br />

0 0 1 ⎦<br />

Macierze Α [ n×n]<br />

i ∆[ n ×1]<br />

układu równań (5) obli<strong>cz</strong>ymy tym razem następująco (10):<br />

Α = A T ⋅W<br />

⋅ A , ∆ = A T ⋅W<br />

⋅ D , (21)<br />

<strong>cz</strong>yli w rozważanym tu przykładzie będziemy mieli:<br />

⎡−1<br />

Α = ⎢<br />

⎣ 2<br />

2<br />

3<br />

⎡−1<br />

∆ = ⎢<br />

⎣ 2<br />

a ostate<strong>cz</strong>ny układ równań:<br />

− 2<br />

−1<br />

0<br />

4<br />

T<br />

⎤<br />

⎥<br />

⎦<br />

− 2<br />

−1<br />

który należy rozwiązać przyjmie postać:<br />

2<br />

3<br />

⎡1<br />

⎢<br />

0<br />

⋅ ⎢<br />

⎢0<br />

⎢<br />

⎣0<br />

0<br />

4<br />

T<br />

⎤<br />

⎥<br />

⎦<br />

0<br />

10<br />

0<br />

0<br />

⎡1<br />

⎢<br />

0<br />

⋅ ⎢<br />

⎢0<br />

⎢<br />

⎣0<br />

0<br />

0<br />

1<br />

0<br />

0<br />

10<br />

0<br />

0<br />

0 ⎤ ⎡−1<br />

0<br />

⎥ ⎢<br />

2<br />

⎥ ⋅ ⎢<br />

0 ⎥ ⎢−<br />

2<br />

⎥ ⎢<br />

1 ⎦ ⎣ 0<br />

0<br />

0<br />

1<br />

0<br />

2 ⎤<br />

3<br />

⎥<br />

⎡45<br />

⎥ =<br />

−1<br />

⎥<br />

⎢<br />

⎣60<br />

⎥<br />

4 ⎦<br />

0 ⎤ ⎡−1<br />

⎤<br />

0<br />

⎥ ⎢<br />

2<br />

⎥<br />

⎢ ⎥<br />

⎡39<br />

⎥ ⋅ =<br />

0 ⎥ ⎢ 1 ⎥<br />

⎢<br />

⎣65<br />

⎥ ⎢ ⎥<br />

1 ⎦ ⎣ 2 ⎦<br />

⎤<br />

⎥<br />

⎦<br />

60<br />

111<br />

⎤<br />

⎥<br />

⎦<br />

, (22)<br />

, (23)<br />

Α⋅<br />

X = ∆ , (24)<br />

3


Michał Pazdanowski<br />

<strong>Instytut</strong> Technologii Informacyjnych w Inżynierii Lądowej<br />

Wydział Inżynierii Lądowej<br />

Politechnika Krakowska<br />

⎡45<br />

60 ⎤ ⎡ ⎤ ⎡ ⎤<br />

⎥ ⋅ x1<br />

39<br />

⎢ ⎢ ⎥ = ⎢ ⎥ . (25)<br />

⎣60<br />

111 ⎦ ⎣x2⎦<br />

⎣65<br />

⎦<br />

Rozwiązaniem tego układu równań, <strong>cz</strong>yli pseudorozwiązaniem problemu (11) w sensie najmniejszych<br />

kwadratów jest macierz:<br />

⎡0,307527⎤<br />

X = ⎢ ⎥ , (26)<br />

⎣0,419355⎦<br />

Dla <strong>cz</strong>ytelnika może być interesujące jak zmieni się wyzna<strong>cz</strong>one pseudorozwiązanie po zmianie<br />

macierzy wag W [ n × n]<br />

. W tym celu rozpatrzmy dwa dodatkowe przypadki. W pierwszym z nich równaniu<br />

pierwszemu przypiszemy wagę 10 a pozostałym równaniom wagi 1 , natomiast w drugim<br />

wagę 10 przypiszemy równaniu trzeciemu, pozostałe równania otrzymają jak poprzednio wagi<br />

równe 1 . W przypadku pierwszym uzyskane pseudorozwiązanie wygląda następująco:<br />

⎡0,678161⎤<br />

X = ⎢ ⎥ , (27)<br />

⎣0,017241⎦<br />

a w przypadku drugim tak:<br />

⎡− 0,536896⎤<br />

X = ⎢ ⎥ . (28)<br />

⎣ 0,381679⎦<br />

Uzyskane rozwiązania przedstawiono na załą<strong>cz</strong>onym rysunku. Jak z niego widać, wpływ wagi na<br />

uzyskane pseudorozwiązanie jest zgodny z o<strong>cz</strong>ekiwaniem, <strong>cz</strong>yli zwiększanie wartości wagi przypisanej<br />

wybranemu równaniu powoduje „przemiesz<strong>cz</strong>anie się” rozwiązania w kierunku równania<br />

opatrzonego tą wagą.<br />

4


Michał Pazdanowski<br />

<strong>Instytut</strong> Technologii Informacyjnych w Inżynierii Lądowej<br />

Wydział Inżynierii Lądowej<br />

Politechnika Krakowska<br />

3<br />

2.5<br />

2<br />

1.5<br />

1<br />

Y1<br />

Y2<br />

Y3<br />

0.5<br />

Y4<br />

X0 1<br />

3 2 1 0 1 2 3<br />

X1 1<br />

X2 1<br />

0.5<br />

X3 1<br />

1<br />

1.5<br />

2<br />

2.5<br />

3<br />

ll , , l, l, X0 0 , X1 0 , X2 0 , X3 0<br />

Rys. 1. Pseudorozwiązanie nadokreślonego układu równań.<br />

Na rysunku proste Y 1÷ Y 4 odpowiadają równaniom od pierwszego do <strong>cz</strong>wartego, natomiast punkty<br />

X 0, X 1,<br />

X 2,<br />

X 3 odpowiadają pseudorozwiązaniom rozważanego zadania odpowiednio bez wag<br />

i z wagami rozważanymi w przypadku pierwszym drugim i trzecim, jak to opisano powyżej.<br />

5

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!