Inizializzazione: Il codice inizia con comandi per pulire l'ambiente di lavoro (clear, close all), preparando l'esecuzione dello script.
Input della dimensione: Richiede all'utente di inserire la dimensione N del sistema lineare.
Costruzione della Matrice dei Coefficienti (A):
Vengono generate matrici diagonali sparse Au (superiore), Al (inferiore) e Ad (principale) con valori casuali e costanti.
La matrice finale A è la somma di queste componenti (A = Au + Al + Ad), creando una struttura tridiagonale rinforzata.
Costruzione del Termine Noto (B):
Il vettore B è inizializzato con valori NaN.
I suoi elementi vengono poi popolati alternativamente con sin(pi/3) e exp(-1).
Approssimazione Iniziale (X0): Il vettore di soluzione iniziale X0 è impostato a zero.
Parametri di Convergenza:
Viene definita una tolleranza (tol = 0.5e-3) per l'accuratezza desiderata.
Il numero massimo di iterazioni (Nmax = 30) è impostato per prevenire cicli infiniti.
Esecuzione del Metodo di Gauss-Seidel: La funzione GS viene chiamata con la matrice A, il vettore B, l'approssimazione iniziale X0, la tolleranza tol e il numero massimo di iterazioni Nmax. Restituisce la soluzione finale (X_fin), la distanza dall'accuratezza raggiunta (distk) e il numero finale di iterazioni (N_fin).
Visualizzazione dell'Output:
Viene stampato il 'Residuo' del sistema (A * X_fin - B) con alta precisione.
Vengono visualizzati l'accuratezza raggiunta e il numero totale di iterazioni necessarie per la convergenza.
Generazione del Grafico:
Viene creata una nuova figura.
Un grafico mostra l'andamento della distanza (errore) rispetto alle iterazioni (plot(distk(2:end))).
Gli assi sono etichettati come 'iterazioni' e 'distanza'.
Salvataggio dei Risultati:
Il grafico viene salvato in formato PNG con un nome file che include la dimensione N.
La soluzione finale X_fin e la distanza distk vengono salvate in un file MAT.
Nota sull'Errore: Viene riportato un errore Error using input / Cannot call INPUT from EVALC, indicando che lo script è stato eseguito in un ambiente che non supporta l'input interattivo, probabilmente in una modalità di valutazione automatica o batch.
Siamo nati da poco ma abbiamo già migliaia di appunti nella nostra community!
Completa il tuo profilo
Adesso sei dei nostri!
Ottieni i primi crediti!
Carica i tuoi file
Il modo più veloce per guadagnare crediti è caricare materiale.
Ci sono tante tipologie di materiale e siamo certi che hai tanto valore da condividere con la community!
Accidenti, ancora non abbiamo il tuo corso di laurea!
Se ti va puoi inserirlo tu in pochi click — anche solo il corso di laurea, oppure completo di tutti i corsi!
Aggiungilo subito
e faremo del nostro meglio per popolarlo di materiale interessante.
Nel frattempo inizia a guadagnare crediti invitando i tuoi amici, così appena saremo attivi potrai subito accedere al materiale disponibile.
Bastano 3 amici verificati per attivare l'abbonamento…
Consiglia ai tuoi amici
Scrivi ai tuoi vecchi amici o ai tuoi nuovi colleghi di studio. Ogni email che inserisci rappresenta un mattone importante per la community.
Per ogni amico che porti otterrai nuovi crediti!