13
Dipartimento di Elettronica e Informazione Facoltà di Ingegneria Industriale Laurea in Ingegneria Energetica, Meccanica e dei Trasporti Informatica B Prof. Marco Masseroli Indice Laboratorio 4: Linguaggio MATLAB7Octave getting started; istruzioni di assegnamento e di ingresso e uscita, strutture di controllo condizionali Stefano Bonacina 2

Laboratorio04 [modalit compatibilit ]galbiati.ws.dei.polimi.it/materiale/laboratori/matlab/laboratorio... · LAB 4: MATLAB/OCTAVE ESERCIZI DI STRUTTURE DI CONTROLLO, ARRAY E MATRICI

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