Informatica B

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Informatica B"

Transcript

1 Informatica B Esercitazione VI Ricorsione (2) Alessandro A. Nacci alessandro.nacci@polimi.it - 1

2 Esercizio 1 Scrivere una funzione ricorsiva per il calcolo approssimato del numero di eulero e. Il numero e puo essere ottenuto come : La sommatoria converge ad e (costante di Eulero) ed il suo calcolo ad un determinato passo restituisce un approssimazione piú o meno buona del numero e. La funzione richiesta pre quindi in ingresso il numero di passi della sommatoria da simulare e restituisce l approssimazione di e a quel passo. function [ en ] = es5( N ) if(n==0) en = 1/factorial(0); else en = 1/factorial(N) + es5(n-1); 2

3 Esercizio 2 Nel gioco della roulette si ha una ruota con 37 numeri da 0 a 36. Si scriva una funzione che simuli la ruota e generi il numero vincente accettando come parametro un generatore di numeri casuali compresi tra 0 e 36. Si scriva una funzione che provi a eseguire N giri e salvi i risultati delle frequenze di ogni numero in un array di 37 elementi (il primo elemento per lo 0, il secondo per l'1 e così via). La funzione riceverà in ingresso anche il generatore di numeri casuali. Si supponga di ripetere il calcolo precedente con una roulette truccata che ha probabilità doppia di di far uscire uno 0 rispetto a qualsiasi altro numero. Rappresentare con un grafico l array dei 37 elementi e calcolare la probabilità del risultato 3

4 Esercizio 2 Nel gioco della roulette si ha una ruota con 37 numeri da 0 a 36. Si scriva una funzione che simuli la ruota e generi il numero vincente accettando come parametro un generatore di numeri casuali compresi tra 0 e 36. function [ num ] = es4_estrazione( generatore ) num = generatore(); function [ num ] = generatore() num = randi(37) - 1; X = randi(imax) returns a pseudorandom scalar integer between 1 and imax. 4

5 Esercizio 2 Si scriva una funzione che provi a eseguire N giri e salvi i risultati delle frequenze di ogni numero in un array di 37 elementi (il primo elemento per lo 0, il secondo per l'1 e così via). La funzione riceverà in ingresso anche il generatore di numeri casuali. function [ result ] = es4_tutteestrazioni( N, generatore ) result = zeros(1,37); for i = 1:N num = generatore(); result(num+1) = result(num+1) + 1; 5

6 Esercizio 2 Si supponga di ripetere il calcolo precedente con una roulette truccata che ha probabilità doppia di di far uscire uno 0 rispetto a qualsiasi altro numero. function [ num ] = generatore() n = rand(); T) if(n>0.3) T num = 0; else num = generatorefair(); 6

7 Esercizio 2 Rappresentare con un grafico l array dei 37 elementi e calcolare la probabilità del risultato function [ result ] = es4_calcoloprobabilita( N, generatore ) result = zeros(1,37); for i = 1:N num = generatore(); result(num+1) = result(num+1) + 1; x_axes = [1:37]; plot(x_axes, result); result = result / N; 7

8 Simulazione Prova d Esame 8

9 Esercizio 1 Esercizio 1 (6 punti) Scrivere una funzione non ricorsiva di nome frame che riceve un parametro N (intero pari positivo) e ritorna una matrice A di dimensione NxN in cui: gli elementi della riga 1, riga N, colonna 1 e colonna N sono inizializzati a 1 gli elementi rimanenti della riga 2, riga N-1, colonna 2 e colonna N-1 sono inizializzati a 2 gli elementi rimanenti della riga 3, riga N-2, colonna 3 e colonna N-2 sono inizializzati a 3 così via fino a completare tutta la matrice Ad esempio, per N = 8: > frame(8) ans = Nota: il massimo livello di annidamento tra istruzioni iterative (es. for) innestate utilizzabili per implementare la funzione è 2. 9

10 Esercizio 1 Punto facoltativo: modificare la funzione frame, senza aggiungere ulteriori cicli, in modo tale che gli elementi appartenenti alle due diagonali della matrice siano uguali a -1; ad esempio: > frame(8) ans =

11 Esercizio 1 Soluzione Sono possibili varie soluzioni. Quella che viene proposta qui sotto si basa sull utilizzo dei sotto-array. In particolare, nella soluzione si identificano come sottoarray tutte le cornici concentriche che sono ricavabili dalla matrice, parto dalla cornice più esterna, che è costituita dalla prima e ultima riga e dalla prima e ultima colonna e proseguo verso il centro della matrice stessa. Agli elementi di ogni cornice vengono assegnati valori crescenti, da 1 (assegnato a tutti i valori della cornice esterna) a N/2 (assegnato agli elementi della cornice più interna. function [A] = frame(n) for ii=1:n/2 A([ii,N-ii+1],ii:N-ii+1) = ii; A(ii:N-ii+1,[ii,N-ii+1]) = ii; Parte facoltativa: si aggiunge un istruzione che, dopo aver selezionato un sotto-array composto da tutti gli elementi che si trovano in una delle due diagonali, assegna a tali elementi il valore -1. function [A] = frame(n) for ii=1:n/2 A([ii,N-ii+1],ii:N-ii+1) = ii; A(ii:N-ii+1,[ii,N-ii+1]) = ii; A([ii,N-ii+1],[ii,N-ii+1]) = -1; 2 11

12 Esercizio 2 Esercizio 2 (7 punti) Si considerino la funzione e lo script seguenti: function [r] = MiaFunz(a, b) if b == 0 r = 1; elseif b < 0 r = a * MiaFunz(a, b+1); else r = 1/a * MiaFunz(a, b-1); ; %script che chiama MiaFunz x = 2; for y = -3:1:3 r = MiaFunz(x,y) 1. Descrivere brevemente quale sia la funzione matematica calcolata dalla funzione MATLAB MiaFunz. Giustificare la risposta. 2. Quali risultati vengono stampati a video? Non è necessario calcolare i valori numerici esatti, ma è sufficiente riportare le espressioni aritmetiche necessarie per calcolarli. Giustificare la risposta. 12

13 Esercizio 2 1. La funzione matematica calcolata dal programma è a -b tranne che nel caso in cui sia a che b sono uguali a zero in cui viene restituito il valore 1. Giustificazione Nel caso base in cui b è uguale a zero, la funzione restituisce sempre il valore 1. Nel caso in cui b è negativo, la funzione restituisce il valore di a moltiplicato per il risultato della funzione stessa chiamata ricorsivamente con parametri a e b+1. Questa chiamata ricorsiva restituisce il valore di a moltiplicato per il risultato della successiva chiamata ricorsiva ottenuto con stesso a e valore di b incrementato di un ulteriore unità. La ricorsione termina quando b raggiunge il valore 0. Quindi si hanno esattamente b (-b considerando che b è negativo) passi ricorsivi in cui il valore a è moltiplicato per se stesso. Nel caso generale si ha perciò la seguente situazione (ricordando che in questo caso il valore di b iniziale è negativo e viene incrementato ad ogni passo fino ad arrivare a zero): MiaFunz(a,b)= (passo 1) = a MiaFunz(a,b+1)= (passo 2) = a 2 *MiaFunz(a,b+2)= (passo 3) = a 3 *MiaFunz(a,b+3)= (passo -b-2) = a -b-2 *MiaFunz(a,b+(-b-2))= (passo -b-1) = a -b-1 *MiaFunz(a,b+(-b-1))= (passo -b) = a -b *MiaFunz(a,b+(-b))= =a -b Nel caso in cui b è positivo, la funzione si comporta in modo simile al caso precedente, ma questa volta il valore che viene moltiplicato per se stesso è 1/a, mentre il valore di b viene decrementato di un unità ad ogni passo di ricorsione. In questo modo si hanno esattamente b passi ricorsivi prima di chiamare la funzione con parametro b uguale a zero, corrispondente al caso base in cui il risultato viene moltiplicato per il valore 1. Nel caso generale si ha perciò la seguente situazione (ricordando che in questo caso il valore di b iniziale è positivo e viene decrementato ad ogni passo fino ad arrivare a zero): MiaFunz(a,b)= (passo 1) = 1/a MiaFunz(a,b-1)= (passo 2) = 1/a 2 *MiaFunz(a,b-2)= (passo 3) = 1/a 3 *MiaFunz(a,b-3)= (passo b-2) = 1/a b-2 *MiaFunz(a,b-(b+2))= (passo b-1) = 1/a b-1 *MiaFunz(a,b-(b+1))= (passo b) = 1/a b *MiaFunz(a,b-(b))= =1/a b =a -b 13

14 Esercizio 2 2. I risultati stampati a video sono: r = 8 r = 4 r = 2 r = 1 r = 0.5 r = 0.25 r = Giustificazione Ad ogni iterazione del ciclo presente nello script viene chiamata la funzione MiaFunz con parametri x e y. Tale funzione produce come risultato un numero che viene assegnato alla variabile r. La mancanza di un punto e virgola nell istruzione di assegnamento fa in modo che MATLAB stampi il valore assegnato a r in quell iterazione del ciclo. Il ciclo viene iterato per i valori di y che variano da -3 a 3 con incrementi di 1. La variabile x invece assume un valore costante assegnato prima del ciclo pari a 2. Per cui si hanno 7 invocazioni della funzione con le seguenti coppie di parametri (x,y): (2,-3), (2,- 2), (2,-1), (2,0), (2,1), (2,2), (2,3). I valori stampati a video si ottengono quindi ricordando dal punto 1 dell esercizio che la funzione calcola x -y. 14

15 Esercizio 3 Si conviene di rappresentare un immagine mediante una matrice rettangolare di numeri, corrispondenti al colore dei suoi pixel (punti luminosi che compongono la figura). Si vuole progettare una funzione MATLAB/Octave di nome combinaimmagini che, ricevo come parametri due matrici f1 ed f2 rappresentanti due immagini e due valori numerici C ed S, con C<S, rappresentanti due diversi colori, produce come risultato una terza figura f3, ottenuta da f1 ed f2 secondo la seguante regola. Nelle posizioni (r,c) in cui f1(r,c)<c ed f2(r,c)>c si ha f3(r,c)=f2(r,c)- f1(r,c) nelle posizioni (r,c) in cui f1(r,c)>s ed f2(r,c)<s si ha f3(r,c)=f1(r,c)-f2(r,c) nelle posizioni rimanenti si ha f3(r,c)=f1(r,c). a) Codificare la funzione combinaimmagini. b) Scrivere uno script che acquisisce le due matrici di partenza rispettivamente dai file file1.mat e file2.mat (si supponga che le due variabili contenenti le matrici al momento del salvataggio si chiamino matr1 e matr2), richiama la funzione combinaimmagini e salva sul file file3.mat la matrice risultante. 15

16 Esercizio 3 Soluzione Versione MATLAB/Octave %funzione function [f3]=combinaimmagini(f1, f2, C, S) f3=f1; f3(f1<c & f2>c)=f2(f1<c & f2>c)-f1(f1<c & f2>c); f3(f1>s & f2<s)=f1(f1>s & f2<s)-f2(f1>s & f2<s); %script load file1.mat matr1; load file2.mat matr2; C= input('inserisci il valore per C: '); S= input('inserisci il valore per S: '); matr3 = combinaimmagini(matr1, matr2, C, S); 16

17 Esercizio 4 Dopo$ una$ gara$ automobilistica$ si$ ha$ come$ risultato$ una$ tabella$ le$ cui$ colonne$ rappresentano$ gli$ N$ partecipanti)(numerati)da)1)a)n))e)le)righe)gli)m)giri)di)pista)effettuati.)il)valore)di)ogni)generica)cella) (i,j)#della#tabella#rappresenta#il#tempo#impiegato#dal#partecipante#j#per#percorrere#il#giro#i.! Suppono(che(tale(tabella(sia(stata(importata(in(MATLAB(come(matrice(A,(si(scrivano(le(istruzioni( per:! 1) calcolare!il!tempo!totale!medio!che!e'!stato!impiegato!dai!partecipanti!per!completare!la! gara;! 2) determinare!il!vincitore!della!gara!(cioè!il!numero!del!partecipante!il!cui!tempo!di! percorrenza!totale!è!minore!di!quello!degli!altri!partecipanti);! 3) tracciare!un!grafico!in!cui!l'asse!delle!x!rappresenta!i!giri!compiuti!dal!vincitore!e!l'asse!delle!y! il!tempo!necessario!per!percorrere!i!giri.! 17

18 Esercizio 4 Soluzione punto 1 tempomedio=mean(sum(a)) Soluzione punto 2 primo=find(sum(a)==min(sum(a)) Soluzione punto 3 x=1:m; y=a(vincitore,:); plot(x,y) hold on plot(x,y, * ) 18

19 Tutte il materiale sarà disponibile sul mio sito internet! 19

20 Tutte il materiale sarà disponibile sul mio sito internet! 20

Informatica B

Informatica B Informatica B 2017-2018 Esercitazione IX Simulazione Prova d Esame Matlab Alessandro A. Nacci alessandro.nacci@polimi.it - www.alessandronacci.it 1 Esercizio 1 (6 punti) Scrivere una funzione non ricorsiva

Dettagli

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

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 24 Gennaio 2011 COGNOME E NOME RIGA COLONNA MATRICOLA Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 24 Gennaio 2011 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 3

Dettagli

Informatica B

Informatica B Informatica B 2016-2016 Esercitazione IV Variabili funzione & Funzioni di Ordine Superiore Alessandro A. Nacci alessandro.nacci@polimi.it - www.alessandronacci.it 1 Ripasso Facciamo un ripasso di quanto

Dettagli

Lab 8 Info B. Marco D. Santambrogio Matteo Ferroni Ver. aggiornata al 20 O0obre 2015

Lab 8 Info B. Marco D. Santambrogio Matteo Ferroni Ver. aggiornata al 20 O0obre 2015 Lab 8 Info B Marco D. Santambrogio marco.santambrogio@polimi.it Matteo Ferroni matteo.ferroni@polimi.it Ver. aggiornata al 20 O0obre 2015 Calendario dei Labs: MATLAB 26 Gennaio 2016, 10.30am-12.30pm,@B6.23

Dettagli

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 17 Febbraio 2009 COGNOME E NOME RIGA COLONNA MATRICOLA

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 17 Febbraio 2009 COGNOME E NOME RIGA COLONNA MATRICOLA Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 17 Febbraio 2009 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 5 esercizi,

Dettagli

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

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 24 Gennaio 2011 COGNOME E NOME RIGA COLONNA MATRICOLA Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 24 Gennaio 2011 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 3

Dettagli

Informatica B

Informatica B Informatica B 2016-2016 Esercitazione III Ricorsione Alessandro A. Nacci alessandro.nacci@polimi.it - www.alessandronacci.it 1 Esercizio 1 La successione di Padovan é definita nel seguente modo: se indichiamo

Dettagli

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 17 Febbraio 2009 COGNOME E NOME RIGA COLONNA MATRICOLA

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 17 Febbraio 2009 COGNOME E NOME RIGA COLONNA MATRICOLA Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 17 Febbraio 2009 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 5 esercizi,

Dettagli

CORSO DI LAUREA IN INGEGNERIA ELETTRICA

CORSO DI LAUREA IN INGEGNERIA ELETTRICA CORSO DI LAUREA IN INGEGNERIA ELETTRICA Informatica B anno accademico 2013-2014 Prof. Danilo ARDAGNA Esercizio 1. (Calcolo divisione intera) Si scrivano in linguaggio MATLAB: Esercitazione 13.06.2014 una

Dettagli

Abbiamo inoltre visto come tracciare grafici di superfici su spazio cartesiano con la funzione mesh:

Abbiamo inoltre visto come tracciare grafici di superfici su spazio cartesiano con la funzione mesh: Esercitazione 11 11 Gennaio 2011 (3 ore) Riassunto Nell'esercitazione di oggi abbiamo visto che in MATLAB è disponibile un'alternativa a disp per stampare su schermo. La funzione introdotta e' fprintf

Dettagli

12 Function Handles e Ricorsione in MATLAB

12 Function Handles e Ricorsione in MATLAB 1 Function Handles e Ricorsione in MATLAB Un function handle è una variabile il cui valore è una funzione. Data una funzione esistente, il suo function handle è dichiarato come handle = @nome dove nome

Dettagli

13 Esercizi di Riepilogo

13 Esercizi di Riepilogo 13.1 Esercizi Esercizio 13.1 Si considerino due dispositivi aventi le seguenti configurazioni: Configurazione A 1 Mbyte di memoria fisica e pagine di memoria da 4 Kbyte; una memoria cache con hit rate

Dettagli

ESERCIZIO 1. Informatica B - Esercitazione 12

ESERCIZIO 1. Informatica B - Esercitazione 12 ESERCIZIO 1 Si scriva in Octave/MATLAB la funzione analisimatrice che: ricevo come parametro una matrice a, verifica che i suoi valori NON siano tutti uguali. Se questo è verificato: - calcola il valore

Dettagli

13 Ricorsione con MATLAB

13 Ricorsione con MATLAB 13.1 Esercizi Esercizio 13.1 Scrivere una funzione che verifichi iterativamente se una stringa è palindroma. Scrivere poi una funzione che implementi la stessa funzionalità in modo ricorsivo. Si stampi

Dettagli

Rappresentazione degli algoritmi

Rappresentazione degli algoritmi Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti

Dettagli

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Matlab: esempi ed esercizi UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA Matlab: esempi ed esercizi Sommario e obiettivi Sommario Esempi di implementazioni Matlab di semplici algoritmi Analisi di codici Matlab Obiettivi

Dettagli

Introduzione al MATLAB c Parte 2

Introduzione al MATLAB c Parte 2 Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 24 settembre 2007 Outline 1 M-file di tipo Script e Function Script Function 2 Elementi di programmazione

Dettagli

Facoltà di Ingegneria Industriale. Matlab/Octave - Esercitazione 7. ricorsione e funzioni anonime

Facoltà di Ingegneria Industriale. Matlab/Octave - Esercitazione 7. ricorsione e funzioni anonime Facoltà di Ingegneria Industriale Laurea in Ingegneria Energetica, Meccanica e dei Trasporti Matlab/Octave - Esercitazione 7 ricorsione e funzioni anonime Politecnico di Milano - DEI 1 Esercizio 1 Implementare

Dettagli

Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano

Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano 2033 Milano (Italia) Piazza Leonardo da Vinci, 32 Tel. (+39) 02-2399.3400 Fax (+39) 02-2399.34 Informatica ed Elementi di

Dettagli

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

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 25 Gennaio 2010 COGNOME E NOME RIGA COLONNA MATRICOLA Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 25 Gennaio 2010 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 4

Dettagli

Informatica B - A.A. 2018/2019

Informatica B - A.A. 2018/2019 Politecnico di Milano Informatica B - A.A. 2018/2019 Laboratorio 4 26/11/2018 Andrea Tirinzoni ( andrea.tirinzoni@polimi.it ) Pietro Fezzardi ( pietro.fezzardi@polimi.it ) 1. Introduzione 1.1 - Semplici

Dettagli

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

n deve essere maggiore di 0, altrimenti il metodo restituisce null. Esercizio 1 di classe Intersezione che presi in input due Array di int A e B, restituisce in output un array contenente gli elementi presenti sia in A che in B. Esercizio 2 di classe identità che prende

Dettagli

Rappresentazione degli algoritmi

Rappresentazione degli algoritmi Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti

Dettagli

13 Esercizi di Riepilogo

13 Esercizi di Riepilogo 13.1 Esercizi Esercizio 13.1 Si consideri una versione semplificata della battaglia navale in cui le navi possono essere posizionate solo in orizzontale e ogni riga può contenere al massimo una nave. Il

Dettagli

15 Riepilogo di esercizi in MATLAB

15 Riepilogo di esercizi in MATLAB 15.1 Esercizi Esercizio 15.1 (TdE 2014) Si consideri l array definito in MATLAB e chiamato dati. Tale array contiene le informazioni riguardanti le precipitazioni atmosferiche registrate da una stazione

Dettagli

Università degli Studi di Ferrara Corso di Laurea in Chimica - A.A

Università degli Studi di Ferrara Corso di Laurea in Chimica - A.A Università degli Studi di Ferrara Corso di Laurea in Chimica - A.A. 2018-2019 Programmazione Lezione 12A Esercizi in MATLAB Docente: Lorenzo Caruso lorenzo.caruso@unife.it Nelle lezioni precedenti Matlab:

Dettagli

Laboratorio di Calcolo Numerico Laboratorio 8: Vettori e Matrici

Laboratorio di Calcolo Numerico Laboratorio 8: Vettori e Matrici Laboratorio di Calcolo Numerico Laboratorio 8: Vettori e Matrici Claudia Zoccarato E-mail: claudia.zoccarato@unipd.it Dispense: Moodle Dipartimento ICEA 03 Maggio 2017 Richiami In MATLAB, ogni variabile

Dettagli

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

Il presente plico contiene 3 esercizi e 2 domande e deve essere debitamente compilato con cognome e nome, e numero di matricola. Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello 29 Gennaio 2018 COGNOME E NOME MATRICOLA Spazio riservato ai docenti Il presente plico contiene 3 esercizi e 2 domande e deve

Dettagli

Informatica B

Informatica B Informatica B 2016-2016 Esercitazione II Cicli & Operazioni su vettori, matrici Alessandro A. Nacci alessandro.nacci@polimi.it - www.alessandronacci.it 1 Esercizio 1 Nel file temperature.mat sono contenute

Dettagli

Esercizio: Linear Congruential Generator

Esercizio: Linear Congruential Generator Elementi di Informatica e Applicazioni Numeriche T Esercizio: Linear Congruential Generator Esercizio: Linear Congruential Generator Si consideri la successione (linear congruential generator): X n+1 =

Dettagli

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)

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) Avvertenze A grande richiesta pubblico la prima parte di soluzioni al secondo dei tre esercizi in Matlab che norma vengono somministrati nella prova d esame (codifica di un algoritmo). Circa il primo esercizio

Dettagli

Informatica B. Facoltà di Ingegneria Industriale Laurea in Ingegneria Energetica, Meccanica e dei Trasporti. Prof. Marco Masseroli

Informatica B. Facoltà di Ingegneria Industriale Laurea in Ingegneria Energetica, Meccanica e dei Trasporti. Prof. Marco Masseroli Facoltà di Ingegneria Industriale Laurea in Ingegneria Energetica, Meccanica e dei Trasporti Dipartimento di Elettronica e Informazione Informatica B Prof. Marco Masseroli Indice Laboratorio 4: Linguaggio

Dettagli

Vettori e Matrici. Corso di Calcolo Numerico. 24 Aprile 2018

Vettori e Matrici. Corso di Calcolo Numerico. 24 Aprile 2018 Vettori e Matrici 24 Aprile 2018 Richiami In MATLAB, ogni variabile ha una struttura di tipo vettoriale o array. Un array è un insieme di valori ordinati, cioè memorizza più dati all interno di una struttura

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica I ntroduzione alla programmazione in MATLAB E s e rc i t a z i o n e 1 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 Esercizio 1 Scrivere una funzione, chiamata

Dettagli

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A Matematica 13/11/2007 Teoria Compito A Domanda 1 Descrivere, eventualmente utilizzando uno schema, gli elementi funzionali di una CPU. Domanda 2 Java è un linguaggio compilato o interpretato? Motivare

Dettagli

Introduzione al MATLAB c Parte 3 Script e function

Introduzione al MATLAB c Parte 3 Script e function Introduzione al MATLAB c Parte 3 Script e function Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 M-file di tipo Script e Function Script Function 2 Gestione dell

Dettagli

Introduzione al MATLAB c Parte 3 Script e function

Introduzione al MATLAB c Parte 3 Script e function Introduzione al MATLAB c Parte 3 Script e function Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 M-file di tipo Script e Function Script Function 2 Gestione dell

Dettagli

Università degli Studi di Ferrara

Università degli Studi di Ferrara Università degli Studi di Ferrara Corso di Laurea in Matematica - A.A. 2018 2019 Programmazione Lezione 19 Controllo di Flusso in MATLAB Docente: Michele Ferrari - michele.ferrari@unife.it Nelle lezioni

Dettagli

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

Programmare. Condizioni logiche. Condizioni Logiche Costrutti Decisionali Costrutti di Ciclo Programmare Condizioni Logiche Costrutti Decisionali Costrutti di Ciclo Condizioni logiche Le condizioni logiche sono istruzioni che fanno uso di: operatori relazionali (servono a confrontare il valore

Dettagli

LABORATORIO DI INFORMATICA ESERCITAZIONE VIII

LABORATORIO DI INFORMATICA ESERCITAZIONE VIII LABORATORIO DI INFORMATICA ESERCITAZIONE VIII Cercate di eseguire gli esercizi da soli. Se non ci riuscite, cercate di capire i messaggi di errore. Se non ci riuscite, provateci di nuovo. Poi chiamate

Dettagli

Introduzione al MATLAB c Parte 3 Script e function

Introduzione al MATLAB c Parte 3 Script e function Introduzione al MATLAB c Parte 3 Script e function Lucia Gastaldi DICATAM - Sezione di Matematica, http://www.ing.unibs.it/gastaldi/ Indice 1 M-file di tipo Script e Function Script Function 2 Gestione

Dettagli

1 (7) 2 (6) 3 (6) 4 (7) 5 (6)

1 (7) 2 (6) 3 (6) 4 (7) 5 (6) CORSO DI LAUREA IN INGEGNERIA ELETTRICA, CHIMICA e MATERIALI Informatica B, C Anno Accademico 2014-2015 Proff. Danilo ARDAGNA, Antonio MIELE Seconda Prova in Itinere 29.6.2015 Cognome Nome Matricola Firma

Dettagli

1. Calcolo dell indice di condizionamento di una matrice

1. Calcolo dell indice di condizionamento di una matrice 1 Esercizi sul condizionamento con matlab laboratorio di Calcolo Scientifico per Geofisici Prof. A. Murli a.a. 2006/07 1. Calcolo dell indice di condizionamento di una matrice Determinare una function

Dettagli

Esame di Laboratorio di Fisica Computazionale

Esame di Laboratorio di Fisica Computazionale Esame di Laboratorio di Fisica Computazionale 3 maggio 2016, ore 9.30 shell scripting Si scriva uno script che riceve due argomenti in input da linea di comando../script.sh arg1 arg2 Il primo argomento

Dettagli

Elementi di Calcolo Scientifico per l Ingegneria A.A

Elementi di Calcolo Scientifico per l Ingegneria A.A Elementi di Calcolo Scientifico per l Ingegneria A.A. 2017-2018 Ottobre 2017 (2 16) Indice 1 2 3 4 Rappresentazione dei numeri reali nel calcolatore l insieme dei numeri reali, R, contiene un numero infinito

Dettagli

Programmare con MATLAB c Parte 5 Cicli: for e while

Programmare con MATLAB c Parte 5 Cicli: for e while Programmare con MATLAB c Parte 5 Cicli: for e while Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 La notazione due punti 2 Ciclo: for 3 Ciclo con controllo: while

Dettagli

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

Il presente plico contiene 3 esercizi e 2 domande e deve essere debitamente compilato con cognome e nome, e numero di matricola. Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello 29 Gennaio 2018 COGNOME E NOME MATRICOLA Spazio riservato ai docenti Il presente plico contiene 3 esercizi e 2 domande e deve

Dettagli

Informatica B

Informatica B Informatica B 2017-2018 Esercitazione IV Funzioni Alessandro A. Nacci alessandro.nacci@polimi.it - www.alessandronacci.it 1 Esercizio 1 Nel file temperature.mat sono contenute le misurazioni di temperatura

Dettagli

Principi di Programmazione Prova del 10/6/2008 (ore 10.30)

Principi di Programmazione Prova del 10/6/2008 (ore 10.30) Prova del 10/6/2008 (ore 10.30) Scrivere (commentandole) le linee di codice Matlab per costruire i seguenti vettori (5x1): e il vettore di numeri complessi C tali che il singolo elemento c k ha come parte

Dettagli

RICORSIONE, PUNTATORI E ARRAY. Quarto Laboratorio

RICORSIONE, PUNTATORI E ARRAY. Quarto Laboratorio RICORSIONE, PUNTATORI E ARRAY Quarto Laboratorio 16 DICEMBRE 2011 SCADENZA TERZA ESERCITAZIONE FUNZIONI RICORSIVE ESERCIZIO Scrivere una funzione ricorsiva che, assegnati due interi N1 ed N2, restituisca

Dettagli

Informatica B - A.A. 2018/2019

Informatica B - A.A. 2018/2019 Politecnico di Milano Informatica B - A.A. 2018/2019 Laboratorio 6 17/12/2018 Andrea Tirinzoni ( andrea.tirinzoni@polimi.it ) Pietro Fezzardi ( pietro.fezzardi@polimi.it ) 1. Funzioni Ricorsive (easy)

Dettagli

Algoritmi stabili e instabili

Algoritmi stabili e instabili Algoritmi stabili e instabili Laboratorio di Calcolo Numerico 13 Marzo 2018 Vettori in MATLAB Finora abbiamo pensato alle variabili utilizzate come semplici valori numerici (variabili scalari). In realtà,

Dettagli

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

Ogni parte non cancellata a penna sarà considerata parte integrante della soluzione. Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 5 febbraio 2015 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 3

Dettagli

12 Function Handles e Ricorsione in MATLAB

12 Function Handles e Ricorsione in MATLAB 1 Function Handles e Ricorsione in MATLAB Un function handle è una variabile il cui valore è una funzione. Data una funzione esistente, il suo function handle è dichiarato come handle = @nome dove nome

Dettagli

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B. Esempio di seconda prova in itinere A.A

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B. Esempio di seconda prova in itinere A.A Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Esempio di seconda prova in itinere A.A. 2008-2009 Esercizio 1 Si vuole considerare la traiettoria percorsa da un oggetto immaginario

Dettagli

ESERCIZIO 1. Informatica B - Esercitazione 14

ESERCIZIO 1. Informatica B - Esercitazione 14 ESERCIZIO 1 Tema del 01/09/2010 Esercizio 3 Implementare in MATLAB una funzione ricorsiva che calcoli risultato e resto della divisione intera fra due numeri interi. La funzione deve ricevere come parametri

Dettagli

Esercitazioni con GNU Octave

Esercitazioni con GNU Octave appendice A Esercitazioni con GNU Octave GNU Octave può essere scaricato dalla seguente pagina: https://www.gnu.org/software/octave/download.html L elenco dei concetti, delle funzioni e degli operatori

Dettagli

14 Function Handles in MATLAB

14 Function Handles in MATLAB Un "function handle" e una variabile il cui valore e una funzione. Data una funzione esistente, il suo function handle è dichiarato come handle = @nome dove nome è il nome di tale funzione esistente. Una

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica rogrammazione in MATLAB Gestione File Grafici E s e rc i t a z i o n e e r C a s a 2 r o f. R a f f a e l e i z zo l a n t e A. A. 2 0 1 6 / 1 7 M unteggio 5 3 2 4 7 3 3 2 1 9

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Introduzione alla programmazione in MATLAB E s e rc i ta z i o n e 1 Po s s i b i l i S o l u z i o n i P r o f. R a f fa e l e P i z zo l a n t e A. A. 2 0 1 6 / 1 7 Esercizio

Dettagli

Introduzione a Matlab

Introduzione a Matlab INFORMATICA B Ingegneria Elettrica Introduzione a Matlab Introduzione a Matlab Matlab (MATrix LABoratory) è uno strumento per il calcolo scientifico ed ingegneristico Matlab facilita lo sviluppo di programmi

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Vettori e matrici #1 Le variabili definite come coppie sono dette variabili scalari Fondamenti di Informatica 5. Algoritmi e pseudocodifica Una coppia è una variabile

Dettagli

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

MATLAB c. Lucia Gastaldi Dipartimento di Matematica  Lezione 4 (15 ottobre 2003) MATLAB c M-file. Lucia Gastaldi Dipartimento di Matematica http://dm.ing.unibs.it/gastaldi/ Lezione 4 (15 ottobre 2003) Esercizio Problema 3: la successione di funzioni f n (x) = (x 2 x) n per 0 x 1 è

Dettagli

Esercitazione 10. 21 Dicembre 2010 (2 ore)

Esercitazione 10. 21 Dicembre 2010 (2 ore) Esercitazione 10 21 Dicembre 2010 (2 ore) Riassunto Nell'esecitazione di oggi abbiamo lavorato ancora sulle funzioni. Abbiamo inoltre introdotto alcune delle seguenti funzioni per tracciare i grafici.

Dettagli

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

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 28 gennaio 2013 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 3

Dettagli

Introduzione alla programmazione Esercizi risolti

Introduzione alla programmazione Esercizi risolti Esercizi risolti 1 Esercizio Si determini se il diagramma di flusso rappresentato in Figura 1 è strutturato. A B C D F E Figura 1: Diagramma di flusso strutturato? Soluzione Per determinare se il diagramma

Dettagli

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

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 11 - Metodi numerici per equazioni differenziali ordinarie Complementi di Matematica e Calcolo Numerico A.A. 2010-2011 Laboratorio 11 - Metodi numerici per equazioni differenziali ordinarie Cosideriamo il seguente Problema di Cauchy: Trovare una funzione y : I

Dettagli

Laboratorio di Calcolo Numerico

Laboratorio di Calcolo Numerico Laboratorio di Calcolo Numerico Lezione 3 Padova, April 4th 2016 F. Piazzon Department of Mathematics. Doctoral School in Mathematical Sciences, Applied Mathematics Area Outline Lab. 3-2 of 16 1 Costrutti

Dettagli

12 Function Handles e Ricorsione in MATLAB

12 Function Handles e Ricorsione in MATLAB 1 Function Handles e Ricorsione in MATLAB Un function handle è una variabile il cui valore è una funzione. Data una funzione esistente, il suo function handle è dichiarato come handle = @nome dove nome

Dettagli

Laboratorio n 6 del Ing. Dario Cogliati

Laboratorio n 6 del Ing. Dario Cogliati Laboratorio n 6 del 07-11-2017 Ing. Dario Cogliati Es1 Piloti Si studino le strutture dati, che permettono di memorizzare le informazioni di 20 piloti che partecipano ad una gara automobilistica di 50

Dettagli

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

Ogni parte non cancellata a penna sarà considerata parte integrante della soluzione. Politecnico di Milano Facoltà di Ingegneria Industriale INFOMATICA B Appello del 7 Febbraio 2011 COGNOME E NOME IGA COLONNA MATICOLA Spazio riservato ai docenti Il presente plico contiene 4 esercizi e

Dettagli

1. Si scriva una function Matlab che implementa il seguente metodo di punto fisso

1. Si scriva una function Matlab che implementa il seguente metodo di punto fisso Domanda 1 1. Si scriva una function Matlab che implementa il seguente metodo di punto fisso x n+1 = x n f(x n), n = 0, 1, 2,... K dove x 0 è il punto iniziale, f(x) = x 3 cos(x) e K è una costante assegnata.

Dettagli

Esercizi di autovalutazione - Matlab Metodi Numerici con Elementi di Programmazione A.A

Esercizi di autovalutazione - Matlab Metodi Numerici con Elementi di Programmazione A.A Esercizi di autovalutazione - Matlab Metodi Numerici con Elementi di Programmazione A.A. 2017-18 1. Scrivere la function Matlab myfun.m che calcoli la funzione e la sua derivata. La function deve ricevere

Dettagli

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

Ogni parte non cancellata a penna sarà considerata parte integrante della soluzione. Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Prova in itinere del 5 febbraio 2015 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 3

Dettagli

Fondamenti di Informatica, A.A FILA A

Fondamenti di Informatica, A.A FILA A Fondamenti di Informatica, A.A. 2014-2015 - FILA A 08/07/2015 Esercizio 1 È dato il frammento di codice Matlab v = [ 1 1 2 3 ] ; n = length ( v ) ; for x = v (: 2:1) v = [ v mod(sum( v ), n ) ] ; n = length

Dettagli

Informatica (A-K) 5. Algoritmi e pseudocodifica

Informatica (A-K) 5. Algoritmi e pseudocodifica Vettori e matrici #1 Informatica (A-K) 5. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

Dettagli

LA RICORSIONE LA RICORSIONE LA RICORSIONE: ESEMPIO LA RICORSIONE: ESEMPIO LA RICORSIONE: ESEMPIO LA RICORSIONE: ESEMPIO

LA RICORSIONE LA RICORSIONE LA RICORSIONE: ESEMPIO LA RICORSIONE: ESEMPIO LA RICORSIONE: ESEMPIO LA RICORSIONE: ESEMPIO LA RICORSIONE Una funzione matematica è definita ricorsivamente quando nella sua definizione compare un riferimento a se stessa La ricorsione consiste nella possibilità di definire una funzione in termini

Dettagli

Quadrato Magico. Fondamenti di Programmazione

Quadrato Magico. Fondamenti di Programmazione Quadrato Magico Si richiede lo sviluppo di un programma che permette all utente l inserimento di una matrice quadrata di numeri interi positivi e verifica se si tratta di un quadrato magico Una matrice

Dettagli

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Fondamenti di Informatica 6. Algoritmi e pseudocodifica Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

Dettagli

Matlab: Script e Funzioni

Matlab: Script e Funzioni Matlab: Script e Funzioni Informatica B Script Cos è uno script (m-file) q Uno script è un file di testo contenente una sequenza di comandi MATLAB non deve contenere caratteri di formattazione (solo testo

Dettagli

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

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Introduzione a Matlab UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA Introduzione a Matlab MATLAB MATLAB (abbreviazione di Matrix Laboratory) è un ambiente per il calcolo numerico e un linguaggio di programmazione (interpretato)

Dettagli

Strutture di controllo condizionali in Matlab

Strutture di controllo condizionali in Matlab Strutture di controllo condizionali in Matlab Informatica B Le strutture condizionali A cosa servono le strutture condizionali? %Inserimento dei parametri della parabola: y=ax^2+bx+c a = input( inserire

Dettagli

Informatica B

Informatica B Informatica B 2016-2016 Esercitazione 1 Intro a Matlab, Variabili, Matrici, Vettori, Costrutti Condizionali Alessandro A. Nacci alessandro.nacci@polimi.it - www.alessandronacci.it 1 Matlab VS C 2 Matlab

Dettagli

CORSO DI LAUREA IN INGEGNERIA ELETTRICA

CORSO DI LAUREA IN INGEGNERIA ELETTRICA CORSO DI LAUREA IN INGEGNERIA ELETTRICA Informatica B anno accademico 2013-2014 Prof. Danilo ARDAGNA Esercitazione 05.06.2014 Esercizio 1. (Agenzia di viaggi - accesso ai file) Un'agenzia di viaggi possiede

Dettagli

FONDAMENTI DI INFORMATICA. Prof. Alfredo Accattatis Tutor: prof. Venturino Taggi

FONDAMENTI DI INFORMATICA. Prof. Alfredo Accattatis Tutor: prof. Venturino Taggi FONDAMENTI DI INFORMATICA Prof. Alfredo Accattatis (accattatis@ing.uniroma2.it) Tutor: prof. Venturino Taggi (taggi@ing.uniroma2.it) 2 Fondamenti di Informatica Argomenti Approfondimenti sui floating-point:

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di nformatica Strutture Selettive, terative, Gestione File e Grafici in MATLAB: Esercitazione 6 Prof. Arcangelo Castiglione A.A. 2016/17 ncasso Orario 8 10 5 n questa esercitazione verranno

Dettagli

Comunicazioni. Salvo Daniele Valente Dipartimento di Elettronica e Informazione

Comunicazioni. Salvo Daniele Valente Dipartimento di Elettronica e Informazione Comunicazioni Ricordarsi di iscriversi alla prova in itinere di lunedì 28/01/2013 (e agli appelli d'esame per chi dovrà/vorrà). Per coloro che non hanno superato la prima prova in itinere, o che complessivamente

Dettagli

Laboratorio di Matlab

Laboratorio di Matlab Laboratorio di Matlab Alessandro Formaglio Dipartimento di Ingegneria dell Informazione, Università di Siena alex@dii.unisi.it http://www.dii.unisi.it/ control/matlab/labmatlab.html 9 Luglio 2009 DII -

Dettagli