Fondamenti di Informatica

Documenti analoghi
Fondamenti di Informatica

Fondamenti di Informatica

Fondamenti di Informatica

Fondamenti di Informatica

Fondamenti di Informatica

Traccia 4. Nome Cognome Matricola Firma. Spazio Riservato alla Commissione. Esercizio 1 Esercizio 2 Esercizio 3 Totale

Fondamenti di Informatica

Fondamenti di Informatica A.A. 2016/17

Fondamenti di Informatica

Fondamenti di Informatica A.A. 2016/17

Fondamenti di Informatica A.A. 2016/17

Fondamenti di Informatica

Fondamenti di Informatica

15 Riepilogo di esercizi in MATLAB

Fondamenti di Informatica

Fondamenti di Informatica

Metodi di Analisi dei Dati Sperimentali. AA 2009/2010 Pier Luca Maffettone. Elementi di Matlab

Introduzione al MATLAB c Parte 3 Script e function

CORSO DI LAUREA IN INGEGNERIA ELETTRICA

UD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita

Fondamenti di Informatica

MATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA

Il presente plico contiene 3 esercizi e deve essere debitamente compilato con cognome e nome, numero di matricola.

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 25 Gennaio 2010 COGNOME E NOME RIGA COLONNA MATRICOLA

Laboratorio di Matlab

CORSO DI LABORATORIO DI INFORMATICA

Shell BASH. Variabili Redirezione

strutture e file di testo/binari Esercizio - lettura/filtro/scrittura PEOPLE.TXT PARTNERS.DAT Due persone sono compatibili

MATLAB c. Lucia Gastaldi Dipartimento di Matematica Lezione 4 (15 ottobre 2003)

Progetto Matlab N 2. Calcolo Numerico 6 CFU. Corso di Laurea in Ingegneria delle Comunicazioni 31/05/2014

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 24 Gennaio 2011 COGNOME E NOME RIGA COLONNA MATRICOLA

Corso di Informatica di Base

Informatica B

1 Esercizi di Matlab. L operatore : permette di estrarre sottomatrici da una matrice assegnata. Vediamo alcuni esempi.

Laboratorio di Python

Scilab. Introduzione a Scilab - Vettori. Corso di Informatica CdL: Chimica. Claudia d'amato.

Lezione 25: File Mercoledì 18 Novembre 2009

Laboratorio 1. 2) All interno della directory c:\temp\cognome\codici creare il file sorgente hello.c contenente il seguente codice:

Definizione di file. Directory e file File binari e file di testo

Script in Matlab. INFORMATICA B + C (sezione L-Z) Ingegneria Elettrica, Chimica e dei Materiali

Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro;

Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Introduzione al C Esercitazione 7

MATLAB (II parte) Commenti. Input/Output (I/O) Istruzioni di Input/Output (I/O)

Matlab 5. Funzioni. Slide basate sul corso di C. Blundo. A.A. 2010/ GPersiano. Laboratorio di Informatica per Fisici 1

Mini-Corso di Informatica

Quadrato Magico. Fondamenti di Programmazione

Data Import e Probabilità. Renato Mainetti

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

Introduzione a Matlab

Esercizio 1. Esercizio 2

Corso di Informatica. Esercitazione V [da Fluency with Information Technology, Addison Wesley] Esercitazione V

Metodi numerici con elementi di Programmazione A.A

Array di array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 03. A. Miola Febbraio 2008

Cosa sono gli Script (m-file) Script Semplici programmi. Fino ad ora, i comandi sono stati sempre digitati nella command window:

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal

Introduzione a Matlab. Renato Mainetti

Data Import pulizia dati e Probabilità. Renato Mainetti

Excel come foglio di calcolo. Altri Grafici con Excel Istogrammi, grafici a torta

1) Matlab e simulazione. 2) Esempi di utilizzo. Mauro De Sanctis corso di Informazione e Codifica Università di Roma Tor Vergata

n deve essere maggiore di 0, altrimenti il metodo restituisce null.

GENERATORE DI MATRICI COMMUTATIVE

Fondamenti di Programmazione

Fondamenti di Informatica

Indice alfabetico. pagina: 565 a b c d e f g h i j k l m n o p q r s t u v w x y z. ricerca contenuti stampa ultimo schermo visto indietro prossimo

Informatica Applicata al Suono Tutorial Matlab

Corso Matlab : Terza lezione (Esercitazione, 04/10/13) Samuela Persia, Ing. PhD.

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 11 - Metodi numerici per equazioni differenziali ordinarie

Introduzione all ambiente MATLAB. Richiami II. Calcolo Numerico - A.A. 2008/09

Fondamenti di Informatica

GESTIONE DEI FILE IN C. Docente: Giorgio Giacinto AA 2008/2009

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Introduzione a Matlab

TOP DOWN. Compiti in classe proposti Modulo 1 JUVENILIA SCUOLA. Iacobelli Ajme Marrone

Esercitazione 1-I parte

Funzioni, Stack e Visibilità delle Variabili in C

10 Funzioni MATLAB. dove. output1, output2,.. sono gli output (opzionali), che, se dichiarati, devono essere inizializzati dalla funzione

Foglio Elettronico Lezione 1

MATLAB parte II. Array

EXCEL: FORMATTAZIONE E FORMULE

Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro;

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:

Informatica. Comunicazione & DAMS A.A. 2015/16. Dr.ssa Valeria Fionda

Anno 4 Matrice inversa

ESECUZIONE DI PROGRAMMI C SU MACCHINE REALI. Docente: Giorgio Giacinto AA 2008/2009. formalizzazione degli algoritmi in linguaggio C

Fogli di Calcolo Elettronici

Matlab - Simulink. Software per il calcolo e per la simulazione della dinamica dei sistemi

IL PRIMO PROGRAMMA IN C

4 Le liste collegate 4.0. Le liste collegate. 4 Le liste collegate Rappresentazione di liste 4.1 Rappresentazione di liste

Ogni parte non cancellata a penna sarà considerata parte integrante della soluzione.

Lab. di Sistemi Operativi - Esercitazione n 2 - a.a. 2012/2013

Lab. di Sistemi Operativi - Esercitazione - Comandi Shell

Aritmetica dei puntatori

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 17/01/2014/ Foglio delle domande / VERSIONE 1

Esercizi su algebra lineare, fattorizzazione LU e risoluzione di sistemi lineari

Fondamenti di Informatica

PROGRAMMA EFFETTIVAMENTE SVOLTO

Strutture dati e loro organizzazione. Gabriella Trucco

Algoritmi e dintorni: La radice quadrata Prof. Ettore Limoli. Formule iterative

DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA. INFORMATICA B Ingegneria Elettrica. I file in Matlab

Array k-dimensionali

Informatica B

Transcript:

Fondamenti di Informatica Strutture Selettive, Iterative, Gestione File e Grafici in MATLAB: Esercitazione 7 Prof. Arcangelo Castiglione A.A. 2016/17

<<.txt>> carburante La matrice D rappresenta il prospetto di un distributore di carburante, il quale ha diversi erogatori (nell esempio sono presenti 4 erogatori, rappresentati dalle righe). Ogni elemento di D indica il numero di litri erogati per un certo carburante ( o ) in una specifica modalità ( o ) Esempio 1: D(3, 2) à ha valore 25 e indica che sono stati erogati 25 litri di carburante, in modalità Esempio 2: D(1, 3) à ha valore 36 e indica che sono stati erogati 36 litri di carburante, in modalità L array riga rappresenta l incassopersingololitrodi carburante erogatoin modalità Esempio: I(1)à ha valore 1.65 ed indica che l incasso per ogni litro di carburante è pari a 1.65 L array riga rappresenta la contrazione, in percentuale, dell incasso per singolo litro in modalità,, rispetto all incassoche si otterrebbe in modalità Esempio: (2) à ha valore 7 e indica che l incasso per singolo litro di carburante (colonna 2) è interessato da una contrazione del 7%, rispetto all incasso che si otterrebbe dall erogazione di un litro di carburante inmodalità Per cui, l incasso per ogni litro di carburante in modalità equivale quindi a 1.3950 1.3950 si ottiene nel modo seguente Erogatore 1 67 55 36 20 Erogatore 2 70 44 37 35 Erogatore 3 110 25 90 15 1.50 (incasso per litro, in modalità ) a cui si sottrae il 7% di 1.50 (il valore 7 è riportato in ) à 1.50 0.1050 (0.105 è il 7% di 1.50)à 1.3950

Erogatore 1 67 55 36 20 Erogatore 2 70 44 37 35 Erogatore 3 110 25 90 15 <<.txt>> carburante Esercizio 1 Scrivere una funzione chiamata incasso_erogatore, che pra come argomenti di input la matrice D (distributore),l array riga, l array riga edunvalore interoindice_erogatore, e restituisca come argomento di output l incassototale ottenuto dall erogatore specificato da indice_erogatore Esempio: incasso_erogatore(d,,, 3) à restituisce 381 Possibile Soluzione1/2 function [ incasso ] = incasso_erogatore(d,,, indice_erogatore) incasso_self_sp = (1) - ((1) * (1)) / 100; incasso_self_diesel = (2) - ((2) * (2)) / 100; incassi_per_litro = [ (1), (2), incasso_self_sp, incasso_self_diesel ]; incasso = sum(d(indice_erogatore, :).* incassi_per_litro);

Erogatore 1 67 55 36 20 Erogatore 2 70 44 37 35 Erogatore 3 110 25 90 15 <<.txt>> carburante Esercizio 1 Scrivere una funzione chiamata incasso_erogatore, che pra come argomenti di input la matrice D (distributore),l array riga, l array riga edunvalore interoindice_erogatore, e restituisca come argomento di output l incassototale ottenuto dall erogatore specificato da indice_erogatore Esempio: incasso_erogatore(d,,, 2) à restituisce 381 Possibile Soluzione2/2 function [ incasso ] = incasso_erogatore(d,,, indice_erogatore) incasso = D(indice_erogatore, 1) * (1) +... D(indice_erogatore, 2) * (2) +... D(indice_erogatore, 3) * ((1) - ((1) * (1)) / 100) +... D(indice_erogatore, 4) * ((2) - ((2) * (2)) / 100); NOTA: I servono per proseguire l istruzione nella riga successiva

Erogatore 1 67 55 36 20 Erogatore 2 70 44 37 35 Erogatore 3 110 25 90 15 <<.txt>> carburante Esercizio 2 Scrivere una funzione chiamata erogatore_massimo, che pra come argomento di input la matrice D (distributore), e restituisca due argomenti di output: l indice dell erogatore che ha erogato il numero massimo di litri in modalità e l indice dell erogatore che ha erogato il numero massimo di litri in modalità Esempio: [ind1_erogatore, ind2_erogatore] = erogatore_massimo(d)à restituisce 4 e 3 Possibile Soluzione function [ ind1, ind2 ] = erogatore_massimo(d) [valore1, ind1] = max(sum(d(:, 1:2), 2)); [valore2, ind2] = max(sum(d(:, 3:4), 2));

Erogatore 1 67 55 36 20 Erogatore 2 70 44 37 35 Erogatore 3 110 25 90 15 <<.txt>> carburante Esercizio 3 Scrivere una funzione chiamata incasso_self, che pra come argomento di input la matrice D (distributore), l array riga, l array riga, e restituisca come argomento di output l incasso ottenuto, esclusivamente in modalità, da parte di tutti gli erogatori, per quanto riguarda entrambi i tipi di carburante ( e ) Esempio: incasso_self(d,, ) à restituisce 454.5675 Possibile Soluzione1/2 function [ inc_self ] = incasso_self(d,, ) incasso_self_sp = (1) - ((1) * (1)) / 100; incasso_self_diesel = (2) - ((2) * (2)) / 100; incasso_per_litro_self = [ incasso_self_sp, incasso_self_diesel ]; inc_self = sum(incasso_per_litro_self * D(:, 3:4)');

Erogatore 1 67 55 36 20 Erogatore 2 70 44 37 35 Erogatore 3 110 25 90 15 <<.txt>> carburante Esercizio 3 Scrivere una funzione chiamata incasso_self, che pra come argomento di input la matrice D (distributore), l array riga, l array riga, e restituisca come argomento di output l incasso ottenuto, esclusivamente in modalità, da parte di tutti gli erogatori, per quanto riguarda entrambi i tipi di carburante ( e ) Esempio: incasso_self(d,, ) à restituisce 454.5675 Possibile Soluzione2/2 function [ inc_self ] = incasso_self(d,, ) incasso_self_sp = (1) - ((1) * (1)) / 100; incasso_self_diesel = (2) - ((2) * (2)) / 100; incasso_per_litro_self = [ incasso_self_sp, incasso_self_diesel ]; [num_erogatori, num_colonne] = size(d); somma = 0; for indice_erogatore = 1:num_erogatori somma = somma + sum(d(indice_erogatore, 3:4).* incasso_per_litro_self); inc_self = somma;

Erogatore 1 67 55 36 20 Erogatore 2 70 44 37 35 Erogatore 3 110 25 90 15 <<.txt>> carburante Scrivere un M-File Script chiamato distributore_script.m che effettui le seguenti operazioni Esercizio 4 1. Importi la matrice D dal file distributore.txt 2. Importi la matrice dal file.txt 3. Importi la matrice dal file.txt 4. Invochi la funzione dell Esercizio 3 (chiamata incasso_self) con gli argomenti di input: D, e e mostri a videol output prodottodalla funzione stessa 5. Generi un graficoa barre con le seguenti caratteristiche 1. Asse X à Rappresenta gli indici degli erogatori 2. Asse Y à Rappresenta ilnumero totale di litri erogati, inbase all indice dell erogatore specificato sull asse X NOTA: I file distributore.txt,.txt e.txt (mostrati in seguito) contengono solo dati numerici. È utilizzato il separatore virgola (,) per separare le colonne. Si assuma che i file siano memorizzati all interno della Current Directory

Esercizio 4 Possibile Soluzione Erogatore 1 67 55 36 20 Erogatore 2 70 44 37 35 Erogatore 3 110 25 90 15 D = importdata('distributore.txt'); = importdata('.txt'); = importdata('.txt'); incasso_self(d,, ) [num_erogatori, num_colonne] = size(d); <<.txt>> carburante x = [1:1:num_erogatori]; y = sum(d, 2); bar(x, y);