Fondamenti di Informatica

Documenti analoghi
Fondamenti di Informatica

Fondamenti di Informatica

Fondamenti di Informatica A.A. 2017/18

Fondamenti di Informatica

Fondamenti di Informatica A.A. 2017/18

Fondamenti di Informatica

Fondamenti di Informatica

Fondamenti di Informatica

Fondamenti di Informatica

Fondamenti di Informatica

Fondamenti di Informatica

Fondamenti di Informatica

Fondamenti di Informatica

Fondamenti di Informatica

Fondamenti di Informatica

Fondamenti di Informatica

Fondamenti di Informatica

Fondamenti di Informatica

Fondamenti di Informatica

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

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

Appello di Fondamenti di Informatica 12/09/2017

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

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

Fondamenti di Informatica

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

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

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

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

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

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

Fondamenti di Informatica

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

I Appello di Fondamenti di Informatica 03/01/2017

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 Totale

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

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

Fondamenti di Informatica

Fondamenti di Informatica

Fondamenti di Informatica A.A. 2016/17

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

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

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

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

Fondamenti di Informatica

Fondamenti di Informatica A.A. 2016/17

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

Fondamenti di Informatica

Fondamenti di Informatica

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

Fondamenti di Informatica A.A. 2016/17

Fondamenti di Informatica

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

Esercitazioni con GNU Octave

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

Fondamenti di Informatica

Fondamenti di Informatica

Fondamenti di Informatica

FONDAMENTI DI INFORMATICA

15 Riepilogo di esercizi in MATLAB

Fondamenti di Informatica A.A. 2016/17

Fondamenti di Informatica

Fondamenti di Informatica

Laboratorio n 6 del Ing. Dario Cogliati

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)

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

Fondamenti di Informatica

Laboratorio di Calcolo Numerico Laboratorio 7: Quadratura numerica

Fondamenti di Informatica

Introduzione al MATLAB c Parte 3 Script e function

Informatica B Esercitazione 9 (Soluzioni)

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

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

Matlab: Script e Funzioni

LABORATORIO DI INFORMATICA ESERCITAZIONE VIII

MATLAB - Introduzione. Antonino Polimeno

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

Fondamenti di Informatica T-1

1. Calcolo dell indice di condizionamento di una matrice

Fondamenti di Programmazione

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

LABORATORIO di INFORMATICA

12 Function Handles e Ricorsione in MATLAB

Programmare. Condizioni logiche. Condizioni Logiche Costrutti Decisionali Costrutti di Ciclo

Informatica B

Metodi numerici con elementi di Programmazione A.A

Informatica B

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

MATLAB Alcune funzioni utili: fprintf, length, size

Transcript:

Fondamenti di nformatica Esercitazione 7 Prof. Arcangelo astiglione A.A. 2017/18

Segmento A 90 7 2 Segmento B 40 10 12 Segmento 15 30 40 <<incasso_singolare.txt>> Segmento 16000 24000 24500 n questa esercitazione verrà utilizzata una matrice ed una matrice L elemento (riga, colonna) rappresenta il numero di vetture vute di una data marca (specificata dalla colonna), appartenenti ad un dato segmento (specificato dalla riga) Esempio: (2, 1) à ndica che sono state vute 40 vetture di (avente indice di colonna 1), appartenenti al Segmento B (avente indice di riga2) 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 e Entrambe le matrici contengono esclusivamente dati numerici (evidenziati in arancio nell esempio) NOTA: Negli esercizi possono essere utilizzate funzioni viste a lezione (negli esempi), funzioni realizzate negli esercizi precedenti e/o funzioni built-in di MATLAB

Esercizio 1 Segmento A 90 7 2 Segmento B 40 10 12 Segmento 15 30 40 Scrivere una funzione chiamata auto_vute, che pra come argomenti di input: la matrice (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(, 2)à restituisce 62 <<incasso_singolare.txt>> Segmento 16000 24000 24500 Possibile Soluzione1 function [ auto_vute_segmento ] = auto_vute(, indice_segmento) auto_vute_segmento = sum((indice_segmento, :)); Possibile Soluzione2 function [ auto_vute_segmento ] = auto_vute(, indice_segmento) auto_vute_ogni_segmento = sum(, 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 (concessionaria) e la matrice (incasso_singolare), e restituisca come argomento di output l incasso totale realizzato della concessionaria Esempio: incasso_concessionaria(, )à restituisce 4022000 Possibile Soluzione1 Possibile Soluzione2 Segmento A 90 7 2 Segmento B 40 10 12 Segmento 15 30 40 function [ incasso_totale ] = incasso_concessionaria(, ) incasso_totale = sum(sum(.* )); function [ incasso_totale ] = incasso_concessionaria(, ) [num_segmenti, num_marche] = size(); somma = 0; for indice_marca = 1:num_marche somma = somma + sum((:, indice_marca).* (:, indice_marca)); <<incasso_singolare.txt>> Segmento 16000 24000 24500 incasso_totale = somma;

Esercizio 3 Scrivere una funzione chiamata segmento_piu_redditizio, che pra come argomenti di input: la matrice (concessionaria) e la matrice (incasso_singolare), e restituisca come argomento di output l indice del segmento che genera incassi massimi Esempio: segmento_piu_redditizio(, )à restituisce 3 OSSERVAZON: l valore 3 si riferisce al Segmento (che genera gli incassi massimi, equivalenti, a 1940000) Possibile Soluzione1 Possibile Soluzione2 Segmento A 90 7 2 Segmento B 40 10 12 Segmento 15 30 40 function [ indice_segmento ] = segmento_piu_redditizio(, ) [valore_massimo_segmento, indice_segmento] = max(sum(.*, 2)); function [ indice_segmento ] = segmento_piu_redditizio(, ) [num_segmenti, num_marche] = size(); for indice_segmento = 1:num_segmenti somme_righe(indice_segmento) = sum((indice_segmento, :).* (indice_segmento, :)); <<incasso_singolare.txt>> Segmento 16000 24000 24500 [massimo, indice_segmento] = max(somme_righe);

Esercizio 4 Segmento A 90 7 2 Segmento B 40 10 12 Segmento 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 <<incasso_singolare.txt>> Segmento 16000 24000 24500 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 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: 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 urrent Directory Possibile Soluzione Segmento A 90 7 2 Segmento B 40 10 12 Segmento 15 30 40 = importdata('concessionaria.txt'); = importdata('incasso_singolare.txt'); incasso_concessionaria(, ) ontenuto del file concessionaria_script.m <<incasso_singolare.txt>> Segmento 16000 24000 24500