Abbiamo inoltre visto come tracciare grafici di superfici su spazio cartesiano con la funzione mesh:
|
|
- Enrico Colli
- 6 anni fa
- Visualizzazioni
Transcript
1 Esercitazione 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 e si utilizza in modo simile alla printf del C. Esempio: a=input('inserire un numero da raddoppiare: '); fprintf('il doppio di %d fa %d\n', a, a*2); Abbiamo inoltre visto come tracciare grafici di superfici su spazio cartesiano con la funzione mesh: mesh(xx,yy,zz) xx e yy sono delle matrici create dalla funzione meshgrid(x,y), dove x e y rappresentano i valori di ascisse e ordinate, mentre zz e' creato a partire da xx e yy a seconda di come e' definita la funzione del piano che si vuole rappresentare. Abbiamo infine ripreso il concetto di funzione di ordine superiore introdotto a lezione. Si definisce funzione di ordine superiore una funzione avente tra i suoi parametri una o piu' variabili di tipo funzione. La dichiarazione di una funzione di ordine superiore e' analoga a quella di una funzione normale. Esempio: function [res]=funordsup(f,a,b) res=f(a,b); La funzione definita sopra ha come parametri di ingresso la variabile di tipo funzione f e le variabili a,b. Il risultato e' generato dall'invocazione di f a cui si passano i parametri a e b. Per inizializzare una variabile di tipo funzione si utilizza nell'assegnamento il simbolo '@' seguito dal nome della funzione esistente, oppure per assegnare una nuova funzione anonima si utilizza il simbolo '@' seguito dalle variabili di ingresso tra parentesi e separate da virgole, seguiti a loro volta dall'espressione che calcola il valore restituito della nuova funzione. Esempio di creazione di una variabile di tipo funzione miocoseno con handler ad una funzione esistente (coseno): >> cos(pi) ans = -1 >> miocoseno=@cos >> miocoseno(pi) ans = -1
2 Esempio di creazione di una variabile di tipo funzione mioquadrato con assegnamento di una nuova funzione anonima: >> >> mioquadrato(2) ans = 4 >> mioquadrato(4) ans = 16 Esercizio 1. (Paraboloide iperbolico) Si disegni la superficie del paraboloide iperbolico dato dalla seguente equazione: z=x.^2-y.^2 per valori di x e y nell'intervallo [-5,+5]. Impostare titoli ed etichette. Soluzione Assegno innanzitutto (come nei grafici a due dimensioni) vari valori nell'intervallo da -5 a +5 (separati da microintervalli di dimensione opportuna) alle variabili x e y. Piu' piccoli sono tali intervalli e piu' definito sara' il grafico. Dopodiche' creo con la funzione meshgrid le matrici xx e yy contenenti la prima i valori di x ripetuti length(y) volte, la seconda i valori di y' ripetuti length(x) volte. La coppia di queste matrici identifica la griglia rettangolare che sara' utilizzata per modellare la superficie identificata da zz (piu' piccoli sono i microintervalli di x e y e piu' fitta sara' la griglia). La matrice zz si calcola a partire da xx e yy utilizzando direttamente l'equazione della funzione a due variabili da rappresentare (zz=xx 2 -yy 2 in questo caso). Infine, le tre matrici ottenute (xx,yy,zz) saranno i parametri dell'istruzione mesh che disegnera' il grafico. Codice x=-5:0.05:5; y=x; [xx yy]=meshgrid(x,y); zz=xx.^2-yy.^2; mesh(xx,yy,zz); title('paraboloide iperbolico') xlabel('asse x') ylabel('asse y') zlabel('asse z') Esecuzione
3 Esercizio 2. (Funzione di aggregazione generica) Si vuole scrivere una funzione che permetta di aggregare dei dati in modo generico. Il primo parametro della funzione e' una funzione di aggregazione (come min, max, sum, mean, ecc), il secondo parametro contiene i dati numerici da aggregare. 1. Si scriva la funzione; 2. Si utilizzi la funzione per trovare la somma e la media dei numeri dati; 3. Si utilizzi la funzione per trovare la somma dei quadrati dei numeri (si modifichi il punto 2 ago solo sul secondo parametro della funzione); 4. Si utilizzi la funzione per trovare la somma dei quadrati dei numeri (si Soluzione modifichi il punto 2 ago solo sul primo parametro della funzione). Per risolvere il punto 1 creo una funzione chiamata aggregazione avente due parametri di ingresso: il primo e' una variabile di tipo funzione f, il secondo un vettore di numeri n. Nel corpo della funzione chiamo la funzione f attraverso la sua variabile passando come parametro n. Il risultato della chiamata di f sara' infine assegnato al parametro di ritorno di aggregazione. Per risolvere il punto 2 invoco semplicemente la funzione aggregazione passando come parametro l'handler alla funzione esistente di MatLab sum e mean (cioe' nel codice si Per risolvere il punto 3 chiamo la funzione aggregazione come nel punto 2, ma modifico semplicemente il secondo parametro nel suo quadrato. Per risolvere il punto 4 al posto di chiamare direttamente la sum come fatto nel punto 2 creo un handler ad una funzione anonima avente un solo parametro. All'interno di questa funzione anonima chiamero' la funzione sum passando come parametro il quadrato del parametro di ingresso della funzione anonima. Codice punto 1 function [res]=aggregazione(f,n) res=f(n); Comandi punti 2,3,4 n=1:10 % creo dei varoli di esempio nel vettore n aggregazione(@sum,n) % punto 2 (summa) aggregazione(@mean,n) % punto 2 (media) aggregazione(@sum,n.^2) % punto 3 aggregazione(@(x)sum(x.^2),n) % punto 4
4 Esecuzione >> n=1:10 n = >> aggregazione(@sum,n) ans = 55 >> aggregazione(@mean,n) ans = >> aggregazione(@sum,n.^2) ans = 385 >> aggregazione(@(x)sum(x.^2),n) ans = 385 Esercizio 3. (Roulette truccata) Nel gioco della roulette si ha una ruota raffigurante 37 numeri da 0 a 36. Ad ogni turno un giocatore puo' scommettere su un numero o su particolari combinazioni degli stessi. Alla fine delle puntate la ruota selezionera' il numero vincente. 1. 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 Si scriva una funzione che provi ad eseguire N giri e salvi i risultati delle frequenze di ogni numero in un array di 37 elementi (il primo elemento per lo zero, il secondo per l'uno e cosi' via). 3. Si tracci il grafico delle frequenze prima utilizzando "rand" come generatore e poi utilizzando la funzione "rand_truccata" mostrata di seguito e commentare il risultato. 4. Qual e' la probabilita' di vincere se si scommette sull'uscita di un numero dispari? Scrivere una funzione che calcoli questa probabilita' effettuando simulazioni di giocate. function [n]=rand_truccata() r=rand(); if r<0.02 n=0; else n=rand(); Soluzione punto 1 Creo una funzione chiamata gioca che accetta come parametro una variabile di tipo funzione r. La funzione r, per ipotesi, dovra' restituire un valore razionale compreso tra 0 e 1 (0 incluso nell'intervallo, 1 escluso dall'intervallo). Il risultato sara' percio' la normalizzazione di tale valore all'interno di un intervallo di 37 numeri (da 0 a 36). Per ottenerlo dobbiamo semplicemente moltiplicare il numero casuale per 37. Il risultato cosi' ottenuto e' anch'esso razionale, ma, poiche' il numero che noi vogliamo generare e' intero, dobbiamo utilizzare anche la funzione floor, che restituisce l'intero inferiore al numero dato.
5 Codice function [n]=gioca(r) n=floor(r()*37); Esecuzione >> ans = 32 >> gioca(@rand) ans = 29 >> gioca(@rand) ans = 35 Soluzione punto 2 La funzione chiede in ingresso due parametri: un intero n che identifica il numero di giri della roulette e un generatore di numeri casuali r. Nel corpo della funzione eseguo n giri di roulette usando la funzione gioca con il generatore di numeri casuali r. Per ognuno di questi giri incremento di uno l'elemento del vettore risultato (freq) avente indice pari al numero ottenuto nel giro. Codice function [freq]=gioca_n_volte(n,r) freq(37)=0; for ii=1:n giro=gioca(r); freq(giro+1)=freq(giro+1)+1; Esecuzione >> gioca_n_volte(100000,@rand) ans = Columns 1 through Columns 9 through Columns 17 through Columns 25 through Columns 33 through Soluzione punto 3 plot(0:36,gioca_n_volte(10000,@rand)) xlabel('numero generato dalla roulette') ylabel('numero di volte in cui il numero e'' stato generato') title('test di affidabilita'' roulette') plot(0:36,gioca_n_volte(10000,@rand_truccata))
6 Esecuzione con rand Esecuzione con rand_truccata Commento Nel primo grafico si vede che le frequenze di tutti i numeri, sebbene non uguali, tono ad avere valori simili. Nel secondo grafico, poiche' la funzione rand_truccata nel 2% dei casi da' come valore zero e nell'altro 98% chiama la rand non truccata, si vede una dominanza di tale numero rispetto agli altri. Soluzione punto 4 La probabilita' si puo' calcolare analiticamente come rapporto tra il numero di casi favorevoli e il numero di casi ammissibili. Esso i casi favorevoli 18 (perche' solo 18 numeri della roulette sono dispari), e i casi ammissibili 37 (36 piu' lo zero), la probabilita' e' data da 18/37=0, Vogliamo verificare con MATLAB che la probabilita' calcolata sia simile a quella reale ottenuta effettuando giocate sul pari. Creiamo dunque una funzione che ha come parametri di ingresso il numero di giocate (N) e il generatore di numeri casuali, e come
7 parametro di uscita la probabilita' calcolata sulla base dei risultati delle giocate. Nel corpo della funzione generiamo N numeri e per ogni numero dispari incrementiamo una variabile vittorie precedentemente inizializzata a zero. Infine calcoliamo la probabilita' come rapporto tra il numero di vittorie e numero di giocate totali. Codice function [p]=calcola_probabilita(n,r) vittorie=0; for ii=1:n giro=gioca(r); if mod(giro,2)>0 vittorie=vittorie+1; p=vittorie/n; Esecuzione >> calcola_probabilita(100000,@rand) ans = Esercizio 4 (Media pesata, TDE 08/02/2010) Data una serie di misurazioni i cui valori misurati sono contenuti in un vettore x e i relativi pesi sono contenuti in un vettore w (delle stesse dimensioni di x), la media pesata si calcola come segue: Si risponda ai seguenti quesiti utilizzando il linguaggio MATLAB. 1) Scrivere una funzione mediapesata avente come argomenti i vettori x e w e come risultato la media pesata. 2) Scrivere una funzione mediapesataspeciale con parametri analoghi alla precedente, ma che calcoli la media pesata considerando come zeri i pesi relativi alle misurazioni con il valore minimo e il valore massimo. 3) Si consideri una matrice Z di dimensione 2xN precedentemente definita in cui le colonne rappresentano le N misurazioni, la prima riga contiene i valori di ogni misurazione e la seconda riga i relativi pesi. Si scriva uno script per trovare gli indici delle misurazioni con valore compreso tra la media pesata e la media pesata speciale (estremi inclusi). 4) Scrivere una funzione mediapesatasuperiore avente come argomenti x, w, e una funzione f con parametri analoghi a quelle sviluppate ai punti 1 e 2. Il risultato sarà la media pesata calcolata utilizzando f. Si mostri infine un esempio di invocazione.
8 Soluzione punto 1 function r=mediapesata(x,w) r=sum(x.*w./sum(w)); Soluzione punto 2 function r=mediapesataspeciale(x,w) selmin=min(x)==x; selmax=max(x)==x; w(selmin selmax)=0; r=mediapesata(x,w); Soluzione punto 3 x=z(1,:); w=z(2,:); sel1=x>=mediapesata(x,w)&x<=mediapesataspeciale(x,w); sel2=x<=mediapesata(x,w)&x>=mediapesataspeciale(x,w); find(sel1 sel2) Soluzione punto 4 function r=mediapesatasuperiore(x,w,f) r=f(x,w); mediapesatasuperiore(x,w,@mediapesata) Esercizio 5 (Divisione intera, TDE 27/07/2010) Implementare in MATLAB una funzione ricorsiva che calcoli risultato e resto della divisione intera fra due numeri interi. La funzione deve ricevere come parametri di ingresso i due numeri interi x, y e fornire come parametri di uscita risultato e resto della divisione intera fra x e y. Nell implementazione non è possibile alcuna funzione di libreria disponibile in MATLAB. Suggerimento: x/y = (x - y + y)/y = 1 + (x - y)/y Soluzione function [r,q] = divintera(x,y) if (x<y) r = x; q = 0; else [r,q] = divintera (x-y,y); r = r+1;
9 Esercizio 6 (Coefficienti binomiali, TDE 01/09/2010) È noto, dalla definizione del coefficiente binomiale n, che, se n>0 e k 0<k<n, vale la seguente relazione ricorsiva n n 1 n 1 = + k k 1 k dove la base della ricorsione è data da n = 1 se n=0 o k=0 o k=n. k Utilizzare tale definizione ricorsiva per scrivere una funzione MATLAB ricorsiva che calcoli il valore del coefficiente binomiale n a partire dai k due parametri n e k. Simulare l'esecuzione della funzione che calcola il coefficiente 3 2 mostrando la sequenza delle chiamate ricorsive che hanno luogo durante il calcolo. Soluzione function [c]=coefbinric(n, k) if n==0 k==0 k==n c=1; else c=coefbinric(n-1,k-1)+coefbinric(n-1,k); La chiamata coefbinric(3,2)dà origine a coefbinric(2,1)+coefbinric(2,2); la prima di queste dà origine a coefbinric(1,0)+coefbinric(1,1), entrambe corrispondenti al caso base della ricorsione. Viene quindi restituito 2, che sommato al valore di coefbinric(2,2), pure corrispondente al caso base e quindi pari a 1, dà correttamente il valore 3.
Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello dell 8 Febbraio 2010 COGNOME E NOME RIGA COLONNA MATRICOLA
Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello dell 8 Febbraio 2010 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 4 esercizi,
DettagliInformatica 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
DettagliEsercizi di MatLab. Sommario Esercizi di introduzione a MatLab per il corso di Calcolo Numerico e Laboratorio, A.A
Esercizi di MatLab Sommario Esercizi di introduzione a MatLab per il corso di Calcolo Numerico e Laboratorio, AA 2017 2018 Gli esercizi sono divisi in due gruppi: fondamentali ed avanzati I primi sono
DettagliPolitecnico 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
DettagliESERCIZIO 1. Informatica B - Esercitazione 10
ESERCIZIO 1 Informatica B - Esercitazione 10 Scrivere un programma che chiede all'utente di inserire un numero positivo (nel caso in cui il numero non sia positivo ripetere inserimento) e: - verifica se
DettagliCORSO 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
DettagliPolitecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 21 Luglio 2010 COGNOME E NOME RIGA COLONNA MATRICOLA
Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 21 Luglio 2010 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 4 esercizi,
Dettagli15 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
DettagliIntroduzione 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
DettagliRappresentazione 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
DettagliMATLAB Elementi di grafica Costrutti di programmazione
MATLAB Elementi di grafica Costrutti di programmazione Operazioni punto Le operazioni punto agiscono su array che abbiano le stesse dimensioni:.* prodotto elemento per elemento./ divisione elemento per
DettagliFondamenti 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
DettagliLaboratorio di Informatica
Laboratorio di Informatica Seconda lezione a Python Dottore Paolo Parisen Toldin - parisent@cs.unibo.it Dottoressa Sara Zuppiroli - sara.zuppiroli@unibo.it L'importanza di capire Perché non dobbiamo dichiarare
DettagliINFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan
INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento lunedì, prima o dopo lezione 1 Le funzioni in C Le funzioni vengono utilizzate per 3 motivi: Riusabilità
DettagliUNIVERSITÀ 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
Dettagli1. Descrivere il significato della seguente istruzione se x è un vettore di 10 elementi reali:
Esame Scritto di Calcolo Numerico (Laurea di I Livello in Ingegneria Elettronica) (Laurea di I Livello in Ingegneria delle Telecomunicazioni) I Appello di Maggio 2008 1. Descrivere il significato della
DettagliARRAY E STRINGHE. ESERCIZIO 2 Scrivere un programma che calcola il numero di doppie e di dittonghi (2 vocali vicine) presenti in una stringa.
3 ITI - a.s. 2007-2008 Compiti di Informatica ESTATE 2008 ARRAY E STRINGHE Scrivere una funzione che carica da tastiera un array di n elementi e lo stampa invertendo il primo elemento con l'ultimo, il
DettagliPolitecnico 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
DettagliOgni parte non cancellata a penna sarà considerata parte integrante della soluzione.
Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 18 luglio 2012 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 3 esercizi
Dettagli10 Funzioni MATLAB. dove: output1, output2,.. sono gli output (opzionali), che, se dichiarati, devono essere inizializzati dalla funzione
Le funzioni in un programma sono utilizzate per strutturare il codice in sottoparti e per evitare di replicare inutilmente il codice. In MATLAB le funzioni vengono identificate con la parola chiave function
DettagliIntroduzione 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
DettagliInformatica B
2013-2014 Matlab Laboratorio del 14/01/2014 Responsabili di laboratorio: Gianluca Durelli: durelli@elet.polimi.it Luigi Malago : malago@di.unimi.it Materiale di laboratorio reperibile all indirizzo: www.gianlucadurelli.com
Dettagli3. Matrici e algebra lineare in MATLAB
3. Matrici e algebra lineare in MATLAB Riferimenti bibliografici Getting Started with MATLAB, Version 7, The MathWorks, www.mathworks.com (Capitolo 2) Mathematics, Version 7, The MathWorks, www.mathworks.com
DettagliRiassunto Nell'esercitazione di oggi e' stata introdotta la codifica binaria naturale, intera e razionale in virgola fissa. Il materiale teorico
Riassunto Nell'esercitazione di oggi e' stata introdotta la codifica binaria naturale, intera e razionale in virgola fissa. Il materiale teorico utilizzato e' disponibile nella Dispensa sulla codifica
DettagliEsercizi su Python. 14 maggio Scrivere una procedura che generi una stringa di 100 interi casuali tra 1 e 1000 e che:
Esercizi su Python 14 maggio 2012 1. Scrivere una procedura che generi una stringa di 100 interi casuali tra 1 e 1000 e che: 1. conti quanti elementi pari sono presenti nella lista; 2. conti quanti quadrati
DettagliERRATA CORRIGE. void SvuotaBuffer(void); void SvuotaBuffer(void) { if(getchar()!=10) {svuotabuffer();} }
ERRATA CORRIGE Pulizia del buffer di input: come fare? (1) Dopo aver richiamato getchar() per prelevare un carattere dal buffer di input, inseriamo una seconda chiamata a getchar(), senza assegnare il
Dettagli1 Esercizi di Matlab. L operatore : permette di estrarre sottomatrici da una matrice assegnata. Vediamo alcuni esempi.
Esercizi di Matlab L operatore : permette di estrarre sottomatrici da una matrice assegnata. Vediamo alcuni esempi. Esempio Consideriamo la matrice A formata da n = righe e m = colonne M = 5 6 7 8. 9 0
DettagliLaboratorio 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 -
DettagliFondamenti di Informatica A.A. 2016/17
Fondamenti di Informatica R i p a s s o A rgo m e nt i M AT L A B Po s s i b i l i S o l u z i o n i P ro f. C h r i st i a n E s p o s i to C o rs o d i L a u re a i n I n g e g n e r i a M e c ca n i
DettagliScilab. Introduzione a Scilab - Vettori. Corso di Informatica CdL: Chimica. Claudia d'amato.
Scilab Corso di Informatica CdL: Chimica Introduzione a Scilab - Vettori Claudia d'amato claudia.damato@di.uniba.it Scilab Introduzione Ambiente matematico e di simulazione numerica sviluppato per la realizzazione
DettagliComplementi di Matematica e Calcolo Numerico A.A Laboratorio 4 - Polinomi e Interpolazione polinomiale
Complementi di Matematica e Calcolo Numerico A.A. 2013-2014 Laboratorio 4 - Polinomi e Interpolazione polinomiale Polinomi e vettori Matlab non prevede un oggetto particolare di tipo polinomio, ma rappresenta
DettagliFondamenti di Informatica T-1 Modulo 2
Fondamenti di Informatica T-1 Modulo 2 1 Obiettivi di questa esercitazione 1. Array e funzioni 2. Array e funzioni ricorsive 3. Array e confronto di array 2 Esercizio 1 Creare un programma che legga da
DettagliEsercitazione 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.
DettagliIntroduzione al MATLAB c Parte 2 Funzioni
Introduzione al MATLAB c Parte 2 Funzioni Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 Funzioni matematiche Assegnazione di funzioni 2 Grafico di funzione in
DettagliVariabile, costante ed espressione
Variabile, costante ed espressione All interno di un programma un informazione può essere organizzata in vari modi: Variabile Costante Espressione Le variabili a loro volta possono essere: scalari vettori
DettagliUNIVERSITÀ 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)
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L algebra
DettagliPON 2007 2013 Liceo Scientifico Leonardo da Vinci. Vallo della Lucania
PON 2007 2013 Liceo Scientifico Leonardo da Vinci Vallo della Lucania Nuovi percorsi matematici: Osservare, descrivere, costruire. Matlab - 2: Lavorare con le matrici Vallo della Lucania 26 Settembre 2008
DettagliLaboratorio di Sperimentazioni di Fisica I MOD A. 14 ottobre 2009
Laboratorio di Sperimentazioni di Fisica I MOD A 14 ottobre 2009 m files Gli m files sono degli script, ossia dei programmi che si eseguono invocandone il nome dalla command window. Non ricevono variabili
DettagliMATLAB 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 è
DettagliMetodi numerici con elementi di Programmazione A.A
Metodi numerici con elementi di Programmazione A.A. 2013-2014 Esercizi svolti in Laboratorio Lezione del 19-11-2013 1 Docente: Vittoria Bruni Email: vittoria.bruni@sbai.uniroma1.it Ufficio: Via A. Scarpa,
DettagliUniversita degli Studi di Siena
Universita degli Studi di Siena Facolta di Ingegneria Dispense del corso di Sistemi di Supporto alle Decisioni I L algoritmo per la risoluzione di problemi di programmazione dinamica Chiara Mocenni Corso
Dettagliprint((math.floor(1345/10)%10); print (Math.floor(1345/100)%10); Le funzioni in JavaScript
Funzioni Funzioni predefinite della libreria matematica Funzioni disponibili: Math.sqrt(x) radice quadrata Math.log(x) logaritmo naturale in base e di x Math.abs(x) valore assoluto di x Math.ceil(x) arrotonda
DettagliEsercitazione 4. Comandi iterativi for, while, do-while
Esercitazione 4 Comandi iterativi for, while, do-while Comando for for (istr1; cond; istr2) istr3; Le istruzioni vengono eseguite nel seguente ordine: 1) esegui istr1 2) se cond è vera vai al passo 3 altrimenti
DettagliOperazioni tra matrici e n-uple
CAPITOLO Operazioni tra matrici e n-uple Esercizio.. Date le matrici 0 4 e dati λ = 5, µ =, si calcoli AB, BA, A+B, B A, λa+µb. Esercizio.. Per ognuna delle seguenti coppie di matrici A, B e scalari λ,
Dettagli10 Funzioni MATLAB. dove. output1, output2,.. sono gli output (opzionali), che, se dichiarati, devono essere inizializzati dalla funzione
Le funzioni in un programma sono utilizzate per strutturare il codice in sottoparti e per evitare di replicare inutilmente il codice. In MATLAB le funzioni vengono identificate con la parola chiave function
DettagliIntroduzione al C. Esercitazione 6. Raffaele Nicolussi. Corso di Fondamenti di Informatica Ingegneria Clinica
Corso di Fondamenti di Informatica Ingegneria Clinica Esercitazione 6 Raffaele Nicolussi Esercizio 1 Si scriva una funzione in linguaggio C che riceve in ingresso un numero intero A letto da tastiera,
DettagliLa simulazione con DERIVE Marcello Pedone LE SIMULAZIONI DEL LANCIO DI DADI CON DERIVE
LE SIMULAZIONI DEL LANCIO DI DADI CON DERIVE Premessa Abbiamo già visto la simulazione del lancio di dadi con excel Vedi: http:///statistica/prob_simu/index.htm Ci proponiamo di ottenere risultati analoghi
DettagliProdotti notevoli Quadrato di un binomio
Prodotti notevoli Con l espressione prodotti notevoli si indicano alcune identità che si ottengono in seguito alla moltiplicazione di polinomi aventi caratteristiche particolari facili da ricordare.. Quadrato
DettagliFondamenti di Informatica A.A. 2016/17
Fondamenti di Informatica R i p a s s o A rgo m e nt i M AT L A B P ro f. C h r i st i a n E s p o s i to C o rs o d i L a u re a i n I n g e g n e r i a M e c ca n i ca e G e st i o n a l e ( C l a s
DettagliEsercitazione 1 Conversione di base
Esercitazione 1 Conversione di base A.A. 2017-18 Esercizio 1 (M) Scrivere un programma che esegua la conversione di un numero reale qualunque da base 10 a base β {2,..., 16}, utilizzando gli M-function
DettagliIntroduzione all ambiente MATLAB. Richiami II. Calcolo Numerico - A.A. 2008/09
Introduzione all ambiente MATLAB Richiami II Programmazione MATLAB MATLAB non è un vero e proprio linguaggio di programmazione, ma permette comunque di realizzare programmi utilizzando le classiche strutture
DettagliAlcune funzioni matematiche utili della libreria <math.h>:
Oggi dovremo di nuovo usare funzioni sui reali. Ma il C non ha operatori nativi del linguggio per queste operazioni, come la radice quadrata, l'elevamento a potenza o l'arrotondamento. Per effettuare questa
DettagliRiepilogo MATLAB. Esercitatore: Daniel Dubois
Riepilogo MATLAB Esercitatore: Daniel Dubois Dichiarazione Variabili Tipo Nome=valore; C Esempi di dichiarazione: int a=5; float f=9.8; char stringa[10]="ciao"; Dopo la dichiarazione le variabili: non
DettagliFacoltà di Ingegneria Industriale. Matlab/Octave - Esercitazione 3
Facoltà di Ingegneria Industriale Laurea in Ingegneria Energetica, Meccanica e dei Trasporti Matlab/Octave - Esercitazione 3 funzioni definizione ed invocazione delle funzioni semantica dell invocazione
DettagliGrafici tridimensionali
MatLab Lezione 3 Grafici tridimensionali Creazione di un Grafico 3D (1/4) Si supponga di voler tracciare il grafico della funzione nell intervallo x = [0,5]; y=[0,5] z = e -(x+y)/2 sin(3x) sin(3y) Si può
DettagliRisoluzione di problemi ingegneristici con Excel
Risoluzione di problemi ingegneristici con Excel Problemi Ingegneristici Calcolare per via numerica le radici di un equazione Trovare l equazione che lega un set di dati ottenuti empiricamente (fitting
DettagliIntroduzione al linguaggio C Puntatori
Introduzione al linguaggio C Puntatori Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica 19 ottobre 2016
DettagliCalcolo Numerico (A.A. 2014-2015) Lab n. 12 Approssimazione 17-12-2014
Calcolo Numerico (A.A. 2014-2015) Lab n. 12 Approssimazione 17-12-2014 1 Approssimazione di dati e funzioni Problema Data la tabella {x i, y i }, i = 0,..., n, si vuole trovare una funzione analitica ϕ
DettagliTipi di dato strutturati: Array
Tipi di dato strutturati: Array I dati visti finora sono: numeri (interi o razionali), booleani le stringhe (sequenze di caratteri) ma i dati manipolati nelle applicazioni reali sono spesso complessi (o
DettagliFondamenti di Informatica
Fondamenti di Informatica Introduzione alla programmazione in MATLAB: Parte 3 Possibili Soluzioni per gli Esercizi Prof. Arcangelo Castiglione A.A. 2016/17 Esercizio 1 (Possibile Soluzione) Scrivere un
DettagliESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi seconde
ESERCIZI DI PROBLEM SOLVING E COMPOSIZIONE DEI DIAGRAMMI DI FLUSSO per le classi seconde vers.3 in lavorazione Docente SAFFI FABIO Contenuti 1. Esercizi generici sul diagramma di flusso - flow chart...2
DettagliUnità Didattica 4 Linguaggio C. Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo.
Unità Didattica 4 Linguaggio C Vettori. Puntatori. Funzioni: passaggio di parametri per indirizzo. 1 Vettori Struttura astratta: Insieme di elementi dello stesso tipo, ciascuno individuato da un indice;
DettagliC: panoramica. Violetta Lonati
C: panoramica Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010 Violetta Lonati
DettagliMATLAB - Programmazione - 2. Antonino Polimeno
MATLAB - Programmazione - 2 Antonino Polimeno antonino.polimeno@unipd.it Manipolazione di matrici - 1 Input di matrici Definizione manuale: A = [1, 2, 3; 7, 8, 9] Generazione da funzioni Lettura da file
DettagliMATLAB I/O. Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA
MATLAB I/O Informatica B - A.A. 2012/2013 ACQUISIZIONE DI INPUT DA TASTIERA Funzione input valore = input( inserisci un valore ); Matlab stampa a video la stringa inserisci un valore ed aspetta di ricevere
DettagliCorso di Geometria BIAR, BSIR Esercizi 2: soluzioni
Corso di Geometria 2- BIAR, BSIR Esercizi 2: soluzioni Esercizio Calcolare il determinante della matrice 2 3 : 3 2 a) con lo sviluppo lungo la prima riga, b) con lo sviluppo lungo la terza colonna, c)
DettagliLe basi del linguaggio Java
Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una
DettagliPiano cartesiano e Retta
Piano cartesiano e Retta 1 Piano cartesiano e Retta 1. Richiami sul piano cartesiano 2. Richiami sulla distanza tra due punti 3. Richiami punto medio di un segmento 4. La Retta (funzione lineare) 5. L
DettagliIntroduzione al MATLAB c Parte 2
Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione
DettagliCORSO DI AZZERAMENTO DI MATEMATICA
CORSO DI AZZERAMENTO DI MATEMATICA 1 LE BASI FONDAMENTALI INSIEMI INSIEMI NUMERICI (naturali, interi, razionali e reali) CALCOLO LETTERALE RICHIAMI DI TRIGONOMETRIA I NUMERI COMPLESSI ELEMENTI DI GEOMETRIA
Dettagli2. Algoritmi e Programmi
12 2. Algoritmi e Programmi Dato un problema, per arrivare ad un programma che lo risolva dobbiamo: individuare di cosa dispongo: gli input; definire cosa voglio ottenere: gli output; trovare un metodo
DettagliMatlab 5. Funzioni. Slide basate sul corso di C. Blundo. A.A. 2010/ GPersiano. Laboratorio di Informatica per Fisici 1
Matlab 5 Funzioni Slide basate sul corso di C. Blundo A.A. 2010/2011 -- GPersiano Laboratorio di Informatica per Fisici 1 Funzioni Le funzioni sono utili quando occorre ripetere una serie di comandi più
Dettagli1) Hamming bound, coset, codici equivalenti
Argomenti della Lezione ) Hamming bound, coset, codici equivalenti 2) Esercizi sui codici lineari a blocchi Osservazione () Per effettuare la decodifica a rivelazione di errore si può seguire una delle
DettagliNUMERI CASUALI E SIMULAZIONE
NUMERI CASUALI E SIMULAZIONE NUMERI CASUALI Usati in: statistica programmi di simulazione... Strumenti: - tabelle di numeri casuali - generatori hardware - generatori software DESCRIZIONE DEL PROBLEMA
DettagliOgni parte non cancellata a penna sarà considerata parte integrante della soluzione.
Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B Appello del 6 Febbraio 2012 COGNOME E NOME RIGA COLONNA MATRICOLA Spazio riservato ai docenti Il presente plico contiene 4 esercizi
DettagliAlgoritmi in C++ (seconda parte)
Algoritmi in C++ (seconda parte) Introduzione Obiettivo: imparare a risolvere problemi analitici con semplici programmi in C++. Nella prima parte abbiamo imparato: generazione di sequenze di numeri casuali
DettagliTraccia 1. Nome Cognome Matricola Firma. Spazio Riservato alla Commissione. Esercizio 1 Esercizio 2 Esercizio 3 Esercizio 4 Esercizio 5 Totale
Nome Cognome Matricola Firma Traccia 1 Spazio Riservato alla Commissione Esercizio 1 Esercizio 2 Esercizio 3 Esercizio 4 Esercizio 5 Totale Appello di Fondamenti di Informatica 12/09/2017 POSSIBILI SOLUZIONI
DettagliMetodi di Analisi dei Dati Sperimentali. AA 2009/2010 Pier Luca Maffettone. Elementi di Matlab
Metodi di Analisi dei Dati Sperimentali AA /2010 Pier Luca Maffettone Elementi di Matlab Sommario Introduzione Variabili Manipolazione di elementi Creazione di vettori/matrici Operazioni elementari Funzioni
DettagliLaboratorio di Calcolo B 68
Generazione di numeri casuali Abbiamo già accennato all idea che le tecniche statistiche possano essere utili per risolvere problemi di simulazione di processi fisici e di calcoli numerici. Dobbiamo però
DettagliDiagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto
Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto 14 1. Dato un numero dire se è positivo o negativo 2. e se il numero fosse nullo? 3. Eseguire il prodotto tra
DettagliMatrici. Matrici.h Definizione dei tipi. Un po di esercizi sulle matrici Semplici. Media difficoltà. Difficili
Matrici Un po di esercizi sulle matrici Semplici Lettura e scrittura Calcolo della trasposta Media difficoltà Calcolo del determinante Difficili Soluzione di sistemi lineari È veramente difficile? 1 Matrici.h
Dettagli9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
9 - Array Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea
Dettagli$QDOLVLGHOSURJUDPPDTXDGUDWR
$QDOLVLGHOSURJUDPPDTXDGUDWR /* */ calcolare l area del quadrato #include main(){ int lato, area; printf("lato "); scanf("%d", &lato); if(lato < 0) printf("errore nei dati \n"); else { area =
DettagliFrazioni algebriche. Osserviamo che un espressione di questo tipo si ottiene talvolta quando ci si propone di ottenere il quoziente di due monomi.
Frazioni algebriche 14 14.1 Definizione di frazione algebrica Diamo la seguente definizione: Definizione 14.1. Si definisce frazione algebrica un espressione del tipo A B polinomi. dove A e B sono Osserviamo
DettagliLezione 6 Introduzione al C++ Mauro Piccolo
Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,
DettagliIntegrazione numerica
Integrazione numerica Lucia Gastaldi DICATAM - Sez. di Matematica, http://lucia-gastaldi.unibs.it Indice 1 Formule di quadratura semplici e composite Formule di quadratura Grado di precisione Formule di
DettagliLaboratorio di Programmazione Lezione 2. Cristian Del Fabbro
Laboratorio di Programmazione Lezione 2 Cristian Del Fabbro Prossima lezione GIOVEDÌ 29 OTTOBRE 14:00 Input da tastiera package input; import java.io.*; public class Input { public static void main(string[]
DettagliESERCITAZIONE MATLAB
ESERCITAZIONE MATLAB Di seguito sono ripostati alcuni esercizi da eseguire in ambiente MatLab. Gli esercizi sono divisi per argomenti. Ogni esercizio è preceduto da una serie di esempi che aiutano nello
DettagliScuola di Calcolo Scientifico con MATLAB (SCSM) 2017
Scuola di Calcolo Scientifico con MATLAB (SCSM) 2017 Palermo 24-28 Luglio 2017 www.u4learn.it Arianna Pipitone Introduzione alla probabilità MATLAB mette a disposizione degli utenti una serie di funzioni
DettagliEsercitazione 3. Espressioni booleane I comandi if-else e while
Esercitazione 3 Espressioni booleane I comandi if-else e while Esercizio Si consideri la seguente istruzione: if (C1) if (C2) S1; else S2; A quali delle seguenti interpretazioni corrisponde? if (C1) if
DettagliProve d esame Esercizi con Matlab
Prove d esame Esercizi con Matlab Andrea Corli 16 settembre 2015 Sono qui raccolti alcuni esercizi relativi a Matlab assegnati nelle prove d esame (dal 2011 al 2014) del Corso di Analisi Matematica I (semestrale,
DettagliA = Quindi > b=a(:) b =
Una breve digressione. Se si vuole uscire da Matlab, occorre digitare ( come già riferito)il comando >> quit Se si vogliono utilizzare le variabili create per una successiva sessione di lavoro, prima di
DettagliEsercitazione 4: Vettori e Matrici
Esercitazione 4: Vettori e Matrici Richiami di teoria: Norme di vettore Principali norme di vettore:. x = n i= x i 2. x 2 = n i= x i 2 3. x = max i n x i Ad esempio dato il vettore x = (, 2, 3, 4) abbiamo.
DettagliMATEMATICA PER LO STUDIO DELLE INTERAZIONI STRATEGICHE: TEORIA DEI GIOCHI. Anna TORRE
MATEMATICA PER LO STUDIO DELLE INTERAZIONI STRATEGICHE: TEORIA DEI GIOCHI Anna TORRE Dipartimento di Matematica, Università di Pavia, Via Ferrata 1, 27100, Pavia, Italy. E-mail: anna.torre@unipv.it 1 SOLUZIONI:
DettagliAnalisi dei segnali nel dominio del tempo
Laboratorio di Telecomunicazioni - a.a. 200/20 Lezione n. 3 Analisi dei segnali nel dominio del tempo L.Verdoliva In questa seconda lezione determiniamo, con l uso di Matlab, i parametri che caratterizzano
DettagliRappresentazione di curve in tre dimensioni
Rappresentazione di curve in tre dimensioni Il comando plot3, con la sintassi >>plot3(x,y,z) Analoga al semplice plot, permette di tracciare nello spazio curve i cui punti hanno coordinate rispettivamente
DettagliFunzioni. function [<risultati>] = nome_funzione ([ par.formali ])
MATLAB Le funzioni Funzioni Con il termine funzione si intende, in generale, un operatore che, applicato a un insieme di operandi, calcola un valore come risultato, esattamente come avviene anche per una
DettagliAlgoritmi in C++ (prima parte)
Algoritmi in C++ (prima parte) Alcuni algoritmi in C++ Far risolvere al calcolatore, in modo approssimato, problemi analitici Diverse tipologie di problemi generazione di sequenze di numeri casuali ricerca
DettagliMatlab. Istruzioni condizionali, cicli for e cicli while.
Matlab. Istruzioni condizionali, cicli for e cicli while. Alvise Sommariva Università degli Studi di Padova Dipartimento di Matematica 17 marzo 2016 Alvise Sommariva Introduzione 1/ 18 Introduzione Il
Dettagli