Upload
duongtruc
View
229
Download
1
Embed Size (px)
Citation preview
Dipartimento di Elettronica e Informazione
Facoltà di Ingegneria IndustrialeLaurea in Ingegneria Energetica, Meccanica e dei Trasporti
Informatica BProf. Marco Masseroli
Indice
Laboratorio 4: Linguaggio MATLAB7Octavegetting started; istruzioni di assegnamento e di ingresso e uscita,
strutture di controllo condizionali
Stefano Bonacina 2
LAB 4: MATLAB/OCTAVE
LAB 4: LINGUAGGIO MATLAB/OCTAVEGETTING STARTED;
ESERCIZI DI STRUTTURE DI CONTROLLO,
Stefano Bonacina 3
ESERCIZI DI STRUTTURE DI CONTROLLO, ARRAY E MATRICI
LAB 4: MATLAB/OCTAVE
GETTING STARTED
Stefano Bonacina 4
Getting StartedDownload e installazione di Octave
Dove trovare Octave e altre informazioni su di essohttp://octave.softonic.it/http://www.octave.netsons.org/
Stefano Bonacina 5
Installazione di Octave (per Sistemi Operativi Windows)
Getting StartedDownload e installazione di Octave
Stefano Bonacina 6
Getting StartedDownload e installazione di Octave
Stefano Bonacina 7
Getting StartedDownload e installazione di Octave
Stefano Bonacina 8
Getting StartedDownload e installazione di Octave
Stefano Bonacina 9
Getting StartedDownload e installazione di Octave
Stefano Bonacina 10
Getting StartedDownload e installazione di Octave
Stefano Bonacina 11
Getting StartedDownload e installazione di Octave
Stefano Bonacina 12
Getting StartedDownload e installazione di Octave
Stefano Bonacina 13
Getting StartedDownload e installazione di Octave
Stefano Bonacina 14
Getting StartedDownload e installazione di Octave
Stefano Bonacina 15
Getting StartedDownload e installazione di Octave
Stefano Bonacina 16
Getting StartedDownload e installazione di Octave
Stefano Bonacina 17
Getting StartedDownload e installazione di Octave
Stefano Bonacina 18
LAB 4: MATLAB/OCTAVE
ESERCIZI DI STRUTTURE DI CONTROLLO, ARRAY E MATRICI
Stefano Bonacina 19
1 - Esercizi introduttiviProblema 1
Scrivere un programma che prende in input la temperatura in gradi Celsius e restituisce in output i gradi Fahrenheit (Formula: Fahrenheit = Celsius * 9/5 + 32).
Nota: Usare la funzione “input” per l'inserimento di interi.
Stefano Bonacina 20
1 - Esercizi introduttiviProblema 2
Scrivere un programma che, avendo come dati in ingresso i parametri a,b,c, risolva la generica equazione di secondo grado, anche nel caso di soluzioni complesse e coniugate. Considerare anche i casi di equazione di primo grado e uguaglianza (che rimane da verificare). Il
Stefano Bonacina
uguaglianza (che rimane da verificare). Il programma deve stampare il valore di delta, e i valori delle radici con anche messaggi adeguati.
21
2 -MediaProblema 3
Scrivere un programma che calcoli la media di 3 numeri inseriti dall’utente. Risolvere il programma in due modi:
- i tre valori vengono memorizzati in tre variabili diverse.
- i tre valori vengono memorizzati come elementi di
Stefano Bonacina
- i tre valori vengono memorizzati come elementi di un vettore. In questo secondo caso, la media si può calcolare come “mean(v)”, se “v” è il vettore costruito.
22
2 -Media Problema 4
Estensione: usando la seconda implementazione, è facile gestire l'inserimento di un numero arbitrario di valori, chiesto come prima cosa all'utente.
L'inserimento deve essere in questo caso gestito tramite un ciclo for .
Stefano Bonacina
tramite un ciclo for .
23
3 - Tabellina del prodotto Problema 5
Scrivere un file Matlab/Octave per produrre le tabelline dei prodotti di tutti i numeri da 1 a N (N = 10). Per ogni numero mostrare le prime M moltiplicazioni. Il risultato dev'essere una matrice di M righe ed N colonne.
Stefano Bonacina 24
3 - Tabellina del prodotto Problema 6
Estensione: Il programma può anche essere risolto senza l'utilizzo di cicli, utilizzando in particolare la funzione “repmat”, e seguendo questi passi:
- generare un vettore riga contenente i valori da 1 a N;- generare un vettore colonna contenente i valori da 1 a M;- ricopiare il vettore riga M volte verso il basso, tramite la funzione
repmat. Si ottiene una matrice MxN;
Stefano Bonacina
- ricopiare il vettore riga N volte verso destra, ricopiare il vettore riga N volte verso destra, tramite la funzione repmat. Si ottiene una matrice MxN;
- effettuare il prodotto elemento per elemento delle due matrici MxN calcolate prima.
25
4 – Le cittàProblema 7
Sono date N città definite dalle loro coordinate euclidee (x,y). Tali coordinate sono scritte in due vettori di N elementi ciascuno (un vettore per le x, uno per le y). Ad esempio, x(1) e y(1) rappresentano le coordinate per la prima città.
- Generare casualmente i vettori x e y come segue: x=rand(1,N); y=rand(1,N); osservare i valori risultanti, ed eventualmente moltiplicare i due vettori per 100 in modo che tali valori possano essere interpretati come coordinate espresse in km.
Stefano Bonacina
essere interpretati come coordinate espresse in km.- Disegnare la posizione di ogni città (plot)- Calcolare e stampare la matrice NxN delle distanze, in cui ogni cella (i,j)
rappresenta la distanza euclidea tra la città i e la città j, calcolata tramite il teorema di Pitagora.
- Impostare a NaN tutti gli elementi sulla diagonale principale (in modo da non si considerare la distanza tra una città e stessa).
Facoltativo: visualizzare la matrice tramite il comando image.
26