Mariusz PYRZ
SIMR (PW), Instytut Pojazdów
Metody numeryczne w mechanice
6.
Aproksymacja
Aproksymacja numeryczna umożliwia opracowywanie danych eksperymentalnych, jeżeli chcemy na przykład dopasować do nich prawo empiryczne lub jeśli chcemy wyznaczyć parametry prawa teoretycznego tak, aby odtworzyć wyniki doświadczalne.
róż
ó n
ż i
n ce
c
e (bł
b ęd
ę y
d )
y
(x2,y2)
(x1,y1)
y=f(x,a ,a ,…,a )
1
2
m
(xn,yn)
2
M.Pyrz Metody numeryczne w mechanice – Aproksymacja 01.2012
Metoda najmniejszych kwadratow Aby funkcja f
przechodziła jak najbliżej punktów (x ,y ) można zastosować i
i
kryterium w którym zminimalizujemy różnice (błąd dopasowania) pomiędzy danymi punktami i wartościami z aproksymacji: ε = y − f ( x ), i = 1,..., n i
i
i
•Kryterium najmniejszych kwadratow
n
n
zm
z ini
n mal
a izo
z w
o a
w ć
2
ać
S ( a , a ,..
. .,
. a ) = ∑ε = ∑ y − f ( a , a ,..., a , x ) 0
1
m
= ∑ε i = ∑[ yi − f ( a , a ,..., a , x 0
1
m
i ]
0
1
m
i
[ i
0
1
m
i
2
i 1
=
i 1
=
Warunek konieczny (ale ogólnie niewystarczający) aby osiągnąć minimalne S
układ m+1 równań
S
∂ = 0, k = 0,1,..., m
z m+1 niewiadomymi a , k=0,…,m k
a
∂ k
(w ogólnym przypadku układ jest nieliniowy) 3
M.Pyrz Metody numeryczne w mechanice – Aproksymacja 01.2012
m
f ( x) = ∑ a ϕ
j
j
Poszukujemy funkcji aproksymacyjnej w postaci j =0
2
n
n
m
2
S ( a , a ,..., a ) = ∑ε = ∑ y − ∑ a ϕ ( x ) → min 0
1
m
i
i
j
j
i
i 1
=
i 1
=
j =0
S
∂
Aby S osiągało wartość minimalną :
= 0, k = 0,1,..., m
a
∂ k
n
m
S
∂ = −2∑ϕ ( x ) y −∑ a ϕ x = k =
m
k
i
yi − ∑ ajϕ ( x ) j
i
= 0,
0
k = 0,
0 1,
1 ..
. .
. ,
a
∂ k
i 1
=
j =0
n
m
n
∑∑ a ϕ ( x )ϕ ( x ) = ∑ y ϕ ( x ), k = 0,1,..., m j
j
i
k
i
i
k
i
i 1
= j=0
i 1
=
m
n
n
∑ a ∑ϕ ( x )ϕ ( x ) = ∑ y ϕ ( x ), k = 0,1,..., m j
j
i
k
i
i
k
i
j =0
i 1
=
i 1
=
•układ m+1 równań liniowych o m+1 niewiadomych a , i=0,…,m i
(tzw. układ normalny)
4
M.Pyrz Metody numeryczne w mechanice – Aproksymacja 01.2012
Modele liniowe w zapisie macierzowym Można dowieść, że jeżeli wyznacznik układu normalnego jest różny od zera to uzyskamy rozwiązanie minimalizujące wartość S.
Układ normalny można zapisać jako
T
T
D DA = D Y
gdzie
ϕ
( x ) ... ϕ ( x )
a
y
0
0
m
0
0
0
ϕ
ϕ ( x ) .... ϕ ( x )
a
y
0
1
ϕ ( x )
a
m
1
1
1
D
,
A
,
=
=
Y =
...
...
...
...
...
ϕ
( x ) ... ϕ ( x )
a
y
0
n
m
n
n
n
•Macierz układu DTD jest symetryczna i dodatnio określona.
5
M.Pyrz Metody numeryczne w mechanice – Aproksymacja 01.2012
m
f ( x)
j
= ∑ a x
j
Poszukujemy funkcji aproksymacyjnej w postaci j =0
2
n
n
m
2
S ( a , a ,..., a ) j
= ∑ε = ∑ y − ∑ a x → min 0
1
m
i
i
j
i
i 1
=
i 1
=
j =0
S
∂
Aby S osiągało wartość minimalną :
= 0, k = 0,1,..., m
a
∂ k
n
m
S
∂ S
∂ = −2 k
j
2∑ x y − ∑ a x =
k =
m
i
i
j
i = 0,
0
k = 0,
0 1,
1 ...,
a
∂ k
i 1
=
j =0
m
n
n
j + k
k
∑ a ∑ x
= ∑ y x , k = 0,1,..., m j
i
i
i
j =0
i 1
=
i 1
=
układ m+1 równań liniowych o m+1 niewiadomych a , i=0,…,m i
6
M.Pyrz Metody numeryczne w mechanice – Aproksymacja 01.2012
Modele wielomianowe w zapisie macierzowym n
n
n
n
2
n
∑ x
∑ x ...
m
∑ x
∑ y
i
i
i
a
i
i 1
=
i 1
=
i 1
=
0
=
i 1
n
n
n
n
a
n
2
3
m 1
+
1
∑ x
∑ x
∑ x ... ∑ x
∑ x y
i
i
i
i
a
i
i
i 1
=
i 1
=
i 1
=
i 1
=
2
i 1
=
n
n
n
...
n
=
2
3
m+2
∑ x
∑ x
...
... ∑ x
2
∑ x y
i
i
i
i
i
i 1
=
i 1
=
i 1
=
...
.
i 1
=
...
...
...
...
...
...
...
n
n
n
n
+
a
m
m 1
2
∑
x
∑ x
...
...
m
m
∑ x
m
∑ x y
i
i
i
i
i
i 1
=
i 1
=
i 1
=
i 1
=
Powyższy układ jest zazwyczaj źle uwarunkowany.
- odradza się jego stosowanie dla k>3 (k>6).
7
M.Pyrz Metody numeryczne w mechanice – Aproksymacja 01.2012
Często poszukuje się aproksymacji danych w postaci lini prostej (tzw. regresja liniowa).
f ( x) = a + a x Poszukiwana jest prosta
0
1
która najlepiej przybliża n punktów (x ,y ) i
i
Zgodnie ze sformułowaniem najmniejszych kwadratów uzyskujemy układ dwóch równań
n
n
n
∑ x a
∑ y
i
0
i
i 1
=
i 1
=
=
n
n
n
2
∑ x ∑ x a
∑ x y
i
i
1
i
i
i 1
=
i 1
=
i 1
=
8
M.Pyrz Metody numeryczne w mechanice – Aproksymacja 01.2012
Przykłady
Aproksymacja funkcją kwadratową
Regresja liniowa
9
M.Pyrz Metody numeryczne w mechanice – Aproksymacja 01.2012