11.07.2015 Views

Algoritmi iterativi per sistemi lineari ed equazioni non lineari

Algoritmi iterativi per sistemi lineari ed equazioni non lineari

Algoritmi iterativi per sistemi lineari ed equazioni non lineari

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

iterazioni, e addirittura il metodo delle secanti termina prima di arrivare alla precisione richiesta con unnumero di iterazioni massimo pari a 100: provando ulteriormente si è notato che la convergenza avvienealla 133° iterazione. Questi comportamenti sono legati sia alla lontananza che alla molteplicità dellasoluzione. Inne nell'ultima equazione si osserva che il metodo di bisezione converge, mentre il metododi Newton e delle secanti presentano dei problemi attribuibili alla lontananza e alla pendenza nulladella funzione in quei punti iniziali. Entrambi escono dal ciclo quando la seconda condizione d'arrestopresenta il valore assoluto di Not-a-Number : a quel punto in output si trovano i valori della soluzion<strong>ed</strong>ell'iterazione prec<strong>ed</strong>ente, Not-a-Number <strong>per</strong> il metodo di Newton e ∞ <strong>per</strong> quello delle secanti. Questicomportamenti sono facilmente osservabili se vengono fatti eseguire i rispettivi algoritmi utilizzando ilcomando pause di MATLAB.3.2.1 Test di un sistema <strong>non</strong> lineare 2x2Abbiamo provato a risolvere un semplice sistema di <strong>equazioni</strong> <strong>non</strong> <strong>lineari</strong> 2x2, <strong>per</strong> testare l'ecaciadel metodo di Newton multidimensionale da noi implementato.Il sistema da risolvere era il seguente:{ x 2 + y 2 − 1 = 0(3.1)x − y = 0La cui soluzione è:{x = √ 22 ≃ 0.7071y = √ 22 ≃ 0.7071Per risolvere il sistema si è usato il seguente codice di test:1 %Test sistema <strong>non</strong> l i n e a r e 2x223 f=@( x ) [ x(1)^2+x(2)^2 −1;x(1)−x ( 2 ) ] ;4 jacob=@( x ) [ 2 * x ( 1 ) 2*x ( 2 ) ; 1 −1];5 x0 = [ 0 ; 4 ] ;6 tau=1e −8;7 Nmax=100;89 [ x , k]=multi_newton ( f , jacob , x0 , tau ,Nmax)Il test è arrivato alla soluzione corretta in 6 iterazioni, confermando la validità dell'implementazioneeettuata.3.2.2 Applicazione a una giunzione p-nOltre ai test già eettuati, si è voluto provare ad applicare i metodi di bisezione, Newton e secantiall'equazione <strong>non</strong> lineare che descrive l'andamento della corrente in un diodo:I I = V V− 1 ( )kTR S R S q ln II(3.2)I 0dove V V = 0.6 V, R S = 29.13 Ω, I 0 = 4.5 ∗ 10 −12 A e kT q= 0.0259 eV. Tutti e tre gli algoritmi,bisezione, Newton e secanti, hanno raggiunto un'approssimazione accettabile della soluzione, pari aI I = 2.6 mA. Il metodo di bisezione ha impiegato 29 iterazioni, mentre sia quello di Newton che quellodelle secanti hanno impiegato 8 iterazioni.21

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!