background image

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

=

n

i

eps

f

i

..

1

,

)

(

=

<

x

)

(

)

(

1

x

f

x

A

x

x

=

background image

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