Programma consuntivo del corso (Anno Accademico 2007-08)
e materiale di riferimento


Viene riportato di seguito il programma dettagliato del corso per il corrente Anno Accademico; l'elenco dei comandi di C e MATLAB citati non è esaustivo,ma viene fornito solo ai fini di orientamento generale.
Nella colonna dei riferimenti, ogni richiamo al libro consigliato (G. Naldi - L. Pareschi - G. Russo: "Introduzione al Calcolo Scientifico", ed. McGraw-Hill) per brevità viene indicato dalla sigla NPR.
Il programma viene aggiornato parallelamente allo svolgimento del corso; si invita pertanto a visitare questo link ripetutamente durante lo svolgimento, per ottenere informazioni sempre più aggiornate.


Data

Argomenti trattati

Riferimenti, file, link utili ecc.

2 ottobre 2007

Introduzione storica ai sistemi di calcolo.

Algebra di Boole; notazione binaria; cifre significative.

Funzioni logiche: NOT, AND, OR.

Numerazione binaria; conversione binario-decimale e decimale binaria.

Storia del computer dal sito dell'IAC (CNR) di Napoli.
Corso di P.E. Dunne (in inglese): consigliate lezione 3 e 4.
Sito della University of St. Andrews (Scozia) con biografie di numerosi scienziati legati alla matematica.



NPR 1.1; 1.3.1

4 ottobre 2007

Leggi di De Morgan.

Implicazione logica.

Rappresentazione in virgola mobile: arrotondamento e troncamento; mantissa ed esponente.

Sistemi di input e output.

Algoritmi.

Linguaggi di programmazione: linguaggi di basso e alto livello; linguaggi interpretati e compilati.

NPR 1.1; 1.3.2


9 ottobre 2007

Errori assoluti e relativi; arrotondamento e troncamento. Precisione macchina e errori connessi. Approssimazione di Stirling per il calcolo del fattoriale, calcolo degli errori commessi utilizzando l'approssimazione rispetto al valore vero di n!.

NPR 1.4; 1.4.1-2

11 ottobre 2007

Fogli di calcolo: OpenOffice Calc o equivalenti commerciali; uso delle funzioni predefinite.

Creazione di una tabella che metta a confronto i valori di una sequenza di numeri interi n con il corrispondente fattoriale n! e la sua approssimazione di Stirling; stima dell'errore relativo e assoluto commessi con questa approssimazione.

Tracciamento del grafico dell'errore relativo in funzione del numero intero n. Formattazione del grafico.

Sito di OpenOffice, dove è possibile scaricare il software anche per sistemi operativi commerciali. Consultare anche il sito in inglese, per una documentazione più ricca e completa.

File per foglio di calcolo OpenOffice Calc (stirling_app.ods) per tracciare il grafico relativo alla stima dell'errore relativo per l'approssimazione di Stirling del fattoriale.

16 ottobre 2007


Formattazione delle celle di una tabella in un foglio di calcolo.

Confronto fra le strutture di controllo del flusso in OpenOffice Calc e in Matlab.

Guida introduttiva a Openoffice Calc 2.X

NPR 1.2.8

18 ottobre 2007

Uso delle funzioni logiche in fogli di calcolo. Istruzione ternaria SE(condizione; istruzione1; istruzione2).

Tracciamento del grafico di una funzione definita a tratti.


File per foglio di calcolo OpenOffice Calc (fx_atratti.ods) per tracciare il grafico di una funzione definita a tratti.

23 ottobre 2007

Introduzione all'uso di MATLAB; presentazione del software Free Source 'OCTAVE': sito di download e esempi di uso equivalente a MATLAB come calcolatrice da finestra di comando. Impostazione del formato di visualizzazione mediante il comando format. Uso del comando help.

Scalari, vettori, matrici e loro immissione elementare. Emtpy matrix []. Variabili predefinite: ans, pi, realmax, realmin, eps...

Creazione di vettori linearmente equispaziati mediante comando “due punti” (:) e linspace.

Sito ufficiale di Octave, dove è possibile trovare link per scaricare il software, anche per sistemi operativi commerciali, e documentazione specifica.

NPR 1.2.1-3

Manuali e altro materiale utile per i primi approcci verso Matlab:

Introduzione

Introduzione (2)

Primer (in English)

Introduction (in English)

Manuale "Getting Started" di MathWorks

25 ottobre 2007

Sistema operativo Linux: primi rudimenti; uso della shell bash; principali comandi elementari (ls, cd, mkdir, touch ecc.).

Uso di Linux per le operazioni elementari su file e directory; uso dell'interfaccia grafica (KDE/Gnome) per compiere le suddette operazioni.
Introduzione a MATLAB; uso dell'editor di testo integrato per comporre codici sorgenti. Manipolazioni di matrici; NaN, Inf.
Uso di who, whos, lookfor per ottenere informazioni.

Operazioni fra scalari e vettori; operazioni elemento per elemento.

Script in MATLAB.Grafica in MATLAB: uso di plot per grafici in due dimensioni (rappresentazione di funzioni ad una variabile).

Tabella di comandi UNIX-Linux utili per lavorare nelle shell con riga di comando.

NPR 1.2.4-5


Script MATLAB (fileprimo.m) elaborato in aula per la creazione di grafici.

30 ottobre 2007

Dettagli circa l'utilizzo di plot per tracciamento dei grafici di una funzione in una variabile

Vettori e matrici speciali (ones, zeros, eye, ecc...).

Uso dei file forniti dal libro di testo (vedasi istruzioni).

NPR 1.2.5
Script MATLAB (graph_sin_cos.m) per creare il grafico delle funzioni seno e coseno, e script con i principali comandi eseguiti nella lezione odierna e in quelle successive.

6 novembre 2007

Grafica in MATLAB: uso di meshgrid, surf, contour per grafici in tre dimensioni (rappresentazione di funzioni a due variabili).

Ciclo chiuso (for... end) per la ripetizione di sequenze di comandi.
Creazione di sottografici mediante la funzione subplot.

Creazione di sottografici per funzione di una variabile reale con un parametro intero usando un ciclo chiuso.

NPR 1.2.6
Script MATLAB (lez6nov07.m) con i principali comandi eseguiti nella lezione odierna.

8 novembre 2007

Differenza fra script e function di MATLAB: analisi dello script stella e della funzione puntistella. Modifica di file per adattare il comportamento di un codice: funzione stellamod.

Calcolo della media di vettori e matrici in Matlab e nei fogli di calcolo.

Operatori relazionali; operatori booleani (o logici). Ciclo condizionato (while... end).

NPR 1.2.7-8

Script MATLAB (lez8nov07.m) con i principali comandi eseguiti nella lezione odierna.

File stellamod.m

File medie.ods per esempio di calcolo di medie con OpenOffice

File polygons.m (esercizio assegnato).

13 novembre 2007

Analisi della soluzione all'esercizio dell'8 novembre 2007 (polygons.m).

Funzioni per arrotondare a un numero intero (ceil, floor, round, fix); funzione resto di una divisione fra interi (rem).
Uso delle nozioni apprese per analizzare e modificare i file per successioni ricorsive del libro di testo.

Esercizio assegnato: creazione di una funzione che, ricevendo in ingresso un numero n intero, produca in uscita una stringa corrispondente alla rappresentazione binaria di n.

NPR 1.2.8.
Script MATLAB con i principali comandi eseguiti nella lezione odierna e in quelle successive (13nov07.m).

Funzione succesionefor.m discussa durante la lezione.

Soluzione dell'esercizio proposto (d2bin.m).

15 novembre 2007


Uso delle nozioni apprese per analizzare e modificare i file per successioni ricorsive del libro di testo.

Uso del costrutto switch... case... otherwise... end.

Stampa a schermo in MATLAB mediante il comando fprintf.


Uso di diary e save per memorizzare i dati calcolati e il workspace.

Visualizzazione di tabelle a schermo (uso di fprintf e disp).

NPR 1.2.9.
Script MATLAB con i principali comandi eseguiti nella lezione odierna e in quelle successive (lez15nov07.m).

20 novembre 2007

Input e output di dati: uso di load congiunto a save. Dati organizzati in tabelle testuali.


Uso di griddata per l'interpolazione di dati spaziali; esempio di simulazione di rendering di dati di rilievo di dati territoriali (altitudine di una zona di terreno).

Uso avanzato di grafica 3D: contour, contourf, contour3, pcolor, surf, surfc.

Script MATLAB con i principali comandi eseguiti nella lezione odierna e in quelle successive (lez20nov07.m).

Soluzione dell'esercizio proposto sulla soluzione delle equazioni di secondo grado (equazione2.m).

22 novembre 2007

ANNULLATA PER INAGIBILITA' DELL'AULA

27 novembre 2007

Analisi dello script fattoriale.m (NPR, cap 1) per visualizzare a schermo una tabella che metta a confronto i valori di una sequenza di numeri interi n con il corrispondente fattoriale n! e la sua approssimazione di Stirling; stima dell'errore relativo e assoluto commessi con questa approssimazione.

Preparazione del codice MATLAB per una function factStirling.m che consenta di scegliere il numero di righe della tabella, e crei un grafico dell'errore relativo in funzione del numero intero n. Formattazione del grafico (cfr. lez 11 ottobre 2007)

NPR 1.4.1
Script MATLAB con i principali comandi eseguiti nella lezione odierna e in quelle successive (lez27nov07.m).

Soluzione dell'esercizio proposto (factStirling.m); il codice contiene anche le modifiche introdotte nelle lezioni successive.

29 novembre 2007

Discussione su errori numerici e precisione macchina.

Uso di fopen/fprintf/fclose per la stampa su file (si vedano le modifiche in factStirling.m). Uso del comando transpose e del comando save per memorizzare dati in formato MATLAB (.mat) ed in formato testo, con codifica ASCII.

NPR 1.4.2
Script MATLAB con i principali comandi eseguiti nella lezione odierna e in quelle successive (lez27nov07.m).

4 dicembre 2007

Uso dei comandi xlswrite/csvwrite per scrivere dati in formato spreadsheet (excel/csv) a partire da dati di MATLAB. Cenno sull'uso di xlsread/csvread.

Approssimazione del numero e mediante successione: analisi dello script approxexp.m, che visualizza una tabella con l'errore relativo commesso nel calcolo di e; effetto dell'approssimazione numerica e dell'errore macchina. Creazione del codice modificato approxexpmod.m che utilizza la funzione input per introdurre il valore del massimo numero n su cui effettuare il calcolo dell'approssimazione di e.


Approssimazione di π (pi greco) mediante algoritmo di Archimede; analisi dello script archimede.m che simula l'utilizzo dell'algoritmo.

Esercizi proposti:

1. predisporre un foglio di dati approxexp.ods che riproduca i risultati di approxexp.m e visualizzi il grafico dell'errore relativo in funzione del numero intero n usato per calcolare l'approssimazione di e;

2. scrivere un codice archimod.m per MATLAB da chiamare con kmax in ingresso, massimo valore di k intero progressivo, a partire da 2, per la preparazione di una tabella equivalente a quella creata dallo script archimede.m e per la creazione di un grafico dell'errore relativo in funzione di n = 2^k.

NPR 1.4.2-3
Script MATLAB con i principali comandi eseguiti nella lezione odierna e in quelle successive (lez27nov07.m).

Codice per lo script approxexpmod.m.

6 dicembre 2007

Soluzione degli esercizi proposti nella lezione precedente.

Soluzione del primo esercizio mediante il foglio dei dati approxexp.ods.

Soluzione del secondo esercizio mediante codice MATLAB archimod.m.