DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Diagrammi 2D e 3D Funzioni di ordine superiore Marco D. Santambrogio – Ver. aggiornata.

Slides:



Advertisements
Presentazioni simili
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array, matrici Marco D. Santambrogio – Ver. aggiornata al 21 Marzo 2013.
Advertisements

Metodi numerici in Matlab
MATLAB.
MATLAB. Outline Grafica 2D Esercizi Grafica 3D Esercizi.
MATLAB.
Dipartimento di Matematica
3 a lezione - laboratorio a.a Corso di Laurea Ingegneria MECCANICA.
Linguaggio MATLAB: costrutti tipici (IF,WHILE…)
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Stringhe e tipi di dati strutturati Marco D. Santambrogio – Ver. aggiornata al.
Process synchronization
MATLAB.
Metodi FEM per problemi ellittici
FEM -2 Gabriella Puppo.
Metodi FEM per problemi ellittici lineari a tratti Gabriella Puppo.
Metodi FEM in 2D G. Puppo.
Trimr Gauss, tra le altre, fornisce una preziosissima funzione che risulta di estrema utilità nell’ambito matriciale. Questa funzione, chiamata trimr(x,t,b),
Creazione di matrici Delimititatore di riga Delimititatore di matrice
Introduzione alla programmazione ll
Studente Claudia Puzzo
Algebra Lineare Esercizi assegnati.
INTRODUZIONE A MATLAB.
INTRODUZIONE A MATLAB LEZIONE 4 Sara Poltronieri slide3.4 matlabintro
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
SOLUZIONE GRAFICA DI DISEQUAZIONI DI SECONDO GRADO
Diagrammi 2D e 3D Funzioni di ordine superiore
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Input/output 1 Marco D. Santambrogio – Ver. aggiornata al 2 Dicembre 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Script 1 Marco D. Santambrogio – Ver. aggiornata al 2 Dicembre 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sottoprogrammi Marco D. Santambrogio – Ver. aggiornata al 20 Dicembre 2013.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 8 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
File e Funzioni Si possono distinguere tre tipi di file che vengono utilizzati in MATLAB: M-file: hanno estensione .m e in essi vengono memorizzati i.
Milano, 17 Dicembre 2013 Informatica B Informatica B Matlab Laboratorio del 14/01/2014 Responsabili di laboratorio: Gianluca Durelli:
Il linguaggio Fortran 90: 3. Procedure e Funzioni
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
Analisi di Immagini e Dati Biologici Introduzione al linguaggio di MATLAB/OCTAVE Parte 2 16 L5.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: 24 Aprile 2014 Marco D. Santambrogio – Gianluca Durelli –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4: 10 Aprile 2014 Marco D. Santambrogio – Gianluca Durelli –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 11 Ottobre 2014.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 7 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Strumenti per il calcolo numerico Matlab/Octave Marco D. Santambrogio – Ver. aggiornata.
Cosa sono i Fogli Elettronici? Software applicativo nato dall’esigenza di –organizzare insiemi di dati tramite tabelle, schemi, grafici, ecc. –effettuare.
Algoritmi e basi del C Struttura di un programma
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Puntatori Marco D. Santambrogio – Ver. aggiornata al 11 Marzo 2014.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5 – Info B Marco D. Santambrogio – Riccardo Cattaneo –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 2 L Aprile 2015 Marco D. Santambrogio – Gianluca Durelli -
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA Lab 5: 18 Maggio 2015 Marco D. Santambrogio – Gianluca Durelli –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: 14 Aprile 2014 Marco D. Santambrogio – Gianluca Durelli –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5 – Info B Marco D. Santambrogio – Matteo Ferroni –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4 – Info B Marco D. Santambrogio – Matteo Ferroni –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 4 – Info B Marco D. Santambrogio – Matteo Ferroni –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5 – Info B Marco D. Santambrogio – Matteo Ferroni –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Strutture di controllo Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6 – Info B Marco D. Santambrogio – Matteo Ferroni –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sottoprogrammi Marco D. Santambrogio – Ver. aggiornata al 14 Dicembre 2015.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Sottoprogrammi Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
APPUNTI DI GEOMETRIA ANALITICA DELLA RETTA
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 6 – Info B Marco D. Santambrogio – Matteo Ferroni –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array n-dimensionali e tipi di dati strutturati Marco D. Santambrogio – Ver. aggiornata.
Parte 5 Sommario Uso routine di calcolo predefinite di Matlab –Risoluzione equazioni non lineariRisoluzione equazioni non lineari –Ricerca minimo di una.
Diagrammi 2D e 3D Funzioni di ordine superiore
Diagrammi 2D e 3D Funzioni di ordine superiore
Process synchronization
Process synchronization
Process synchronization
Diagrammi 2D e 3D Funzioni di ordine superiore
Process synchronization
Transcript della presentazione:

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Diagrammi 2D e 3D Funzioni di ordine superiore Marco D. Santambrogio – Ver. aggiornata al 12 Gennaio 2016

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONELogistica Appello != compitino 2

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONELogistica Appello != compitino (in teoria) 3

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONELogistica Appello != compitino (in teoria) In pratica:  Appello del 4 Feb = 2ndo compitino 4

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONELogistica Appello != compitino (in teoria) In pratica:  Appello del 4 Feb = 2ndo compitino  Non hai passato il 1mo compitino? 5

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONELogistica Appello != compitino (in teoria) In pratica:  Appello del 4 Feb = 2ndo compitino  Non hai passato il 1mo compitino?  Ci si vede al 18 Feb 6

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEObiettivi Diagrammi 2D e 3D Funzioni di ordine superiore 7

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Diagrammi 2D Diagramma = insieme di coppie rappresentanti le coordinate dei suoi punti Si usano vettori per contenere sequenze ordinate dei valori di ognuna delle coordinate plot(x,y) disegna diagramma cartesiano dei punti che hanno  valori delle ascisse in x, delle ordinate in y  e li congiunge con una linea, per dare continuità al grafico funzioni xlabel per visualizzare nome asse ascisse, ylabel per ordinate, title per il titolo 8

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Diagrammi 2D: 1mo esempio 9 >> x = -10:0.1:10; >> y=x.^3; >> plot(x,y); >> xlabel('ascisse'); >> ylabel('ordinate'); >> title('cubica');

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Diaggrami 2D: 2do esempio 10 >> x=[-8:0.1:8]; >> y= sin (x)./ x; >> plot(x, y); >> xlabel('ascisse'); >> ylabel('ordinate');

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEParticolarità plot(x,y)  x non contiene necessariamente un intervallo lineare uniforme di valori  y non è necessariamente funzione di x Sia x sia y possono essere funzioni di qualche altro parametro 11

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Particolarità: esempio 1 12 >> t=[0:pi/100:2*pi]; >> x=cos(t); >> y=sin(t); >> plot(x,y); >> xlabel('ascisse-x'); >> ylabel('ordinate-y');

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Particolarità: esempio 2 13 >> t=[0:pi/100:10*pi]; >> x=t.* cos(t); >> y=t.* sin(t); >> plot(x,y); >> xlabel('ascisse-x'); >> ylabel('ordinate-y'); 10*pi  5 giri t  10*pi  dist.max da origine 31,4

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Diagrammi lineare a 3 dimensioni 14 >> t = 0:0.1:10*pi; >> plot3 (t.*sin(t), t.*cos(t), t); >> xlabel('ascisse'); >> ylabel('ordinate'); >> zlabel('quote'); Generalizzazione di quello a due: insieme di terne etc…  plot3(x,y,z) per digramma cartesiano con x ascisse, y ordinate, z quote  funzioni xlabel, ylabel, zlabel, title …

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Diagrammi lineare a 3 dimensioni: funzione di mesh Funzione reale di due variabili reali z = f (x, y)  rappresentata in uno spazio cartesiano tridimensionale è una superficie funzione mesh genera superficie, a partire da tre argomenti: matrici xx, yy, zz che contengono ascissa (valore di x), ordinata (y) e quota (z)  per ogni punto di una griglia corrispondente a un rettangolo del piano xy  ll rettangolo è identificato dalla coppia di matrici xx e yy Le due matrici, xx, e yy, si ottengono, mediante la funzione meshgrid(x,y), a partire da vettori, x e y, che contengono i valori delle ascisse e delle ordinate  il rettangolo nel piano è determinato da x e y  l’insieme delle coordinate dei suoi punti è il prodotto cartesiano di x e y 15

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE meshgrid: come funziona A partire da vettori, x e y, che contengono i valori delle ascisse e delle ordinate [xx,yy]=meshgrid(x,y) genera due matrici entrambe di legth(y) righe × length(x) colonne  la prima, xx, contiene, ripetuti in ogni riga, i valori di x  la seconda, yy, contiene, ripetuti in ogni colonna, i valori di y’ (y trasposta) 16

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE meshgrid: un esempio funzione z = x + y grafico in 6 punti di ascisse {1, 3, 5} e ordinate {2, 4} 17 >> x=[1, 3, 5]; >> y=[2, 4]; >> [xx,yy]=meshgrid(x,y); >> zz=xx+yy; >> mesh(xx,yy,zz); >> xlabel('ascisse-x'); >> ylabel('ordinate-y'); >> xx xx = >> yy yy = >> zz zz = Punti di coordinate (x,y)… (1,2) (3,2) (5,2) (1,4) (3,4) (5,4) …hanno coordinate (x,y,z) (1,2,3) (3,2,5) (5,2,7) (1,4,5) (3,4,7) (5,4,9) (NB: z=x+y)

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEVantaggi Il vettore con le z ottenuto con espressione uguale alla forma algebrica della funzione I vettori x e y da dare in pasto a meshgrid non si producono “a mano”  si ottengono con costrutto [v min :  : v max ] o altri simili… tipicamente si adotta una spaziatura uniforme tra i valori attenzione a non usare valore  troppo piccolo, altrimenti memoria insuffciente… 18

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE meshgrid: un secondo esempio 19 >> x=[1:1:3]; >> y=x; >> [xx,yy]=meshgrid(x,y) ; >> zz=xx+yy; >> mesh(xx,yy,zz); >> xlabel('x'); >> ylabel('y'); >> zlabel('z');

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE meshgrid: un paraboloide 20 >> x=[-4:0.05:4]; >> y=x; >> [xx,yy]=meshgrid(x,y); >> zz=xx.^ 2 + yy.^ 2; >> mesh(xx,yy,zz); >> xlabel('ascisse-x'); >> ylabel('ordinate-y'); >> zlabel('quote-z');

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE meshgrid: il Sombrero! 21 >> tx=[-8:0.1:8]; >> ty=tx; >> [xx, yy] = meshgrid (tx, ty); >> r = sqrt (xx.^ 2 + yy.^ 2); >> tz = sin (r)./ r; >> mesh (tx, ty, tz); >> xlabel('ascisse'); >> ylabel('ordinate'); >> zlabel('quote');

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Variabili e funzioni di ordine superiore Versioni recenti di Matlab definiscono in modo pieno il tipo “funzione”, permettendo di  assegnare a variabili valori di tipo “funzione”  definire funzioni che ricevono parametri di tipo “funzione” Cosa si può fare con un valore di tipo funzione?  assegnarlo a una variabile (quindi passarlo come parametro)  applicarlo a opportuni argomenti: si ottiene una invocazione della funzione 22 / 44

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE handle: esempi Valori di tipo funzione denotati da variabili dette handle (riferimento / maniglia) A una handle possono essere assegnati valori di tipo funzione in due modi 1.indicando il nome di una funzione esistente (definita dall’utente o predefinita) 2.mediante la definizione ex novo di una funzione anonima 23 / 44

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE handle (1) Indicando il nome di una funzione esistente (definita dall’utente o predefinita) È semplice: nome della funzione (posto dopo denota la funzione stessa 24 >> f >> f(4) ans = 24 >> seno >> seno(pi/2) ans = 1

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE handle (2) Mediante la definizione ex novo di una funzione anonima Espressione di tipo funzione:   lista dei parametri di ingresso, tra parentesi tonde  espressione che dà il risultato come funzione degli ingressi 25 >> sq >> sq(8) ans = 64

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Funzioni di ordine superiore Se il parametro attuale di una funzione F è di tipo funzione allora il parametro formale f  è una handle  può essere usato per invocare la funzione passata tramite il parametro La funzione F è una funzione di ordine superiore È possibile realizzare funzioni di ordine superiore per realizzare funzioni  parametriche rispetto a un’operazione  rappresentata a sua volta da una funzione 26

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Esempio di funzione di ordine superiore funzione di ordine superiore maxDiFunzione  Riceve come parametri f funzione di una variabile reale gli estremi a e b di un intervallo valore d (da usare come passo di incremento) Trova il valore massimo M e la sua ascissa (approssimati) della funzione f in [a..b] applicandola in tutti i punti tra a e b, con un intervallo di scansione d 27

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONEmaxDiFunzione 28 function [M,xM]=maxDiFunzione(f, a, b, d) xM=a; M=f(xM); for x = a+d:d:b if f(x)>M xM=x; M=f(x); end; end >> >> maxDiFunzione(f, -2, 2, 0.01) ans = 2

DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Fonti per lo studio + Credits Fonti per lo studio  Introduzione alla programmazione in MATLAB, A.Campi, E.Di Nitto, D.Loiacono, A.Morzenti, P.Spoletini, Ed.Esculapio Capitolo 4 Credits  Prof. A. Morzenti 29