2008 Metody obliczeniowe 11 D 2008 11 28 20 52 53


Rozwiązywanie układów równań nieliniowych
1. Metody geometryczne
2. Metoda iteracyjna Newtona-Raphsona
3. Komendy w Maple u
Metoda graficzna rozwiązywania układu dwóch równań nieliniowych
f1(x1, x2) = 0
Å„Å‚
òÅ‚
f2(x1, x2) = 0
ół
1
Å„Å‚x sinh(x1x2) - = 0
1
ôÅ‚
2
òÅ‚
9
2 5
ôÅ‚
(x12 + x22)2 - 2x1 + 2x1x2 - = 0
ół 10
> f[1]:=x[1]*sinh(x[1]*x[2])-1/2;
> f[2]:=(x[1]^2+x[2]^2)^2-2*(x[1]^2-x[1]*x[2]^5)-9/10;
> implicitplot([f[1]=0,f[2]=0],x[1]=-2..2,x[2]=-2..2);
Metoda graficzna rozwiązywania układu trzech równań nieliniowych
f1(x1, x2, x3) = 0
Å„Å‚
ôÅ‚
f2(x1, x2, x3) = 0
òÅ‚
ôÅ‚
f3(x1, x2, x3) = 0
ół
Å„Å‚x2 - e-x1x3 = 0
ôÅ‚
2 2 2
òÅ‚x - x2 + x3 -1 = 0
1
ôÅ‚(x - 2)2 + (x2 - 2)2 + (x3 - 2)2 36 = 0
-
1
ół
> f[1]:=x[1]^2-x[2]^2+x[3]^2-1;
> f[2]:=(x[1]-2)^2+(x[2]-2)^2+(x[3]-2)^2-36;
> f[3]:=x[2]-exp(-x[1]*x[3]);
> implicitplot3d([f[1]=0,f[2]=0,f[3]=0],x[1]=-5..8,
x[2]=- 5..8,x[3]=-5..8);
Wzór Taylora
Funkcja dwóch zmiennych
f = f (x1, x2)
Rozwinięcie funkcji f(x1,x2) według potęg różnic: x1  a1, x2  a2
" f " f
f (x1, x2) = f (a1,a2) + (x1 - a1) + (x2 - a2) +...
d x1 x1=a1 dx2 x1=a1
x2 =a2 x2 =a2
Dla x1 = a1 + h1 i x2 = a2 + h2 mamy
" f " f
f (a1 + h1,a2 + h2) = f (a1,a2) + h1 x1=a1 + h2 x1=a1 +...
d x1 x2 =a2 dx2 x2 =a2
gdzie h1 i h2 oznaczają odpowiednie przyrosty argumentów
Wzór Taylora c.d.
Układ funkcji dwóch zmiennych
f1 = f1(x1, x2)
f2 = f2(x1, x2)
Rozwinięcie obu funkcji według potęg różnic: x1  a1, x2  a2 z przyrostami h1 i h2
" f1 " f1
f1(a1 + h1,a2 + h2) = f1(a1,a2) + h1 + h2 +...
d x1 x1=a1 dx2 x1=a1
x2 =a2 x2 =a2
" f2 " f2
f2(a1 + h1,a2 + h2) = f2(a1,a2) + h1 + h2 +...
d x1 x1=a1 dx2 x1=a1
x2 =a2 x2 =a2
Zapis macierzowy
îÅ‚ Å‚Å‚
" f1 " f1
ïÅ‚ śł
" x1 x1=a1 " x2 x1=a1 îÅ‚h1 Å‚Å‚
ïÅ‚ śł
f1(a1 + h1,a2 + h2)
îÅ‚ Å‚Å‚ f1(a1,a2)
îÅ‚ Å‚Å‚
x2 =a2 x2 =a2
= + Å" + ..
ïÅ‚ śł
ïÅ‚ ïÅ‚h śł
f2(a1 + h1,a2 + h2)śł ïÅ‚
f2(a1,a2)śł ïÅ‚" f2
2
ðÅ‚ ûÅ‚
śł
ðÅ‚ ûÅ‚ ðÅ‚ ûÅ‚
" f2
ïÅ‚
" x1 x1=a1 " x2 x1=a1 śł
ïÅ‚ x2 =a2 x2 =a2 śł
ðÅ‚ ûÅ‚
f (a + h) = f (a) + A(a)Å"h +... A  macierz Jacobiego
f1 a1 h1
îÅ‚ Å‚Å‚ îÅ‚ Å‚Å‚ îÅ‚ Å‚Å‚
f = , a =
ïÅ‚ ïÅ‚a śł, h = ïÅ‚h śł
f2śł
ðÅ‚ ûÅ‚ ðÅ‚ ûÅ‚ ðÅ‚ ûÅ‚
2 2
Wzór Taylora c.d.
f (a + h) = f (a) + A(a)Å"h +...
h1
a1 îÅ‚ Å‚Å‚
îÅ‚ Å‚Å‚
a =
ïÅ‚h śł
ïÅ‚a śł, h =
2
ðÅ‚ ûÅ‚
2
ðÅ‚ ûÅ‚
WprowadzajÄ…c oznaczenia: a = x(1) i a + h = x(2) mamy
f (x(2)) = f (x(1)) + A(x(1))Å" h+...
gdzie
" f1 " f1
îÅ‚ Å‚Å‚
ïÅ‚" x1 " x2 śł
ïÅ‚ śł
A(x(1)) =
(
x1=x11)
ïÅ‚" f2 " f2 śł
(
ïÅ‚" x1 " x2 śł
x2=x21)
ðÅ‚ ûÅ‚
h = x(2) - x(1)
Metoda Newtona - Raphsona dla układu równań nieliniowych
f1(x1, x2, x3,...xn) = 0
Å„Å‚
ôÅ‚
f2(x1, x2, x3,...xn) = 0
ôÅ‚
òÅ‚

ôÅ‚
ôÅ‚
fn(x1, x2, x3,...xn) = 0
ół
f (x) = 0
x1 f1(x)
îÅ‚ Å‚Å‚ îÅ‚ Å‚Å‚
ïÅ‚x śł ïÅ‚
f2(x)śł
2
ïÅ‚ śł, f = ïÅ‚ śł
x =

ïÅ‚ śł ïÅ‚ śł
ïÅ‚x śł ïÅ‚
fn(x)śł
ðÅ‚ n ûÅ‚ ðÅ‚ ûÅ‚
Metoda Newtona - Raphsona dla układu równań nieliniowych
x(k +1) = x(k) - A(x(k))-1 Å" f (x(k))
" f1 " f1 " f1
îÅ‚Å‚Å‚

ïÅ‚
" x1 " x2 " xn śł
(
ïłśł
îÅ‚ Å‚Å‚ îÅ‚ Å‚Å‚
x1k ) f1(x(k ))
" f2 " f2 " f2
ïłśł
ïÅ‚x(k ) śł ïÅ‚

f2(x(k ))śł
2
ïÅ‚ śł, f (x(k )) = ïÅ‚ śłA(x(k )) = ïÅ‚
" x1 " x2 " xn śł
x(k ) =
ïÅ‚ śł ïÅ‚ śł
ïłśł

ïłśł
ïÅ‚ śł ïÅ‚ śł
(k )
fn(x(k ))ûÅ‚
ïÅ‚" fn " fn " fn śł
ðÅ‚xn ûÅ‚ ðÅ‚
ïłśł

" x1 " x2 " xn ûÅ‚
ïłśł
ðÅ‚
x=x(k )
Praktyczne implementacje metody Newtona - Raphsona
A(x(k )) Å"h(k ) = -f (x(k )) - liniowy ukÅ‚ad równaÅ„ ze
1.
względu na współrzędne h(k)
x(k +1) = x(k) + h(k)
2. x(k +1) = x(k) - A(x(k))-1 Å" f (x(k)) (wzór iteracyjny N  R)
B = A(x(1))-1
- iteracja ze stałą macierzą B
x(k +1) = x(k) - B Å" f (x(k))
Schemat blokowy i obliczeniowy
Start
> n:=2;
> eps:=10^(2-Digits);
> f:=Vector(n):A:=Matrix(n):
f (x), eps
> f[1]:=...; f[2]:=...;
> for i to n do
" f1 " f1
îÅ‚ Å‚Å‚

ïÅ‚ for j to n do
" x1 " xn śł
ïÅ‚ śł
A =
A[i,j]:=diff(f[i],x[j]):
ïÅ‚" fn
" fn śł
ïÅ‚ śł

end do:
ïÅ‚ śł
" x1 " xn ûÅ‚
ðÅ‚
end do:
> w:=abs(f[1])x = xp
> x:=Vector([1.,1.]);
x = x - A(x)-1f (x)
> i:=0;
> while not w do
N
x:=x-A^(-1).f:
fi (x) < eps, i = 1..n
i:=i+1:
end do:
T
Stop
Komendy w Maple u służące do rozwiązywania układu równań
nieliniowych
> sys:={f[1]=0,f[2]=0, ... f[n]=0};
> niew:={x[1],x[2], ... x[n]};
> fsolve(sys,niew);
- rozwiązania przybliżon
> fsolve(sys,{x[1]=a..b,x[2]=c..d,... });
> solve(sys,niew); - rozwiązania ścisłe
> allvalues(%);


Wyszukiwarka

Podobne podstrony:
2008 Metody obliczeniowe 13 D 2008 11 28 20 56 53
2008 Metody obliczeniowe 12 D 2008 11 28 20 53 30
2008 Metody obliczeniowe 10 D 2008 11 28 20 51 40
2008 Metody obliczeniowe 08 D 2008 11 11 21 31 58
2008 Metody obliczeniowe 09 D 2008 11 11 21 32 51
2008 Metody obliczeniowe 06 D 2008 10 22 20 13 23
2008 Metody obliczeniowe 02 D 2008 10 1 21 28 5
2008 Metody obliczeniowe 07 D 2008 10 29 19 28 1
2008 Metody obliczeniowe 01 D 2008 10 1 21 19 29
2008 Metody obliczeniowe 03 D 2008 10 1 22 5 47
11 28 Maj 1996 Rozejm wyborczy
Dz U 2004 141 1492 zmiana z dnia 2003 11 28
WM Cw7 Instr v24 12 11 28
2012 11 28
TI 02 11 28 T B pl(1)
11 (28)

więcej podobnych podstron