Politecnico di Milano Facoltà d'Ingegneria Industriale Corso di Laurea in Ingegneria Energetica Corso di Laurea in Ingegneria Meccanica Insegnamento Informatica B Milano Bovisa – Anno Accademico 2013 / 2014 Docente: [email protected] Daniele LOIACONO http://home.dei.polimi.it/loiacono/ Responsabili di laboratorio: [email protected] Gianluca DURELLI http://www.gianlucadurelli.com Luigi MALAGO' [email protected] Sesta lezione di laboratorio – Matlab Martedi' 21 Gennaio 2014 I file che vengono usati negli esercizi sono ottenibili all’indirizzo: – www.gianlucadurelli.com/#teaching – https://beep.metid.polimi.it/web/durelli/infob Problema 1 • Esercizio 1.1 Plottare il grafico della funzione Seno, tra -p_greco e +p_greco sulle ascisse e in un intervallo a scelta sulle ordinate. • Esercizio 1.2 Plottare il grafico della funzione Coseno, tra -2*p_greco e +2*p_greco sulle ascisse e in un intervallo a scelta sulle ordinate. • Esercizio 1.3 Plottare sullo stesso grafico, in intervalli di ascisse e ordinate a scelta, la funziona Seno e la funzione Coseno al quadrato. Nel grafico devono essere contrassegnati con un cerchio rosso tutti i punti della funzione Seno e devono essere contrassegnati con uno star verde tutti i punti del Coseno al quadrato Problema 2 • • Plottare un grafico tridimensionale che abbia sull'asse X la funzione Seno, sull'asse Y la funzione Coseno, e sull'asse Z la funzione identità, in intervalli a scelta. Mostrare anche la griglia del dominio. Problema 3 • Usando la funzione mesh(), disegnare il grafico così caratterizzato: x assume valori da -2 a 2 y assume valori da -2 a 2 si vuole rappresentare la superficie che corrisponde a z = – x2 – y2 Problema 4 • Scrivere in un file .m una funzione che prenda in input una certa funzione ed un certo intervallo e ne disegni l'immagine in un grafico • Scrivere uno script che plotti nell’intervallo [–pi_greco; pi_greco] le seguenti funzioni su di uno stesso grafico utilizzando colori e simboli diversi: sin(x) cos(x) tan(x) sin(x)/x cos(x)^2 + sin(x)^2 Problema 5 • • Scrivere una funzione che calcoli in modo iterativo il valore di Xn (si utilizzino solo moltiplicazioni), dove X ed n costituiscono gli input della funzione Scrivere una funzione che calcoli in modo ricorsivo il valore di Xn (si utilizzino solo moltiplicazioni), dove X ed n costituiscono gli input della funzione Problema 6 • Scrivere una funzione che riceva in input un numero N e faccia le seguenti operazioni: Generi un vettore A di N numeri random tra 0 e 1 Generi un vettore B (diverso da A) di N numeri random tra 0 e 1 Calcoli il vettore C come somma dei quadrati di A e di B elemento per elemento Calcoli il vettore logico D che rappresenta i numeri di C minori o uguali ad 1 Calcoli quanti sono gli elementi che verificano la precedente condizione e salvi il valore in E La funzione ritorna il valore di E moltiplicato per 4 e diviso per N Scrivere uno script che invoca la funzione passandogli potenze crescenti di 10: da 10^0 a 10^7 • Si stampi un grafico dell’andamento dell’output della funzione in relazione al dato N in ingresso Cosa fa questa funzione? E soprattutto come mai fa quello che fa? Problema 7 • • • Si scriva una funzione iterativa per il calcolo del fattoriale di un numero Si scriva l’equivalente funzione ricorsiva per il calcolo del fattoriale Si confronti l’output della funzione factorial di matlab Problema 8 • Si scriva una funzione che ricevuto un numero N in ingresso approssimi il calcolo di e (numero di eulero) secondo la formula seguente: Si implementi la funzione in modo iterativo Si implementi la funzione in modo ricorsivo • Si disegni un grafico che mostri il risultato dell’approssimazione per alcuni valori di N La curva va rappresentata utilizzando una linea rossa con dei pallini per indicare I punti calcolati • Sullo stesso grafico si rappresenti una retta verde per il valore corretto del numero • Da quale valore si ha un errore relativo nel calcolo di e inferiore all’1%: L’errore relativo e’ definito come rapporto tra la misura effettuata e quella attesa • Si disegni sul grafico precedente una linea blu in corrispondenza del valore appena trovato