Fondamenti di Informatica

Documenti analoghi
Fondamenti di Informatica

Fondamenti di Informatica

Fondamenti di Informatica A.A. 2017/18

Fondamenti di Informatica A.A. 2017/18

Fondamenti di Informatica

Fondamenti di Informatica

Fondamenti di Informatica

Fondamenti di Informatica

Fondamenti di Informatica

A.A. 2018/2019. Esercitazione 5. Modellazione e Risoluzione di Problemi mediante MATLAB. [ Possibili Soluzioni ]

Fondamenti di Informatica

Fondamenti di Informatica

Fondamenti di Informatica

Fondamenti di Informatica

A.A. 2018/2019. Esercitazione 5 [Per Casa] Modellazione e Risoluzione di Problemi mediante MATLAB FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE

Fondamenti di Informatica

Spazio Riservato alla Commissione. Seconda Prova Intracorso di Fondamenti di Informatica 15/06/2018

Spazio Riservato alla Commissione. Seconda Prova Intracorso di Fondamenti di Informatica 15/06/2018

Fondamenti di Informatica

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

Fondamenti di Informatica

Fondamenti di Informatica

Fondamenti di Informatica

Fondamenti di Informatica

Fondamenti di Informatica

Fondamenti di Informatica

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

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

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

Fondamenti di Informatica

Fondamenti di Informatica

Spazio Riservato alla Commissione. Seconda Prova Intracorso di Fondamenti di Informatica 15/06/2018

Ingegneria Chimica Dipartimento di Ingegneria Industriale (DIIn) Università degli Studi di Salerno Prof. Arcangelo Castiglione A.A.

I Appello di Fondamenti di Informatica 03/01/2017

Appello di Fondamenti di Informatica 12/09/2017

Fondamenti di Informatica

Appello di Fondamenti di Informatica e Programmazione 03/01/2018

Traccia C. Spazio Riservato alla Commissione Esercizio 2 (10 punti)

Seconda Prova Intracorso di Fondamenti di Informatica e Programmazione 04/12/2017

A.A. 2018/2019. Esercitazione 6. Modellazione e Risoluzione di Problemi mediante MATLAB FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE

Fondamenti di Informatica A.A. 2016/17

Traccia B. Spazio Riservato alla Commissione Esercizio 2 (10 punti)

Seconda Prova Intracorso di Fondamenti di Informatica e Programmazione 04/12/2017

Fondamenti di Informatica

Traccia 2. Spazio Riservato alla Commissione. Esercizio 1 Esercizio 2 Esercizio 3 Totale

A.A. 2018/2019. Esercitazione 3 [Per Casa] Strutturazione del Codice Sorgente per la Risoluzione di Problemi mediante MATLAB

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

Fondamenti di Informatica A.A. 2016/17

Fondamenti di Informatica

Traccia 4. Spazio Riservato alla Commissione. Esercizio 1 Esercizio 2 Esercizio 3 Totale

Fondamenti di Informatica

Fondamenti di Informatica

Fondamenti di Informatica A.A. 2016/17

Fondamenti di Informatica

A.A. 2018/2019. Esercitazione 4 [Guidata] Risoluzione di un Problema con Strutturazione del Codice Sorgente mediante MATLAB

Fondamenti di Informatica

Fondamenti di Informatica A.A. 2016/17

A.A. 2018/2019. Fondamenti di Programmazione in MATLAB FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

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

Fondamenti di Informatica

FONDAMENTI DI INFORMATICA

15 Riepilogo di esercizi in MATLAB

Fondamenti di Informatica

Fondamenti di Informatica

A.A. 2018/2019 FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

Fondamenti di Informatica

1. Calcolo dell indice di condizionamento di una matrice

Laboratorio n 6 del Ing. Dario Cogliati

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

Fondamenti di Informatica

Introduzione all ambiente MATLAB. Richiami II. Analisi Numerica - A.A. 2007/08

Esercitazioni con GNU Octave

Matlab 4. Operatori logici e Script. Slide basate sul corso di C. Blundo. A.A. 2010/ GPersiano. Laboratorio di Informatica per Fisici 1

Fondamenti di Informatica A.A. 2016/17

Informatica B Esercitazione 9 (Soluzioni)

Fondamenti di Informatica

Fondamenti di Informatica

DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOIGNEGNERIA. INFORMATICA B Ingegneria Elettrica. Script in Matlab

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

Introduzione al MATLAB c Parte 3 Script e function

Fondamenti di Informatica T-1

LABORATORIO di INFORMATICA

Fondamenti di Informatica

Metodi numerici con elementi di Programmazione A.A

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

clear clc v=input(['digitare V']); for i=1:length(v); for j=1:length(v); if i==j; m(i,j)=v(i); else; m(i,j)=0; end; end; end; disp(m)

RICONOSCIMENTO DI FORME A.A OBIETTIVI PARTE 1 INTRODUZIONE A MATLAB

Fondamenti di Programmazione

Fondamenti di Informatica

Matlab: Script e Funzioni

Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona

Laboratorio di Python

Introduzione al MATLAB c Parte 3 Script e function

Introduzione al MATLAB c Parte 3 Script e function

LABORATORIO DI INFORMATICA ESERCITAZIONE VIII

Laboratorio di Python

Transcript:

Fondamenti di nformatica Esercitazione MATLAB Modellazione e Risoluzione di Problemi mediante MATLAB Prof. Marco Lombardi A.A. 2017/18

Segmento C 15 30 40 n questa esercitazione verrà utilizzata una matrice C ed una matrice L elemento C(riga, colonna) rappresenta il numero di vetture vute di una data marca (specificata dalla colonna), appartenenti ad un dato segmento (specificato dalla riga) Esempio: C(2, 1) ndica che sono state vute 40 vetture di (avente indice di colonna 1), appartenenti al Segmento B (avente indice di riga 2) L elemento (riga, colonna) rappresenta l incasso per una singola vettura vuta di una data marca (specificata dalla colonna), appartenente ad un dato segmento (specificato dalla riga) Esempio: (1, 2) ndica che è stato ottenuto un incasso di 18000 per una singola vettura di (avente indice di colonna 2), appartenente al Segmento A (avente indice di riga 1) Sopra è mostrato un esempio di C e Entrambe le matrici contengono esclusivamente dati numerici (evidenziati in arancio nell esempio) NOTA: negli esercizi è possibile utilizzare funzioni viste a lezione, funzioni realizzate negli eserciziprecedentie/o funzioni built-in di MATLAB.

Esercizio 1 Segmento C 15 30 40 Scrivere una funzione chiamata auto_vute, che pra come argomenti di input: la matrice C (concessionaria) ed un numero intero indice_segmento, e restituisca come argomento di output il numero totale di auto vute per il segmento con indice indice_segmento Esempio: auto_vute(c, 2) restituisce 62 Esercizio 4 Esercizio 3 Esercizio 2 Scrivere una funzione chiamata incasso_concessionaria, che pra come argomenti di input: la matrice C (concessionaria) e la matrice (incasso_singolare), e restituisca come argomento di output l incasso totale realizzato della concessionaria Esempio: incasso_concessionaria(c, ) restituisce 4022000 Scrivere una funzione chiamata segmento_piu_redditizio, che pra come argomenti di input: la matrice C (concessionaria) e la matrice (incasso_singolare), e restituisca come argomento di output l indice del segmento che genera incassi massimi Esempio: segmento_piu_redditizio(c, ) restituisce 3 OSSERVAZON: l valore 3 si riferisce al Segmento C (che genera gli incassi massimi, equivalenti, a 1940000) Scrivere una funzione chiamata incasso_medio_marca, che pra come argomento di input la matrice (incasso_singolare) ed un numero intero indice_marca, e restituisca come argomento di output l incasso medio di vita di tutte le vetture della marca avente indice indice_marca Esempio: incasso_medio_marca(, 1) restituisce 13333.3

Esercizio 5 Segmento C 15 30 40 Scrivere un M-File Script chiamato concessionaria_script.m che effettui le seguenti operazioni 1. mporti la matrice C dal file concessionaria.txt 2. mporti la matrice dal file incasso_singolare.txt 3. nvochi la funzione dell Esercizio 2 (chiamata incasso_concessionaria) con gli argomenti di input: C e, ed infine mostri a video il risultato della funzione stessa NOTA: file concessionaria.txt e incasso_singolare.txt contengono solo dati numerici. È utilizzato il separatore virgola (,) per separare le colonne (suggerimento: utilizzare la funzione importdata). Si assuma che i file siano memorizzati all interno della Current Directory. 90, 7, 2 40, 10, 12 15, 30, 40 Contenuto del file concessionaria.txt 10000, 18000, 21000 14000, 19000, 22000 16000, 24000, 24500 Contenuto del file incasso_singolare.txt

Esercizio 1 Segmento C 15 30 40 Scrivere una funzione chiamata auto_vute, che pra come argomenti di input: la matrice C (concessionaria) ed un numero intero indice_segmento, e restituisca come argomento di output il numero totale di auto vute per il segmento con indice indice_segmento Esempio: auto_vute(c, 2) restituisce 62 Possibile Soluzione 1 function [ auto_vute_segmento ] = auto_vute(c, indice_segmento) auto_vute_segmento = sum(c(indice_segmento, :)); Possibile Soluzione 2 function [ auto_vute_segmento ] = auto_vute(c, indice_segmento) auto_vute_ogni_segmento = sum(c, 2); auto_vute_segmento = auto_vute_ogni_segmento(indice_segmento);

Esercizio 2 Scrivere una funzione chiamata incasso_concessionaria, che pra come argomenti di input: la matrice C (concessionaria) e la matrice (incasso_singolare), e restituisca come argomento di output l incasso totale realizzato della concessionaria Esempio: incasso_concessionaria(c, ) restituisce 4022000 Possibile Soluzione 1 Possibile Soluzione 2 Segmento C 15 30 40 function [ incasso_totale ] = incasso_concessionaria(c, ) incasso_totale = sum(sum(c.* )); function [ incasso_totale ] = incasso_concessionaria(c, ) [num_segmenti, num_marche] = size(c); somma = 0; for indice_marca = 1:num_marche somma = somma + sum(c(:, indice_marca).* (:, indice_marca)); incasso_totale = somma;

Esercizio 3 Scrivere una funzione chiamata segmento_piu_redditizio, che pra come argomenti di input: la matrice C (concessionaria) e la matrice (incasso_singolare), e restituisca come argomento di output l indice del segmento che genera incassi massimi Esempio: segmento_piu_redditizio(c, ) restituisce 3 OSSERVAZON: l valore 3 si riferisce al Segmento C (che genera gli incassi massimi, equivalenti, a 1940000) Possibile Soluzione 1 Possibile Soluzione 2 Segmento C 15 30 40 function [ indice_segmento ] = segmento_piu_redditizio(c, ) [valore_massimo_segmento, indice_segmento] = max(sum(c.*, 2)); function [ indice_segmento ] = segmento_piu_redditizio(c, ) [num_segmenti, num_marche] = size(c); for indice_segmento = 1:num_segmenti somme_righe(indice_segmento) = sum(c(indice_segmento, :).* (indice_segmento, :)); [massimo, indice_segmento] = max(somme_righe);

Esercizio 4 Segmento C 15 30 40 Scrivere una funzione chiamata incasso_medio_marca, che pra come argomento di input la matrice (incasso_singolare) ed un numero intero indice_marca, e restituisca come argomento di output l incasso medio di vita di tutte le vetture della marca avente indice indice_marca Esempio: incasso_medio_marca(, 1) restituisce 13333.3 Possibile Soluzione function [ incasso_medio ] = incasso_medio_marca(, indice_marca) incasso_medio = mean((:, indice_marca));

Esercizio 5 Scrivere un M-File Script chiamato concessionaria_script.m che effettui le seguenti operazioni 1. mporti la matrice C dal file concessionaria.txt 2. mporti la matrice dal file incasso_singolare.txt 3. nvochi la funzione dell Esercizio 2 (chiamata incasso_concessionaria) con gli argomenti di input: C e, ed infine mostri a video il risultato della funzione stessa NOTA: file concessionaria.txt e incasso_singolare.txt contengono solo dati numerici. È utilizzato il separatore virgola (,) per separare le colonne (suggerimento: utilizzare la funzione importdata). Si assuma che i file siano memorizzati all interno della Current Directory. Possibile Soluzione Segmento C 15 30 40 C = importdata('concessionaria.txt'); = importdata('incasso_singolare.txt'); incasso_concessionaria(c, ) Contenuto del file concessionaria_script.m