Compiti ed esercitazioni VERIFICATO

Esercizio 2 di matlab 13 07 2021

Università degli Studi di Roma - La Sapienza ingegneria per l'ambiente e il territorio Curriculum ingegneria per l'ambiente e il territorio (percorso formativo valido anche ai fini del conseguimento del doppio titolo italo-venezuelano) 2026
16 visualizzazioni
Nessun voto ancora
Condividi: WhatsApp Telegram
Anteprima pagina 1 — Esercizio 2 di matlab 13 07 2021

Di cosa parla

  • 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.

Altri appunti di CALCOLO NUMERICO CON ELEMENTI DI PROGRAMMAZIONE

Condividi questi appunti

WhatsApp Telegram