35
Fondamenti di Informatica Programmazione in MATLAB | Gestione File Prof. Raffaele Pizzolante A.A. 2016/17 Esercitazione | Esercizi per Casa – 2

Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

Fondamenti di InformaticaProg rammaz ion e in MATLAB | G e st ion e F i le

P r o f. R a f f a e l e P i z zo l a n t e

A . A . 2 0 1 6 / 1 7

E s e rc i t a z i o n e | E s e rc i z i p e r C a s a – 2

Page 2: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

• Come svolgere l’esercitazione per casa1. Analizzare ed approfondire lo svolgimento

dell’Esempio 1• Lo svolgimento si articola dalla slide di pagina 3 (inclusa) alla slide

di pagina 25 (inclusa)

2. Definire le funzioni richieste• Slide pagina 26 (Esercizio 1.1) e pagina 27 (Esercizio 1.2)

Esercizio 1Come Svolgere l’Esercitazione

Programmazione in MATLAB | Gestione File: Esercitazione

Page 3: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

Esempio 1

Programmazione in MATLAB | Gestione File: Esercitazione

Page 4: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

Processo Costo orario ($)

Ore richieste per produrre un’unità (h)

Prodotto 1 Prodotto 2 Prodotto 3

Tornitura 10 6 5 4

Rettifica 12 2 3 1

Fresatura 14 3 2 5

Saldatura 9 4 0 3

La tabella riporta i costi per quattro tipi di processi di fabbricazione. La tabella elenca anche il numero di ore richieste in ogni processo per produrre tre prodotti differenti

Programmazione in MATLAB | Gestione File: Esercitazione

Page 5: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

Processo Costo orario ($)

Ore richieste per produrre un’unità (h)

Prodotto 1 Prodotto 2 Prodotto 3

Tornitura 10 6 5 4

Rettifica 12 2 3 1

Fresatura 14 3 2 5

Saldatura 9 4 0 3

La tabella riporta i costi per quattro tipi di processi di fabbricazione. La tabella elenca anche il numero di ore richieste in ogni processo per produrre tre prodotti differenti

m

• Rappresentare in MATLAB la matrice m

Programmazione in MATLAB | Gestione File: Esercitazione

Page 6: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

>> m = [10 6 5 4; 12 2 3 1; 14 3 2 5; 9 4 0 3]

m =

10 6 5 4

12 2 3 1

14 3 2 5

9 4 0 3

Processo Costo orario ($)

Ore richieste per produrre un’unità (h)

Prodotto 1 Prodotto 2 Prodotto 3

Tornitura 10 6 5 4

Rettifica 12 2 3 1

Fresatura 14 3 2 5

Saldatura 9 4 0 3

La tabella riporta i costi per quattro tipi di processi di fabbricazione. La tabella elenca anche il numero di ore richieste in ogni processo per produrre tre prodotti differenti

m

Programmazione in MATLAB | Gestione File: Esercitazione

Page 7: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

a. Determinare il costo di ogni processo per produrre una unità del Prodotto 1

• Ciascuna colonna della matrice m caratterizza rispettivamente1. Costo orario

2. Ore richieste per produrre un’unità del Prodotto 1

3. Ore richieste per produrre un’unità del Prodotto 2

4. Ore richieste per produrre un’unità del Prodotto 3

Processo Costo orario ($)

Ore richieste per produrre un’unità (h)

Prodotto 1 Prodotto 2 Prodotto 3

Tornitura 10 6 5 4

Rettifica 12 2 3 1

Fresatura 14 3 2 5

Saldatura 9 4 0 3

La tabella riporta i costi per quattro tipi di processi di fabbricazione. La tabella elenca anche il numero di ore richieste in ogni processo per produrre tre prodotti differenti

1 2 3 4

m

Programmazione in MATLAB | Gestione File: Esercitazione

Page 8: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

a. Determinare il costo di ogni processo per produrre una unità del Prodotto 1

• Ciascuna colonna della matrice m caratterizza rispettivamente1. Costo orario

2. Ore richieste per produrre un’unità del Prodotto 1

3. Ore richieste per produrre un’unità del Prodotto 2

4. Ore richieste per produrre un’unità del Prodotto 3

Processo Costo orario ($)

Ore richieste per produrre un’unità (h)

Prodotto 1 Prodotto 2 Prodotto 3

Tornitura 10 6 5 4

Rettifica 12 2 3 1

Fresatura 14 3 2 5

Saldatura 9 4 0 3

La tabella riporta i costi per quattro tipi di processi di fabbricazione. La tabella elenca anche il numero di ore richieste in ogni processo per produrre tre prodotti differenti

1 2 3 4

Osservazione: per ciascun prodotto, il costo di produzione di ogni processo è pari al costo orario per il numero di ore richieste!

m

Programmazione in MATLAB | Gestione File: Esercitazione

Page 9: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

a. Determinare il costo di ogni processo per produrre una unità del Prodotto 1

• Ciascuna colonna della matrice m caratterizza rispettivamente1. Costo orario

2. Ore richieste per produrre un’unità del Prodotto 1

3. Ore richieste per produrre un’unità del Prodotto 2

4. Ore richieste per produrre un’unità del Prodotto 3

Processo Costo orario ($)

Ore richieste per produrre un’unità (h)

Prodotto 1 Prodotto 2 Prodotto 3

Tornitura 10 6 5 4

Rettifica 12 2 3 1

Fresatura 14 3 2 5

Saldatura 9 4 0 3

La tabella riporta i costi per quattro tipi di processi di fabbricazione. La tabella elenca anche il numero di ore richieste in ogni processo per produrre tre prodotti differenti

1 2 3 4

Ad es., il costo unitario del processo di Tornitura per il Prodotto 1 è pari a 10 ($/h) × 6 (h) = 60 ($), e così via per gli altri processi…

m

Programmazione in MATLAB | Gestione File: Esercitazione

Page 10: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

a. Determinare il costo di ogni processo per produrre una unità del Prodotto 1

• Ciascuna colonna della matrice m caratterizza rispettivamente1. Costo orario

• Definiamo l’array colonna costi_orari, contenente i costi orari

Processo Costo orario ($)

Ore richieste per produrre un’unità (h)

Prodotto 1 Prodotto 2 Prodotto 3

Tornitura 10 6 5 4

Rettifica 12 2 3 1

Fresatura 14 3 2 5

Saldatura 9 4 0 3

La tabella riporta i costi per quattro tipi di processi di fabbricazione. La tabella elenca anche il numero di ore richieste in ogni processo per produrre tre prodotti differenti

costi_orari

m

Programmazione in MATLAB | Gestione File: Esercitazione

Page 11: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

a. Determinare il costo di ogni processo per produrre una unità del Prodotto 1

• Ciascuna colonna della matrice m caratterizza rispettivamente1. Costo orario

• Definiamo l’array colonna costi_orari, contenente i costi orari

2. Ore richieste per produrre un’unità del Prodotto 1

• Definiamo l’array colonna ore_1, contenente le ore richieste per il Prodotto 1

Processo Costo orario ($)

Ore richieste per produrre un’unità (h)

Prodotto 1 Prodotto 2 Prodotto 3

Tornitura 10 6 5 4

Rettifica 12 2 3 1

Fresatura 14 3 2 5

Saldatura 9 4 0 3

La tabella riporta i costi per quattro tipi di processi di fabbricazione. La tabella elenca anche il numero di ore richieste in ogni processo per produrre tre prodotti differenti

costi_orari ore_1

m

Programmazione in MATLAB | Gestione File: Esercitazione

Page 12: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

a. Determinare il costo di ogni processo per produrre una unità del Prodotto 1

• Ciascuna colonna della matrice m caratterizza rispettivamente1. Costo orario

• Definiamo l’array colonna costi_orari, contenente i costi orari

2. Ore richieste per produrre un’unità del Prodotto 1

• Definiamo l’array colonna ore_1, contenente le ore richieste per il Prodotto 1

Processo Costo orario ($)

Ore richieste per produrre un’unità (h)

Prodotto 1 Prodotto 2 Prodotto 3

Tornitura 10 6 5 4

Rettifica 12 2 3 1

Fresatura 14 3 2 5

Saldatura 9 4 0 3

La tabella riporta i costi per quattro tipi di processi di fabbricazione. La tabella elenca anche il numero di ore richieste in ogni processo per produrre tre prodotti differenti

Quindi, i costi dei singoli processi relativi al Prodotto 1, possono essere calcolati applicando la moltiplicazione (elemento per elemento) fra gli array

costi_orari ore_1

m

Programmazione in MATLAB | Gestione File: Esercitazione

Page 13: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

>> costi_orari = m(:,1);

>> ore_1 = m(:,2);

>> costo_processi_1 = costi_orari .* ore_1;

ore_1 6 2 3 4

costi_orari 10 12 14 9

ore_1 6 2 3 4

costi_orari 10 12 14 9

costo_processi_1 60 24 42 36

.*

Costo tornitura

Costo rettifica

Costo fresatura

Costo saldatura

Array colonna, mostrati orizzontalmente per fini grafici

Programmazione in MATLAB | Gestione File: Esercitazione

Page 14: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

Processo Costo orario ($)

Ore richieste per produrre un’unità (h)

Prodotto 1 Prodotto 2 Prodotto 3

Tornitura 10 6 5 4

Rettifica 12 2 3 1

Fresatura 14 3 2 5

Saldatura 9 4 0 3

La tabella riporta i costi per quattro tipi di processi di fabbricazione. La tabella elenca anche il numero di ore richieste in ogni processo per produrre tre prodotti differenti

Quindi, i costi dei singoli processi relativi al Prodotto 1, possono essere calcolati applicando la moltiplicazione (elemento per elemento) fra gli array

>> costi_orari = m(:,1);

>> ore_1 = m(:,2);

>> costo_processi_1 = costi_orari .* ore_1

costo_processi_1 =

60 24 42 36

costi_orari ore_1

Costi di ciascuno dei quattro processi per produrre una

unità del Prodotto 1

m

Programmazione in MATLAB | Gestione File: Esercitazione

Page 15: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

Processo Costo orario ($)

Ore richieste per produrre un’unità (h)

Prodotto 1 Prodotto 2 Prodotto 3

Tornitura 10 6 5 4

Rettifica 12 2 3 1

Fresatura 14 3 2 5

Saldatura 9 4 0 3

La tabella riporta i costi per quattro tipi di processi di fabbricazione. La tabella elenca anche il numero di ore richieste in ogni processo per produrre tre prodotti differenti

b. Determinare il costo (totale) per produrre una unità di ogni prodotto

• In generale, il costo totale per produrre una unità di ciascun prodotto, si può calcolare sommando i costi di ciascuno dei processi di fabbricazione relativi a tale prodotto

m

Programmazione in MATLAB | Gestione File: Esercitazione

Page 16: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

Processo Costo orario ($)

Ore richieste per produrre un’unità (h)

Prodotto 1 Prodotto 2 Prodotto 3

Tornitura 10 6 5 4

Rettifica 12 2 3 1

Fresatura 14 3 2 5

Saldatura 9 4 0 3

La tabella riporta i costi per quattro tipi di processi di fabbricazione. La tabella elenca anche il numero di ore richieste in ogni processo per produrre tre prodotti differenti

b. Determinare il costo (totale) per produrre una unità di ogni prodotto

• Prima soluzione: il costo totale per produrre una unità del Prodotto 1 si può calcolare applicando il prodotto fra gli array costi_orari e ore_1, poiché il prodotto fra due array equivale alla somma dei singoli prodotti

m

Programmazione in MATLAB | Gestione File: Esercitazione

Page 17: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

Processo Costo orario ($)

Ore richieste per produrre un’unità (h)

Prodotto 1 Prodotto 2 Prodotto 3

Tornitura 10 6 5 4

Rettifica 12 2 3 1

Fresatura 14 3 2 5

Saldatura 9 4 0 3

La tabella riporta i costi per quattro tipi di processi di fabbricazione. La tabella elenca anche il numero di ore richieste in ogni processo per produrre tre prodotti differenti

b. Determinare il costo (totale) per produrre una unità di ogni prodotto

• Prima soluzione: il costo totale per produrre una unità del Prodotto 1 si può calcolare applicando il prodotto fra gli array costi_orari e ore_1, poiché il prodotto fra due array equivale alla somma dei singoli prodotti

>> costo_prodotto_1 = costi_orari' * ore_1

costo_prodotto_1 =

162

m

Programmazione in MATLAB | Gestione File: Esercitazione

Page 18: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

Processo Costo orario ($)

Ore richieste per produrre un’unità (h)

Prodotto 1 Prodotto 2 Prodotto 3

Tornitura 10 6 5 4

Rettifica 12 2 3 1

Fresatura 14 3 2 5

Saldatura 9 4 0 3

La tabella riporta i costi per quattro tipi di processi di fabbricazione. La tabella elenca anche il numero di ore richieste in ogni processo per produrre tre prodotti differenti

b. Determinare il costo (totale) per produrre una unità di ogni prodotto

• Soluzione alternativa: sommare i costi relativi a ciascun processo del Prodotto 1

• Calcolati al punto a.

>> costo_prodotto_1 = sum(costo_processi_1)

costo_prodotto_1 =

162

m

Programmazione in MATLAB | Gestione File: Esercitazione

Page 19: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

Processo Costo orario ($)

Ore richieste per produrre un’unità (h)

Prodotto 1 Prodotto 2 Prodotto 3

Tornitura 10 6 5 4

Rettifica 12 2 3 1

Fresatura 14 3 2 5

Saldatura 9 4 0 3

b. Determinare il costo (totale) per produrre una unità di ogni prodotto

• Si può procedere in modo analogo per calcolare il costo totale per produrre una unità del Prodotto 2 e del Prodotto 3…

>> ore_2 = m(:,3);

>> ore_3 = m(:,4);

>> costo_prodotto_2 = costi_orari' * ore_2

costo_prodotto_2 =

114

>> costo_prodotto_3 = costi_orari' * ore_3

costo_prodotto_3 =

149

m

Programmazione in MATLAB | Gestione File: Esercitazione

Page 20: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

Processo Costo orario ($)

Ore richieste per produrre un’unità (h)

Prodotto 1 Prodotto 2 Prodotto 3

Tornitura 10 6 5 4

Rettifica 12 2 3 1

Fresatura 14 3 2 5

Saldatura 9 4 0 3

b. Determinare il costo (totale) per produrre una unità di ogni prodotto

• Soluzione alternativa in un solo passaggio: le tre operazioni appena viste potrebbero essere svolte mediante un’unica operazione, definendo una matrice le cui colonne sono formate dagli elementi delle ultime tre colonne della tabella

m

Programmazione in MATLAB | Gestione File: Esercitazione

Page 21: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

Processo Costo orario ($)

Ore richieste per produrre un’unità (h)

Prodotto 1 Prodotto 2 Prodotto 3

Tornitura 10 6 5 4

Rettifica 12 2 3 1

Fresatura 14 3 2 5

Saldatura 9 4 0 3

b. Determinare il costo (totale) per produrre una unità di ogni prodotto

• Soluzione alternativa in un solo passaggio: le tre operazioni appena viste potrebbero essere svolte mediante un’unica operazione, definendo una matrice le cui colonne sono formate dagli elementi delle ultime tre colonne della tabella

>> costo_unita = costi_orari' * [ore_1, ore_2, ore_3]

costo_unita =

162 114 149

m

Programmazione in MATLAB | Gestione File: Esercitazione

Page 22: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

b. Determinare il costo (totale) per produrre una unità di ogni prodotto

• Soluzione alternativa in un solo passaggio: le tre operazioni appena viste potrebbero essere svolte mediante un’unica operazione, definendo una matrice le cui colonne sono formate dagli elementi delle ultime tre colonne della tabella

>> costo_unita = costi_orari' * [ore_1, ore_2, ore_3]

costo_unita =

162 114 149

• Determinare il costo (totale) per produrre una unità di ogni prodotto• Costo totale per produrre una unità di ogni prodotto

Per produrre una unità del Prodotto 1 sono necessari 162 dollari

Per produrre una unità del Prodotto 2 sono necessari 114 dollari

Per produrre una unità del Prodotto 3 sono necessari 149 dollari

Programmazione in MATLAB | Gestione File: Esercitazione

Page 23: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

Processo Costo orario ($)

Ore richieste per produrre un’unità (h)

Prodotto 1 Prodotto 2 Prodotto 3

Tornitura 10 6 5 4

Rettifica 12 2 3 1

Fresatura 14 3 2 5

Saldatura 9 4 0 3

La tabella riporta i costi per quattro tipi di processi di fabbricazione. La tabella elenca anche il numero di ore richieste in ogni processo per produrre tre prodotti differenti

c. Se vengono prodotte 10 unità del prodotto 1, 5 unità del prodotto 2 e 7 unità del prodotto 3, calcolare il costo totale

m

Programmazione in MATLAB | Gestione File: Esercitazione

Page 24: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

Processo Costo orario ($)

Ore richieste per produrre un’unità (h)

Prodotto 1 Prodotto 2 Prodotto 3

Tornitura 10 6 5 4

Rettifica 12 2 3 1

Fresatura 14 3 2 5

Saldatura 9 4 0 3

La tabella riporta i costi per quattro tipi di processi di fabbricazione. La tabella elenca anche il numero di ore richieste in ogni processo per produrre tre prodotti differenti

c. Se vengono prodotte 10 unità del prodotto 1, 5 unità del prodotto 2 e 7 unità del prodotto 3, calcolare il costo totale

• Il costo totale per produrre 10, 5 e 7 unità può essere calcolato applicando il prodotto fra matrici

m

Programmazione in MATLAB | Gestione File: Esercitazione

Page 25: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

Processo Costo orario ($)

Ore richieste per produrre un’unità (h)

Prodotto 1 Prodotto 2 Prodotto 3

Tornitura 10 6 5 4

Rettifica 12 2 3 1

Fresatura 14 3 2 5

Saldatura 9 4 0 3

La tabella riporta i costi per quattro tipi di processi di fabbricazione. La tabella elenca anche il numero di ore richieste in ogni processo per produrre tre prodotti differenti

c. Se vengono prodotte 10 unità del prodotto 1, 5 unità del prodotto 2 e 7 unità del prodotto 3, calcolare il costo totale

• Il costo totale per produrre 10, 5 e 7 unità può essere calcolato applicando il prodotto fra matrici

>> unita = [10, 5, 7];

>> costo_totale = unita * costo_unita'

costo_totale =

3233

m

Programmazione in MATLAB | Gestione File: Esercitazione

Page 26: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

Esercizi – 1/2Definizione di funzioni

• Tenendo conto dello svolgimento dell’Esempio 1, riportato nelle slide precedenti, definire le seguenti funzioni

• Esercizio 1.1

• Scrivere una funzione che • Prenda in input

• La matrice m, che rappresenta i costi e i tempi di fabbricazione (Tabella 2.4)

• Uno scalare i

• Restituisca in output

• Il costo di ogni processo per produrre una unità del prodotto i

NOTA: Le funzioni di tali esercizi possono invocare ulteriori funzioni sia viste a lezione e sia contenute negli esercizi precedenti oppure funzioni built-in o altre funzioni da voi definite

Programmazione in MATLAB | Gestione File: Esercitazione

Page 27: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

Esercizi – 2/2Definizione di funzioni

• Tenendo conto dello svolgimento dell’Esempio 1, riportato nelle slide precedenti, definire le seguenti funzioni

• Esercizio 1.2

• Scrivere una funzione che • Prenda in input

• La matrice m, che rappresenta i costi e i tempi di fabbricazione (Tabella 2.4)

• Restituisca in output

• Un array contenente il costo (totale) per produrre una unità di ogni prodotto

NOTA: Le funzioni di tali esercizi possono invocare ulteriori funzioni sia viste a lezione e sia contenute negli esercizi precedenti oppure funzioni built-in o altre funzioni da voi definite

Programmazione in MATLAB | Gestione File: Esercitazione

Page 28: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

Esercizio 2Come Svolgere l’Esercitazione

1. Analizzare ed approfondire lo svolgimentodell’Esempio 1 (Array e Matrici in MATLAB -Esercitazione 2)• Link diretto esercitazione:

http://www.di.unisa.it/dottorandi/pizzolante/FI_201617/materiale/lezioni/Lezione_15.pdf

2. Definire le funzioni/script richieste nelle slideseguenti• Esercizi 2.1, 2.2 e 2.3

Programmazione in MATLAB | Gestione File: Esercitazione

Page 29: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

Esercizi – 1/3Definizione di funzioni

• Esercizio 2.1

• Scrivere una funzione che • Prenda in input

• L’array d, che rappresenta le distanze delle 5 strade

• L’array t, che rappresenta i tempi di percorrenza delle 5 strade

• Restituisca in output

• Un array contenente la velocità media richiesta per percorrere le singole strade

NOTA: Le funzioni di tali esercizi possono invocare ulteriori funzioni sia viste a lezione e sia contenute negli esercizi precedenti oppure funzioni built-in o altre funzioni da voi definite

Programmazione in MATLAB | Gestione File: Esercitazione

Page 30: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

Esercizi – 2/3Definizione di funzioni

• Esercizio 2.2

• Scrivere una funzione che • Prenda in input

• L’array d, che rappresenta le distanze delle 5 strade

• L’array t, che rappresenta i tempi di percorrenza delle 5 strade

• Restituisca in output

• L’indice della strada in cui la velocità media di percorrenza è minima

NOTA: Le funzioni di tali esercizi possono invocare ulteriori funzioni sia viste a lezione e sia contenute negli esercizi precedenti oppure funzioni built-in o altre funzioni da voi definite

Programmazione in MATLAB | Gestione File: Esercitazione

Page 31: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

Esercizi – 3/3Definizione di M-File Script

• Esercizio 2.3

• Scrivere un M-File Script che esegua, in sequenza, le seguenti operazioni:• Importi l’array d dal file distanze.txt

• Importi l’array t dal file tempo.txt

• Invochi la funzione definita all’Esercizio 2 (slide precedente) con gli argomenti t e d e stampi il risultato della stessa

• Contenuto del file distanze.txt560, 440, 490, 530, 370

• Contenuto del file tempo.txt10.3, 8.2, 9.1, 10.1, 7.5

NOTA: Le funzioni di tali esercizi possono invocare ulteriori funzioni sia viste a lezione e sia contenute negli esercizi precedenti oppure funzioni built-in o altre funzioni da voi definite

Programmazione in MATLAB | Gestione File: Esercitazione

Page 32: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

1. Analizzare ed approfondire lo svolgimentodell’Esercizio 1 (Array e Matrici in MATLAB -Esercitazione 2)• Link diretto esercitazione:

http://www.di.unisa.it/dottorandi/pizzolante/FI_201617/materiale/lezioni/Lezione_15.pdf

2. Definire le funzioni/script richieste nelle slideseguenti• Esercizi 3.1, 3.2 e 3.3

Esercizio 3Come Svolgere l’Esercitazione

Programmazione in MATLAB | Gestione File: Esercitazione

Page 33: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

Esercizi – 1/3Definizione di funzioni

• Esercizio 3.1

• Scrivere una funzione che • Prenda in input

• La matrice m, che rappresenta il prospetto (contenente informazioni settimanali su paga oraria, ore lavorate e numero di pezzi prodotti di 5 operai)

• Restituisca in output

• Il costo medio per produrre un pezzo

NOTA: Le funzioni di tali esercizi possono invocare ulteriori funzioni sia viste a lezione e sia contenute negli esercizi precedenti oppure funzioni built-in o altre funzioni da voi definite

Programmazione in MATLAB | Gestione File: Esercitazione

Page 34: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

Esercizi – 2/3Definizione di funzioni

• Esercizio 3.2

• Scrivere una funzione che • Prenda in input

• La matrice m, che rappresenta il prospetto (contenente informazioni settimanali su paga oraria, ore lavorate e numero di pezzi prodotti di 5 operai)

• Restituisca in output

• L’indice relativo all’operaio meno efficiente (si supponga che i pezzi prodotti dai vari operai abbiano la stessa qualità)

NOTA: Le funzioni di tali esercizi possono invocare ulteriori funzioni sia viste a lezione e sia contenute negli esercizi precedenti oppure funzioni built-in o altre funzioni da voi definite

Programmazione in MATLAB | Gestione File: Esercitazione

Page 35: Esercitazione | Esercizi per Casa 2 › dottorandi › pizzolante › FI_201617 › ...1. Analizzare ed approfondire lo svolgimento dell’Esempio1 •Lo svolgimento si articola dalla

Esercizi – 3/3Definizione di M-File Script

• Esercizio 3.3

• Scrivere un M-File Script che esegua, in sequenza, le seguenti operazioni:• Importi l’array m dal file prospetto.txt

• Invochi entrambe le funzioni definite precedentemente e stampi il risultato delle stesse

• Contenuto del file prospetto.txt5, 5.50, 6.50, 6, 6.25

40, 43, 37, 50, 45

1000, 1100, 1000, 1200, 1100

NOTA: Le funzioni di tali esercizi possono invocare ulteriori funzioni sia viste a lezione e sia contenute negli esercizi precedenti oppure funzioni built-in o altre funzioni da voi definite

Programmazione in MATLAB | Gestione File: Esercitazione