Metody numeryczne cz. 2 - Instytut Metod Komputerowych w ...
Metody numeryczne cz. 2 - Instytut Metod Komputerowych w ...
Metody numeryczne cz. 2 - Instytut Metod Komputerowych w ...
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