Sunteți pe pagina 1din 5

III. 1.

Rezolvarea ecuaţiilor

III.
III. 1.1. Rezolvarea ecuaţiilor algebrice

Forma canonică a unei ecuaţii algebrice este:


an ⋅ x n + an −1 ⋅ x n −1 + ... + a1 ⋅ x + a0 = 0

unde n este gradul polinomului (pentru a rezolva ecuaţia în Scilab


n ≤ 100) şi ak sunt coeficienţii polinomului care pot fi numere reale

sau complexe.
Pentru a rezolva o ecuaţie algebrică mai întâi, se defineşte
expresia polinomului cu ajutorul funcţiei poly apoi, cu ajutorul
funcţiei roots
roots se determină rădăcinile ecuaţiei.

Exemplu Să se rezolve ecuaţia x 4 − 12 x 3 + 22 x 2 − 20 x = 0 .


Exemplu:

-->p=poly([0,-20,22,-12,1],'x','coef')
p =
2 3 4
- 20x + 22x - 12x + x
-->sol=roots(p)
sol =
! 0 !
! 1. + i !
! 1. - i !
! 10. !

III. 1.2. Rezolvarea ecuaţiilor transcendente

Orice ecuaţie se poate scrie sub forma f(x) = g(x) echivalentă


cu f(x) – g(x) = 0. După ce se reprezintă grafic funcţia f(x) – g(x) pe
intervalul de interes putem să evaluăm valorile aproximative în care
funcţia se anulează. Se alege drept valoare iniţială pentru x valoarea
pentru care, conform graficului, funcţia se anulează. Pentru a
determina soluţia ecuaţiei se apelează funcţia fsolve a Scilab-ului.
Exemplu:
Exemplu Să se resolve ecuaţia sin( x ) = 1 − 2 x
--> x=0:0.1:2;
--> y1=sin(x);
--> y2=1-2.*x;
--> plot(x,y1-y2)
Se va obţine următorul grafic:

1.0

0.5

0.0
0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0

-0.5

-1.0

-1.5

-2.0

-2.5

-3.0

Se observă că soluţia ecuaţiei se află aproape de x = 0.3; pentru


aflarea soluţiei cu o eroare dată se va folosi următoarea secvenţă:
function y=f(x)
y=sin(x)+2.*x-1
endfunction
[s]=fsolve(0.3,f,10^(-10))
obţinându-se pentru soluţie valoarea: s = 0.3354180
Pentru verificare se calculează f(s) care se obţine în acest caz 0.

Exerciţii:
Exerciţii Sa se rezolve urmatoarele ecuatii:
1. x4-2x3-x+2=0;
2. x3+3x+1=0;
3. ( x − 1)2 − 2 ⋅ e x ;
 x
4. x − 2 ⋅ cos π ⋅  .
 2

III. 2. Rezolvarea sistemelor de ecuaţii liniare


liniare
Să se rezolve următoarele sisteme liniare de ecuaţii:
9 x1 + x2 − x3 = 18  x1 + 2 x 2 + 3 x 3 + 4 x 4 = 11
 
a)  x1 + 9 x2 − x4 = 19 b) 2 x 1 + 3 x 2 + 4 x 3 + x 4 = 12
 
− x1 + 9 x3 + x4 = 8 3 x 1 + 4 x 2 + 2 x 3 + x 4 = 13
− x2 + x3 + 9 x4 = 9 4 x 1 + x 2 + 2 x 3 + 3 x 4 = 14

Solutie; rezolvarea sistemului de la punctual a) in Scilab


-->a=[9 1 -1 0;1 9 0 -1;-1 0 9 1;0 -1 1 9]; b=[18;19;8;9];
-->x=a^(-1)*b
x =! 1.8831169 !
! 2.025974 !
! 0.9740260 !
! 1.1168831 !
1. Să se calculeze factorul Cholesky al matricei:
 9 1 −1 0 
 
 1 9 0 − 1 ;
A=
−1 0 9 1 
 
 0 −1 1 9 

Factorizarea Cholesky constă în descompunera matricei într-un


produs de forma A=RtR; (R=chol(A)) apoi să se rezolve sistemul de la
ex.1 punctul a.
Solutie:
-->a=[9 1 -1 0;1 9 0 -1;-1 0 9 1;0 -1 1 9]; b=[18;19;8;9];
-->R=chol(a)
R =! 3. 0.3333333 - 0.3333333 0. !
! 0. 2.981424 0.0372678 - 0.3354102 !
! 0. 0. 2.981191 0.3396294 !
! 0. 0. 0. 2.9617819 !
-->y=(R')^(-1)*b
y =! 6. !
! 5.7019733 !
! 3.2830838 !
! 3.3079642 !
-->x=R^(-1)*y
x =! 1.8831169 !
! 2.025974 !
! 0.9740260 !
! 1.1168831 !

2. Să se factorizeze LU (lower – upper) matricea:


 9 1 −1 0 
 
 1 9 0 − 1 ;
A=
−1 0 9 1 
 
 0 −1 1 9 

Factorizarea LU: o matrice pătrată este descompusă sub forma


produsului a două matrice triunghiulare, una inferior triunghiulară, cu
elemente 1 pe diagonala principală şi cealaltă superior triunghiulară
([L,U]=lu(A)) apoi să se rezolve sistemul de la ex.1 punctul a.
Solutie:
-->a=[9 1 -1 0;1 9 0 -1;-1 0 9 1;0 -1 1 9]; b=[18;19;8;9];
-->[L U]=lu(a)
U =! 9. 1. - 1. 0. !
! 0. 8.8888889 0.1111111 - 1. !
! 0. 0. 8.8875 1.0125 !
! 0. 0. 0. 8.7721519 !
L =! 1. 0. 0. 0. !
! 0.1111111 1. 0. 0. !
! - 0.1111111 0.0125 1. 0. !
! 0. - 0.1125 0.1139241 1. !
-->y=L^(-1)*b
y =! 18. !
! 17. !
! 9.7875 !
! 9.7974684 !
-->x=U^(-1)*y
x =! 1.8831169 !
! 2.025974 !
! 0.9740260 !
! 1.1168831 !

III. 3.
3. Rezolvarea sistemelor de ecuaţii neliniar
neliniare
liniare
 x 2 + axy + y 2 + x + sin( x ) − 4a = 0
Fie sistemul 
2 x 2 + ay 3 − 3,5 = 0
Să se rezolve sistemul pentru a=1 folosind ca punct de start (1,1).

Rezolvarea cu funcţia fsolve a SCILAB-ului:


function y=f(x)
y=zeros(2,1);
y(1)=x(1)^2+x(1)*x(2)+x(2)^2+x(1)+sin(x(1))-4;
y(2)=2*x(1)^2+x(2)^3-3.5;
endfunction
[s]=fsolve([1;1],f,0.0001)

Se obtine rezultatul:
s =! 0.4905521 !
! 1.4452428 !

S-ar putea să vă placă și