istituto di istruzione superiore “a. einstein” filecos’è un metodo iterativo? i metodi...
TRANSCRIPT
![Page 1: ISTITUTO DI ISTRUZIONE SUPERIORE “A. EINSTEIN” fileCos’è un metodo iterativo? I metodi iterativi consentono di ottenere una soluzione approssimata del sistema lineare Ax = b](https://reader031.vdocuments.pub/reader031/viewer/2022022803/5c8913eb09d3f2a4168c2fd4/html5/thumbnails/1.jpg)
ISTITUTO DI ISTRUZIONE ISTITUTO DI ISTRUZIONE SUPERIORESUPERIORE
““A. EINSTEINA. EINSTEIN””
CORSO AM08CORSO AM08Approfondimenti di Approfondimenti di
matematicamatematica
![Page 2: ISTITUTO DI ISTRUZIONE SUPERIORE “A. EINSTEIN” fileCos’è un metodo iterativo? I metodi iterativi consentono di ottenere una soluzione approssimata del sistema lineare Ax = b](https://reader031.vdocuments.pub/reader031/viewer/2022022803/5c8913eb09d3f2a4168c2fd4/html5/thumbnails/2.jpg)
Sistemi lineari e Sistemi lineari e Metodi iterativiMetodi iterativi
Prof. Fernando Prof. Fernando DD’’AngeloAngelo
![Page 3: ISTITUTO DI ISTRUZIONE SUPERIORE “A. EINSTEIN” fileCos’è un metodo iterativo? I metodi iterativi consentono di ottenere una soluzione approssimata del sistema lineare Ax = b](https://reader031.vdocuments.pub/reader031/viewer/2022022803/5c8913eb09d3f2a4168c2fd4/html5/thumbnails/3.jpg)
CosCos’è’è un metodo iterativo?un metodo iterativo?
I metodi iterativi consentono di I metodi iterativi consentono di ottenere una soluzione approssimata ottenere una soluzione approssimata del sistema lineare del sistema lineare AxAx = b mediante = b mediante una successione di vettori {una successione di vettori {xxkk,k ,k ≥≥ 0}, 0}, a partire da un vettore iniziale xa partire da un vettore iniziale x00
AffinchAffinchèè il metodo iterativo sia efficace il metodo iterativo sia efficace èè necessario che la successione necessario che la successione converga verso la soluzione x del converga verso la soluzione x del sistema. sistema.
![Page 4: ISTITUTO DI ISTRUZIONE SUPERIORE “A. EINSTEIN” fileCos’è un metodo iterativo? I metodi iterativi consentono di ottenere una soluzione approssimata del sistema lineare Ax = b](https://reader031.vdocuments.pub/reader031/viewer/2022022803/5c8913eb09d3f2a4168c2fd4/html5/thumbnails/4.jpg)
La struttura generale di un La struttura generale di un metodo iterativometodo iterativo
Ax=bAx=bSi decompone la matrice A dei Si decompone la matrice A dei
coefficienticoefficientiA=MA=M--NNIn modo cheIn modo che
e M sia facilmente invertibilee M sia facilmente invertibile
0)det( ≠M
![Page 5: ISTITUTO DI ISTRUZIONE SUPERIORE “A. EINSTEIN” fileCos’è un metodo iterativo? I metodi iterativi consentono di ottenere una soluzione approssimata del sistema lineare Ax = b](https://reader031.vdocuments.pub/reader031/viewer/2022022803/5c8913eb09d3f2a4168c2fd4/html5/thumbnails/5.jpg)
Il sistema si riscrive:Il sistema si riscrive:
a)a) Ax=bAx=bb)b) (M(M--N)N)x=bx=bc)c) Mx=Nx+bMx=Nx+bd)d) x=Mx=M--11Nx+MNx+M--11bbe)e) x=Px+qx=Px+q
![Page 6: ISTITUTO DI ISTRUZIONE SUPERIORE “A. EINSTEIN” fileCos’è un metodo iterativo? I metodi iterativi consentono di ottenere una soluzione approssimata del sistema lineare Ax = b](https://reader031.vdocuments.pub/reader031/viewer/2022022803/5c8913eb09d3f2a4168c2fd4/html5/thumbnails/6.jpg)
Iterazione di x=Px+qIterazione di x=Px+q
xx(o)(o) vettore inizialevettore inizialexx(1)(1)=P=P xx(o)(o) +q+qxx(2)(2)=P=P xx(1)(1) +q+q……………………xx(i+1)(i+1)=P=P xx(i)(i) +q+q
![Page 7: ISTITUTO DI ISTRUZIONE SUPERIORE “A. EINSTEIN” fileCos’è un metodo iterativo? I metodi iterativi consentono di ottenere una soluzione approssimata del sistema lineare Ax = b](https://reader031.vdocuments.pub/reader031/viewer/2022022803/5c8913eb09d3f2a4168c2fd4/html5/thumbnails/7.jpg)
Convergenza di un metodo iterativoConvergenza di un metodo iterativo
Un metodo iterativo si dice Un metodo iterativo si dice convegenteconvegente se la se la successione successione {x{x(i)(i)} } èè convergente per ogni convergente per ogni possibile scelta del vettore iniziale possibile scelta del vettore iniziale xx(o)(o)
Condizione necessaria e sufficiente per la Condizione necessaria e sufficiente per la convergenza di un metodo iterativo convergenza di un metodo iterativo èè che il che il raggio spettrale della matrice di iterazioneraggio spettrale della matrice di iterazioneP=MP=M--11N sia minore di 1N sia minore di 1
Il raggio spettrale di una matrice si calcola in Il raggio spettrale di una matrice si calcola in OctaveOctave nel modo seguente:nel modo seguente:
ρρ(P)=(P)=max(abs(eig(Pmax(abs(eig(P))))))
![Page 8: ISTITUTO DI ISTRUZIONE SUPERIORE “A. EINSTEIN” fileCos’è un metodo iterativo? I metodi iterativi consentono di ottenere una soluzione approssimata del sistema lineare Ax = b](https://reader031.vdocuments.pub/reader031/viewer/2022022803/5c8913eb09d3f2a4168c2fd4/html5/thumbnails/8.jpg)
SoluzioneSoluzione
xx**=x=x¶¶=lim=limii-->>¶¶xx(i)(i)
![Page 9: ISTITUTO DI ISTRUZIONE SUPERIORE “A. EINSTEIN” fileCos’è un metodo iterativo? I metodi iterativi consentono di ottenere una soluzione approssimata del sistema lineare Ax = b](https://reader031.vdocuments.pub/reader031/viewer/2022022803/5c8913eb09d3f2a4168c2fd4/html5/thumbnails/9.jpg)
I Metodi di I Metodi di JacobiJacobi e e GaussGauss--SeidelSeidel
![Page 10: ISTITUTO DI ISTRUZIONE SUPERIORE “A. EINSTEIN” fileCos’è un metodo iterativo? I metodi iterativi consentono di ottenere una soluzione approssimata del sistema lineare Ax = b](https://reader031.vdocuments.pub/reader031/viewer/2022022803/5c8913eb09d3f2a4168c2fd4/html5/thumbnails/10.jpg)
Il metodo di Il metodo di JacobiJacobi
⎩⎨⎧
≤>−
=jijia
b ijij 0 ⎩
⎨⎧
<−≥
=jiaji
cij
ij
0
Data la matrice quadrata A definiamo Data la matrice quadrata A definiamo tre nuove matrici:tre nuove matrici:
D:matrice dei valori diagonali di AD:matrice dei valori diagonali di AB,C:matrici triangolari inferiori e B,C:matrici triangolari inferiori e superiori definite dasuperiori definite da
![Page 11: ISTITUTO DI ISTRUZIONE SUPERIORE “A. EINSTEIN” fileCos’è un metodo iterativo? I metodi iterativi consentono di ottenere una soluzione approssimata del sistema lineare Ax = b](https://reader031.vdocuments.pub/reader031/viewer/2022022803/5c8913eb09d3f2a4168c2fd4/html5/thumbnails/11.jpg)
A=DA=D--((B+CB+C))M=DM=D
N=B+CN=B+CPPJJ=M=M--11N=DN=D--11((B+CB+C))
qqJJ =M=M--11b=Db=D--11bb
![Page 12: ISTITUTO DI ISTRUZIONE SUPERIORE “A. EINSTEIN” fileCos’è un metodo iterativo? I metodi iterativi consentono di ottenere una soluzione approssimata del sistema lineare Ax = b](https://reader031.vdocuments.pub/reader031/viewer/2022022803/5c8913eb09d3f2a4168c2fd4/html5/thumbnails/12.jpg)
Iterazione di Iterazione di x=x= PPJJ x+x+ qqJJ
xx(o)(o) vettore inizialevettore inizialexx(1)(1)==PPJJ xx(o)(o) + + qqJJ
xx(2)(2)==PPJJ xx(1)(1) + + qqJJ
……………………xx(i+1)(i+1)==PPJJ xx(i)(i) + + qqJJ
![Page 13: ISTITUTO DI ISTRUZIONE SUPERIORE “A. EINSTEIN” fileCos’è un metodo iterativo? I metodi iterativi consentono di ottenere una soluzione approssimata del sistema lineare Ax = b](https://reader031.vdocuments.pub/reader031/viewer/2022022803/5c8913eb09d3f2a4168c2fd4/html5/thumbnails/13.jpg)
Il metodo di Il metodo di GaussGauss--SeidelSeidel
⎩⎨⎧
≤>−
=jijia
b ijij 0 ⎩
⎨⎧
<−≥
=jiaji
cij
ij
0
Data la matrice quadrata A definiamo Data la matrice quadrata A definiamo tre nuove matrici:tre nuove matrici:
D:matrice dei valori diagonali di AD:matrice dei valori diagonali di AB,C:matrici triangolari inferiori e B,C:matrici triangolari inferiori e superiori definite dasuperiori definite da
![Page 14: ISTITUTO DI ISTRUZIONE SUPERIORE “A. EINSTEIN” fileCos’è un metodo iterativo? I metodi iterativi consentono di ottenere una soluzione approssimata del sistema lineare Ax = b](https://reader031.vdocuments.pub/reader031/viewer/2022022803/5c8913eb09d3f2a4168c2fd4/html5/thumbnails/14.jpg)
A=DA=D--((B+CB+C)=(D)=(D--B)B)--CCM=DM=D--BBN=CN=C
PPGSGS=M=M--11N=(DN=(D--B)B)--11CCqqGSGS =M=M--11b=(Db=(D--B)B)--11bb
![Page 15: ISTITUTO DI ISTRUZIONE SUPERIORE “A. EINSTEIN” fileCos’è un metodo iterativo? I metodi iterativi consentono di ottenere una soluzione approssimata del sistema lineare Ax = b](https://reader031.vdocuments.pub/reader031/viewer/2022022803/5c8913eb09d3f2a4168c2fd4/html5/thumbnails/15.jpg)
Iterazione di Iterazione di x=x=PPGSGSx+ x+ qqGSGS
xx(o)(o) vettore inizialevettore inizialexx(1)(1)==PPGSGS xx(o)(o) + + qqGSGS
xx(2)(2)==PPGSGS xx(1)(1) + + qqGSGS
……………………xx(i+1)(i+1)==PPGSGS xx(i)(i) + + qqGSGS
![Page 16: ISTITUTO DI ISTRUZIONE SUPERIORE “A. EINSTEIN” fileCos’è un metodo iterativo? I metodi iterativi consentono di ottenere una soluzione approssimata del sistema lineare Ax = b](https://reader031.vdocuments.pub/reader031/viewer/2022022803/5c8913eb09d3f2a4168c2fd4/html5/thumbnails/16.jpg)
ApplicazioneApplicazione deidei metodimetodi in un in un casocasoconcretoconcreto utilizzandoutilizzando OctaveOctave
![Page 17: ISTITUTO DI ISTRUZIONE SUPERIORE “A. EINSTEIN” fileCos’è un metodo iterativo? I metodi iterativi consentono di ottenere una soluzione approssimata del sistema lineare Ax = b](https://reader031.vdocuments.pub/reader031/viewer/2022022803/5c8913eb09d3f2a4168c2fd4/html5/thumbnails/17.jpg)
Il Il programmaprogramma principaleprincipale sisi trovatrova nelnelfile file jac_gs.mjac_gs.m;;
DalDal programmaprogramma principaleprincipale vengonovengonochiamatechiamate due functions :due functions :
(a)(a) matrice.mmatrice.m cheche èè semplicementesemplicementeunauna proceduraprocedura per per inserireinserire dadatastieratastiera matricimatrici o o vettorivettori con con comoditcomoditàà;;
(b)(b) met_jac_gs.mmet_jac_gs.m cheche èè la la proceduraproceduracheche svolgesvolge i i calcolicalcoli..
![Page 18: ISTITUTO DI ISTRUZIONE SUPERIORE “A. EINSTEIN” fileCos’è un metodo iterativo? I metodi iterativi consentono di ottenere una soluzione approssimata del sistema lineare Ax = b](https://reader031.vdocuments.pub/reader031/viewer/2022022803/5c8913eb09d3f2a4168c2fd4/html5/thumbnails/18.jpg)
## Listato del file ## Listato del file jac_gs.mjac_gs.m## ## AuthorAuthor: Prof. Fernando : Prof. Fernando DD’’AngeloAngelo## ## CreatedCreated: 2009: 2009--0101--1111
dispdisp("Questo script consente di risolvere iterativamente un sistema ("Questo script consente di risolvere iterativamente un sistema lineare lineare Ax=bAx=b ");");dispdisp("quale metodo iterativo vuoi usare ?")("quale metodo iterativo vuoi usare ?")n_met=input("scrivi 1 per n_met=input("scrivi 1 per jacobijacobi oppure 2 per oppure 2 per gaussgauss--seidelseidel ");");dispdisp("definisci la matrice A dei coefficienti mediante procedura gui("definisci la matrice A dei coefficienti mediante procedura guidata: ");data: ");nr=inputnr=input("inserisci il numero di righe ")("inserisci il numero di righe ")nc=inputnc=input("inserisci il numero di colonne ")("inserisci il numero di colonne ")nome_elemento="a";nome_elemento="a";A=matriceA=matrice((nrnr,,ncnc,,nome_elementonome_elemento))dispdisp("definisci il vettore colonna b dei termini noti mediante proce("definisci il vettore colonna b dei termini noti mediante procedura dura guidata: ");guidata: ");b=matriceb=matrice((nrnr,1,"b"),1,"b")x0=rand(x0=rand(nrnr,1),1)tol=inputtol=input("quanto deve valere la tolleranza ? ");("quanto deve valere la tolleranza ? ");[sol,iter,errore]=met_jac_gs(A,b,x0,[sol,iter,errore]=met_jac_gs(A,b,x0,toltol,,n_metn_met););dispdisp("la soluzione e':");("la soluzione e':");solsoldispdisp("il numero di iterazioni impiegato e' :");("il numero di iterazioni impiegato e' :");iteriterdispdisp("guarda il grafico dell'errore in funzione del numero di iteraz("guarda il grafico dell'errore in funzione del numero di iterazioni");ioni");plot(1:plot(1:lengthlength(errore),(errore),erroreerrore,"1,"1--*")*")
![Page 19: ISTITUTO DI ISTRUZIONE SUPERIORE “A. EINSTEIN” fileCos’è un metodo iterativo? I metodi iterativi consentono di ottenere una soluzione approssimata del sistema lineare Ax = b](https://reader031.vdocuments.pub/reader031/viewer/2022022803/5c8913eb09d3f2a4168c2fd4/html5/thumbnails/19.jpg)
## Listato del file ## Listato del file met_jac_gs.mmet_jac_gs.m## ## AuthorAuthor: Prof. Fernando : Prof. Fernando DD’’AngeloAngelo## ## 20092009--0101--1111
functionfunction [sol,iter,errore]=met_jac_gs(A,b,x0,[sol,iter,errore]=met_jac_gs(A,b,x0,toltol,,n_metn_met))itermax=100;itermax=100;D=diagD=diag((diagdiag(A));(A));ifif (n_met==1)(n_met==1)
M1=inv(D);M1=inv(D);N=N=--(A(A--D);D);Pj=M1*N;Pj=M1*N;dispdisp("raggio spettrale matrice iterazione di ("raggio spettrale matrice iterazione di JacobiJacobi");");maxmax((absabs((eigeig((PjPj))))))qj=M1*b;qj=M1*b;x1=Pj*x0+qj;x1=Pj*x0+qj;iter=1;iter=1;errore(iter)errore(iter)=norm=norm(x1(x1--x0);x0);whilewhile((normnorm(x1(x1--x0,2)>x0,2)>=tol=tol & iter <& iter <=itermax=itermax))
x0=x1;x0=x1;x1=Pj*x0+qj;x1=Pj*x0+qj;iter=iter+1;iter=iter+1;errore(iter)errore(iter)=norm=norm(x1(x1--x0);x0);
endend((segue nella prossima pagina)segue nella prossima pagina)
![Page 20: ISTITUTO DI ISTRUZIONE SUPERIORE “A. EINSTEIN” fileCos’è un metodo iterativo? I metodi iterativi consentono di ottenere una soluzione approssimata del sistema lineare Ax = b](https://reader031.vdocuments.pub/reader031/viewer/2022022803/5c8913eb09d3f2a4168c2fd4/html5/thumbnails/20.jpg)
elseelseL=trilL=tril(A)(A)--D; D; U=triuU=triu(A)(A)--D; D; DI=invDI=inv((D+LD+L); ); GS=GS=--DI*U;DI*U;dispdisp("raggio spettrale matrice iterazione di ("raggio spettrale matrice iterazione di GaussSeidelGaussSeidel");");maxmax((absabs((eigeig(GS)))(GS)))b1=DI*b;b1=DI*b;x1=GS*x0+b1;x1=GS*x0+b1;iter=1;iter=1;errore(iter)errore(iter)=norm=norm(x1(x1--x0);x0);whilewhile((normnorm(x1(x1--x0,2)>x0,2)>=tol=tol & iter<& iter<=itermax=itermax))
x0=x1;x0=x1;x1=GS*x0+b1;x1=GS*x0+b1;iter=iter+1;iter=iter+1;errore(iter)errore(iter)=norm=norm(x1(x1--x0);x0);
endendendendifif iter>iter>itermaxitermax
errorerror('non converge nel numero di iterazioni prefissate')('non converge nel numero di iterazioni prefissate')elseelse
sol=x1;sol=x1;iter=iteriter=iter--1;1;
endendendend
![Page 21: ISTITUTO DI ISTRUZIONE SUPERIORE “A. EINSTEIN” fileCos’è un metodo iterativo? I metodi iterativi consentono di ottenere una soluzione approssimata del sistema lineare Ax = b](https://reader031.vdocuments.pub/reader031/viewer/2022022803/5c8913eb09d3f2a4168c2fd4/html5/thumbnails/21.jpg)
## Listato del file ## Listato del file matrice.mmatrice.m## ## AuthorAuthor: Prof. Fernando : Prof. Fernando DD’’AngeloAngelo## 2009## 2009--0101--1111
functionfunction [y][y]=matrice=matrice((nrnr,,ncnc,,labellabel))%Funzione%Funzione per inserire una matrice in per inserire una matrice in OctaveOctave%da%da usare con la seguente sintassi:usare con la seguente sintassi:% [y]% [y]=matrice=matrice((nrnr,,ncnc))%in%in cui si cui si avra'avra' che:che:% % nrnr = numero di righe della matrice da inserire= numero di righe della matrice da inserire% % ncnc = numero di colonne della matrice da inserire= numero di colonne della matrice da inserire% % labellabel èè l'etichetta della matrice o vettore passata dal l'etichetta della matrice o vettore passata dal programma chiamanteprogramma chiamanteforfor i=1:i=1:nrnrforfor j=1:j=1:ncncy(i,j)y(i,j)=input=input((sprintfsprintf([([labellabel,"[,"[%o%o,,%o%o]="],i,j));]="],i,j));end;end;end;end;endend
![Page 22: ISTITUTO DI ISTRUZIONE SUPERIORE “A. EINSTEIN” fileCos’è un metodo iterativo? I metodi iterativi consentono di ottenere una soluzione approssimata del sistema lineare Ax = b](https://reader031.vdocuments.pub/reader031/viewer/2022022803/5c8913eb09d3f2a4168c2fd4/html5/thumbnails/22.jpg)
Applicazione dei metodi di Applicazione dei metodi di JacobiJacobi e e GaussGauss--SeidelSeidel in un caso in un caso
concreto.concreto.
bXA =⋅
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
−−−
−−−
=
4011141111401114
A
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
=
4
3
2
1
xxxx
X
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
−=
01
21
b
![Page 23: ISTITUTO DI ISTRUZIONE SUPERIORE “A. EINSTEIN” fileCos’è un metodo iterativo? I metodi iterativi consentono di ottenere una soluzione approssimata del sistema lineare Ax = b](https://reader031.vdocuments.pub/reader031/viewer/2022022803/5c8913eb09d3f2a4168c2fd4/html5/thumbnails/23.jpg)
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛−
=
4000040000400004
D A=DA=D--((B+CB+C))
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
−
=
0011001100000000
B
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
−−−−
=
0000100011001110
C
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
−−−
−−−
=
4011141111401114
A
![Page 24: ISTITUTO DI ISTRUZIONE SUPERIORE “A. EINSTEIN” fileCos’è un metodo iterativo? I metodi iterativi consentono di ottenere una soluzione approssimata del sistema lineare Ax = b](https://reader031.vdocuments.pub/reader031/viewer/2022022803/5c8913eb09d3f2a4168c2fd4/html5/thumbnails/24.jpg)
Risoluzione con il metodo della matrice inversaRisoluzione con il metodo della matrice inversa
>> >> A=A=[[4 [[4 --1 1 1];[0 1 1 1];[0 --4 4 --1 1];[1 1];[--1 1 --11 4 1];[1 4 1];[1 --1 0 4]]1 0 4]]A =A =
4 4 --1 1 11 1 10 0 --4 4 --1 11 1--1 1 --11 4 14 11 1 --1 0 41 0 4
>>>>b=b=[1 2 [1 2 --1 0]'1 0]'b =b =
1122--1100
>> >> xstar=invxstar=inv(A)(A)*b*bxstarxstar ==
0.241380.24138--0.478930.47893--0.264370.26437--0.180080.18008
![Page 25: ISTITUTO DI ISTRUZIONE SUPERIORE “A. EINSTEIN” fileCos’è un metodo iterativo? I metodi iterativi consentono di ottenere una soluzione approssimata del sistema lineare Ax = b](https://reader031.vdocuments.pub/reader031/viewer/2022022803/5c8913eb09d3f2a4168c2fd4/html5/thumbnails/25.jpg)
Adesso invece utilizziamo il metodo di Adesso invece utilizziamo il metodo di JacobiJacobi..octaveoctave--3.0.2.exe:1:C:3.0.2.exe:1:C:\\ProgrammiProgrammi\\OctaveOctave\\3.0.2_gcc3.0.2_gcc--4.3.04.3.0\\binbin> > jac_gsjac_gsQuesto script consente di risolvere iterativamente un sistema liQuesto script consente di risolvere iterativamente un sistema lineare neare Ax=bAx=bquale metodo iterativo vuoi usare ?quale metodo iterativo vuoi usare ?scrivi 1 per scrivi 1 per jacobijacobi oppure 2 per oppure 2 per gaussgauss--seidelseidel 11definisci la matrice A dei coefficienti mediante procedura guidadefinisci la matrice A dei coefficienti mediante procedura guidata:ta:inserisci il numero di righe 4inserisci il numero di righe 4nrnr = 4= 4inserisci il numero di colonne 4inserisci il numero di colonne 4ncnc = 4= 4a[1,1]=4a[1,1]=4a[1,2]=a[1,2]=--11a[1,3]=1a[1,3]=1a[1,4]=1a[1,4]=1a[2,1]=0a[2,1]=0a[2,2]=a[2,2]=--44a[2,3]=a[2,3]=--11a[2,4]=1a[2,4]=1a[3,1]=a[3,1]=--11a[3,2]=a[3,2]=--11a[3,3]=4a[3,3]=4a[3,4]=1a[3,4]=1a[4,1]=1a[4,1]=1a[4,2]=a[4,2]=--11a[4,3]=0a[4,3]=0a[4,4]=4a[4,4]=4A =A =
4 4 --1 1 11 1 10 0 --4 4 --1 11 1
--1 1 --11 4 14 11 1 --1 0 41 0 4
![Page 26: ISTITUTO DI ISTRUZIONE SUPERIORE “A. EINSTEIN” fileCos’è un metodo iterativo? I metodi iterativi consentono di ottenere una soluzione approssimata del sistema lineare Ax = b](https://reader031.vdocuments.pub/reader031/viewer/2022022803/5c8913eb09d3f2a4168c2fd4/html5/thumbnails/26.jpg)
definisci il vettore colonna b dei termini noti mediante procedudefinisci il vettore colonna b dei termini noti mediante procedura guidata:ra guidata:b[1,1]=1b[1,1]=1b[2,1]=2b[2,1]=2b[3,1]=b[3,1]=--11b[4,1]=0b[4,1]=0b =b =
1122
--1100
x0 =x0 =
0.805020.805020.263730.263730.730390.730390.928850.92885
quanto deve valere la tolleranza ? quanto deve valere la tolleranza ? 1.e1.e--88raggio spettrale matrice iterazione di raggio spettrale matrice iterazione di JacobiJacobiansans = 0.39369= 0.39369la soluzione e':la soluzione e':sol =sol =
0.241380.24138--0.478930.47893--0.264370.26437--0.180080.18008
il numero di iterazioni impiegato e' :il numero di iterazioni impiegato e' :iter = 20iter = 20guarda il grafico dell'errore in funzione del numero di iterazioguarda il grafico dell'errore in funzione del numero di iterazionini
![Page 27: ISTITUTO DI ISTRUZIONE SUPERIORE “A. EINSTEIN” fileCos’è un metodo iterativo? I metodi iterativi consentono di ottenere una soluzione approssimata del sistema lineare Ax = b](https://reader031.vdocuments.pub/reader031/viewer/2022022803/5c8913eb09d3f2a4168c2fd4/html5/thumbnails/27.jpg)
Andamento dellAndamento dell’’errore in funzione errore in funzione del numero di iterazioni per il del numero di iterazioni per il
metodo di metodo di JacobiJacobi
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
5 10 15 20
![Page 28: ISTITUTO DI ISTRUZIONE SUPERIORE “A. EINSTEIN” fileCos’è un metodo iterativo? I metodi iterativi consentono di ottenere una soluzione approssimata del sistema lineare Ax = b](https://reader031.vdocuments.pub/reader031/viewer/2022022803/5c8913eb09d3f2a4168c2fd4/html5/thumbnails/28.jpg)
Adesso invece utilizziamo il metodo di Adesso invece utilizziamo il metodo di GaussGauss--SeidelSeidel..ctavectave--3.0.2.exe:1:C:3.0.2.exe:1:C:\\ProgrammiProgrammi\\OctaveOctave\\3.0.2_gcc3.0.2_gcc--4.3.04.3.0\\binbin> > jac_gsjac_gsQuesto script consente di risolvere iterativamente un sistema liQuesto script consente di risolvere iterativamente un sistema lineare neare Ax=bAx=bquale metodo iterativo vuoi usare ?quale metodo iterativo vuoi usare ?scrivi 1 per scrivi 1 per jacobijacobi oppure 2 per oppure 2 per gaussgauss--seidelseidel 22definisci la matrice A dei coefficienti mediante procedura guidadefinisci la matrice A dei coefficienti mediante procedura guidata:ta:inserisci il numero di righe 4inserisci il numero di righe 4nrnr = 4= 4inserisci il numero di colonne 4inserisci il numero di colonne 4ncnc = 4= 4a[1,1]=4a[1,1]=4a[1,2]=a[1,2]=--11a[1,3]=1a[1,3]=1a[1,4]=1a[1,4]=1a[2,1]=0a[2,1]=0a[2,2]=a[2,2]=--44a[2,3]=a[2,3]=--11a[2,4]=1a[2,4]=1a[3,1]=a[3,1]=--11a[3,2]=a[3,2]=--11a[3,3]=4a[3,3]=4a[3,4]=1a[3,4]=1a[4,1]=1a[4,1]=1a[4,2]=a[4,2]=--11a[4,3]=0a[4,3]=0a[4,4]=4a[4,4]=4A =A =
4 4 --1 1 11 1 10 0 --4 4 --1 11 1
--1 1 --11 4 14 11 1 --1 0 41 0 4
![Page 29: ISTITUTO DI ISTRUZIONE SUPERIORE “A. EINSTEIN” fileCos’è un metodo iterativo? I metodi iterativi consentono di ottenere una soluzione approssimata del sistema lineare Ax = b](https://reader031.vdocuments.pub/reader031/viewer/2022022803/5c8913eb09d3f2a4168c2fd4/html5/thumbnails/29.jpg)
definisci il vettore colonna b dei termini noti mediante procedudefinisci il vettore colonna b dei termini noti mediante procedura guidata:ra guidata:b[1,1]=1b[1,1]=1b[2,1]=2b[2,1]=2b[3,1]=b[3,1]=--11b[4,1]=0b[4,1]=0b =b =
1122
--1100
x0 =x0 =0.3330530.3330530.5439480.5439480.0743530.0743530.0809330.080933
quanto deve valere la tolleranza ? 1.equanto deve valere la tolleranza ? 1.e--88raggio spettrale matrice iterazione di raggio spettrale matrice iterazione di GaussSeidelGaussSeidelansans = 0.17678= 0.17678la soluzione e':la soluzione e':sol =sol =
0.241380.24138--0.478930.47893--0.264370.26437--0.180080.18008
il numero di iterazioni impiegato e' :il numero di iterazioni impiegato e' :iter = iter = 1111guarda il grafico dell'errore in funzione del numero di iterazioguarda il grafico dell'errore in funzione del numero di iterazioninioctaveoctave--3.0.2.exe:2:C:3.0.2.exe:2:C:\\ProgrammiProgrammi\\OctaveOctave\\3.0.2_gcc3.0.2_gcc--4.3.04.3.0\\binbin>>
![Page 30: ISTITUTO DI ISTRUZIONE SUPERIORE “A. EINSTEIN” fileCos’è un metodo iterativo? I metodi iterativi consentono di ottenere una soluzione approssimata del sistema lineare Ax = b](https://reader031.vdocuments.pub/reader031/viewer/2022022803/5c8913eb09d3f2a4168c2fd4/html5/thumbnails/30.jpg)
Andamento dellAndamento dell’’errore in funzione errore in funzione del numero di iterazioni per il del numero di iterazioni per il
metodo di metodo di GaussGauss--SeidelSeidel
0
0.2
0.4
0.6
0.8
1
1.2
2 4 6 8 10 12
![Page 31: ISTITUTO DI ISTRUZIONE SUPERIORE “A. EINSTEIN” fileCos’è un metodo iterativo? I metodi iterativi consentono di ottenere una soluzione approssimata del sistema lineare Ax = b](https://reader031.vdocuments.pub/reader031/viewer/2022022803/5c8913eb09d3f2a4168c2fd4/html5/thumbnails/31.jpg)
Cosa succede applicando i metodi Cosa succede applicando i metodi iterativi al seguente sistema?iterativi al seguente sistema?(lieve modifica alla matrice A)(lieve modifica alla matrice A)
bXA =⋅'
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
−−−
−−−
=
1411141111401114
'A
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
=
4
3
2
1
xxxx
X
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
−=
01
21
b