[MATLAB] Esercitazione
Buon pomeriggio. Devo fare questo esercizio:
Un’ azienda che si occupa di costruzioni edili ha a propria disposizione una flotta di 37 veicoli per movimento terra, aventi ciascuno capacità di trasporto paria a 4 m3.
Ciascun veicolo ha l’obiettivo giornaliero di muovere un volume di detriti v, in generale diverso da veicolo a veicolo. v è modellabile come una variabile casuale uniforme intera compresa tra 50 e 78 m3. Tuttavia, se un veicolo raggiunge i 16 viaggi giornalieri, si deve forzatamente fermare (indipendentemente dal raggiungimento dell’obiettivo).
Si scriva un programma che:
- Simuli l’operatività giornaliera dei veicoli, tenendo conto delle specifiche di cui sopra;
- Riporti a schermo la percentuale di veicoli che hanno raggiunto l’obiettivo giornaliero;
- Disegni un grafico in cui, per ciascun veicolo (asse x), sono riportati i m3 mancanti al raggiungimento dell’obiettivo (asse y), inserendo opportune etichette per gli assi.
Il codice del mio script è il seguente:
clc
clearvars
obiettivo_detriti_trasportati_veicoli=zeros(1,37);
veicoli_no_obiettivo=0
capacita_veicolo=4
detriti_trasportati_veicolo=zeros(1,37)
detriti_mancanti_obiettivo=zeros(1,37)
for i=1:1:37
v=fix(rand()*(78-50+1))+50
viaggi=1
while viaggi(i)<=16
detriti_trasportati_veicolo(i)=detriti_trasportati_veicolo(i)+capacita_veicolo;
if detriti_trasportati_veicolo(i) < v
viaggi(i)=viaggi(i)+1;
else
veicoli_no_obiettivo=veicoli_no_obiettivo+1;
end
end
end
obiettivo_detriti_trasportati_veicoli(i)=v
detriti_mancanti_obiettivo(i)= obiettivo_detriti_trasportati_veicoli(i)-detriti_trasportati_veicolo(i)
percentuale_no_obiettivo=(veicoli_no_obiettivo/37)*100
x=1:37
plot(x,detriti_mancanti_obiettivo)
xlabel('veicoli')
ylabel('m^3 mancanti obiettivo')
NON FUNZIONA e mi rimane impallato Matlab (busy). Dove sbaglio? Sono un neofita di Matlab, faccio Ingegneria CIVILE ed è l'ultimo esame che mi rimane, metto le mani avanti prima di essere lapidato...
Un’ azienda che si occupa di costruzioni edili ha a propria disposizione una flotta di 37 veicoli per movimento terra, aventi ciascuno capacità di trasporto paria a 4 m3.
Ciascun veicolo ha l’obiettivo giornaliero di muovere un volume di detriti v, in generale diverso da veicolo a veicolo. v è modellabile come una variabile casuale uniforme intera compresa tra 50 e 78 m3. Tuttavia, se un veicolo raggiunge i 16 viaggi giornalieri, si deve forzatamente fermare (indipendentemente dal raggiungimento dell’obiettivo).
Si scriva un programma che:
- Simuli l’operatività giornaliera dei veicoli, tenendo conto delle specifiche di cui sopra;
- Riporti a schermo la percentuale di veicoli che hanno raggiunto l’obiettivo giornaliero;
- Disegni un grafico in cui, per ciascun veicolo (asse x), sono riportati i m3 mancanti al raggiungimento dell’obiettivo (asse y), inserendo opportune etichette per gli assi.
Il codice del mio script è il seguente:
clc
clearvars
obiettivo_detriti_trasportati_veicoli=zeros(1,37);
veicoli_no_obiettivo=0
capacita_veicolo=4
detriti_trasportati_veicolo=zeros(1,37)
detriti_mancanti_obiettivo=zeros(1,37)
for i=1:1:37
v=fix(rand()*(78-50+1))+50
viaggi=1
while viaggi(i)<=16
detriti_trasportati_veicolo(i)=detriti_trasportati_veicolo(i)+capacita_veicolo;
if detriti_trasportati_veicolo(i) < v
viaggi(i)=viaggi(i)+1;
else
veicoli_no_obiettivo=veicoli_no_obiettivo+1;
end
end
end
obiettivo_detriti_trasportati_veicoli(i)=v
detriti_mancanti_obiettivo(i)= obiettivo_detriti_trasportati_veicoli(i)-detriti_trasportati_veicolo(i)
percentuale_no_obiettivo=(veicoli_no_obiettivo/37)*100
x=1:37
plot(x,detriti_mancanti_obiettivo)
xlabel('veicoli')
ylabel('m^3 mancanti obiettivo')
NON FUNZIONA e mi rimane impallato Matlab (busy). Dove sbaglio? Sono un neofita di Matlab, faccio Ingegneria CIVILE ed è l'ultimo esame che mi rimane, metto le mani avanti prima di essere lapidato...
