MO/I - 07
METODY NUMERYCZNE ROZWIĄZYWANIA UKŁADU
RÓWNAŃ NIELINIOWYCH
METODA NEWTONA – RAPHSONA
Schemat blokowy
Stop
Start
eps
),
(x
f
∂
∂
∂
∂
∂
∂
∂
∂
=
n
n
n
n
x
f
x
f
x
f
x
f
1
1
1
1
A
xp
x =
N
T
n
i
eps
f
i
..
1
,
)
(
=
<
x
)
(
)
(
1
x
f
x
A
x
x
−
−
=
Zadanie 1
W oparciu o przedstawiony schemat blokowy dokończyć poniższy program rozwiązujący
układ równań nieliniowych
(
)
(
)
=
−
−
−
+
=
−
+
+
0
10
9
2
0
1
3
2
2
1
2
2
2
2
1
2
1
2
1
x
x
x
x
e
e
x
x
x
x
metodą Newtona-Raphsona. Ustalając odpowiedni wektor
startowy znaleźć wszystkie rozwiązania układu równań. Otrzymane wyniki sprawdzić
komendą fsolve
>
with(LinearAlgebra):
>
n:=2;
>
eps:=10^(2-Digits);
>
f:=Vector(n): A:=Matrix(n):
lewe strony równań
>
f[1]:=exp(x[1]*x[2])+exp(x[1]+x[2])-1;
f[2]:=(x[1]^2+x[2]^2)^2-2*(x[1]^2-x[2]^3)-9/10;
wykresy funkcji
>
plots[implicitplot]([f[1],f[2]],x[1]=-2..2,
x[2]=-3..2,color=[blue,red],numpoints=2000);
Jakobian
>
for i to n do
for j to n do
A[i,j]:=diff(f[i],x[j]):
end do:
end do:
>
A;
wektor startowy
>
x:=Vector([1.,-1.]); #
wektor próbny
Zadanie 2
Za pomocą metody Newtona – Raphsona znaleźć wszystkie rozwiązania układu równań:
(
)
=
−
−
+
=
−
+
−
0
5
5
0
2
1
ln
2
1
2
2
2
2
1
2
1
2
1
1
x
x
x
x
e
x
x
x
x
x
Sprawdzić otrzymane wyniki komendą fsolve