Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

1
voti

Sistemi di equazioni non lineari risolti con un metodo numerico

Per chi non dovesse accontentarsi di soluzioni ingegneristicamente approssimate, come quelle ottenute con il risolutore di excel, nel risolvere un sistema di equazioni non lineari, ecoo pronto un efficace algoritmo, che proviene dall'analisi numerica. Il metodo generalmente converge, dopo un sufficiente numero d'iterazioni.


Teoria

Un sistema di n equazioni non lineari ad n incognite, puo' essere rappresentato come una matrice, i cui elementi sono dati dalle che equazioni del sistema.


F(X)=\begin{bmatrix} f_1(x_1,x_2,...,x_n) & \\ f_2(x_1,x_2,...,x_n)  &  \\ ..........  & \\  f_n(x_1,x_2,...,x_n) &\end{bmatrix}

dove X e' il vettore delle incognite.

Per esempio, se abbiamo un sistema di due equazioni in due incognite, come

x1 + 2x2 − 2 = 0
x_1^2 - 4x_2^2 -4 = 0

si ha

F(x_1,x_2)=\begin{bmatrix} x_1 + 2x_2 -2 & \\ x_1^2  -4x_2^2 -4 &\end{bmatrix}

La F(X) si può sviluppare in serie di Taylor come:

F(x) = F(x)(x0) + F'(x0)(xx0)

Da questa relazione, e' possibile estrarre la relazione iterativa:

xk + 1 = xk − [F'(xk)] − 1F(xk)

dove F'(x) non e' altro che la matrice Jacobiano, formata dalle derivate parziali della matrice F(X).

L'algoritmo e' di tipo ricorsivo matriciale e se ne calcola la relazione ricorrente:

F'(xk)hk = − F(xk)

con hk = xk + 1xk

Un esempio numerico

Riprendendo il sistema rappresentato in precedenza, otteniamo, imponendo come punto iniziale x0 = (1,2)

F(x_1,x_2)=\begin{bmatrix} 3 \\ 13 &\end{bmatrix}

mentre lo Jacobiano (derivate parziali in x1ex2 degli elementi della F(X) vale:

F(x_1,x_2)=\begin{bmatrix} 1 & 2 & \\ 2 & 16 &\end{bmatrix}

Vale la relazione ricorsiva:

F(x_1,x_2)=\begin{bmatrix} 1 & 2 \\ 2 & 16 &\end{bmatrix} h_k = - \begin{bmatrix} 3 & \\ 13 &\end{bmatrix}

h_k=\begin{bmatrix} -1.83 & \\ -0.58 &\end{bmatrix}

Quindi:

x_1=x_0+h_k =\begin{bmatrix} -0.83 & \\ 1.42 &\end{bmatrix}

Con il nuovo valore di x1, si ricalcolano F(X) ed F'(X), arrivando a calcolare x2 e cosi' via.

0

Commenti e note

Inserisci un commento

Inserisci un commento

Per inserire commenti è necessario iscriversi ad ElectroYou. Se sei già iscritto, effettua il login.