Laboratorio di Matlab



Documenti analoghi
Laboratorio di Matlab

Laboratorio di Matlab

Laboratorio di MATLAB

Laboratorio 2. Calcolo simbolico, successioni, limiti e derivate

Esempi di uso e applicazioni di Matlab e simulink. 1) Uso delle funzioni ode23 e ode45 per l'integrazione di equazioni differenziali con Matlab

INTRODUZIONE A MATLAB Matrix Laboratory

Fondamenti di Automatica

CAPITOLO 16 SUCCESSIONI E SERIE DI FUNZIONI

Integrazione numerica

Risposta temporale: esercizi

La funzione di trasferimento

Fondamenti di Automatica

UD6 - MATLAB. Gestione della grafica

Fondamenti di Automatica. Unità 2 Calcolo del movimento di sistemi dinamici LTI

Programmazione Matematica classe V A. Finalità

ISTITUTO D ISTRUZIONE SUPERIORE "L. EINAUDI" ALBA

ISTITUTO D ISTRUZIONE SUPERIORE "L. EINAUDI" ALBA ANNO SCOLASTICO 2015/2016

Simulink. Introduzione a Simulink Esempio sull analisi di sistemi dinamici lineari con il Control System Toolbox e Simulink v. file.m e.

Introduzione al MATLAB c Parte 2

2 Argomenti introduttivi e generali

Numeri Complessi. 4. Ricordando che, se z è un numero complesso, zz è un numero reale, mettere sotto la forma. z 2 + 2z + 2 = 0. z 2 + 2z + 6 = 0.

Matematica e Statistica

Controlli Automatici T. Trasformata di Laplace e Funzione di trasferimento. Parte 3 Aggiornamento: Settembre Prof. L.

Nome: Nr. Mat. Firma:

Programma definitivo Analisi Matematica 2 - a.a Corso di Laurea Triennale in Ingegneria Civile (ICI)

Richiami su norma di un vettore e distanza, intorni sferici in R n, insiemi aperti, chiusi, limitati e illimitati.

Insiemi di livello e limiti in più variabili

Cenni sull'impiego di Matlab. Matrici

Derive 5. di Stefania Mannara. Studio di funzione con Derive 5 di Stefania Mannara (SICSI VI CICLO) 1 28/05/2009

Introduzione a SAGE Math

Esercizi svolti. 1. Si consideri la funzione f(x) = 4 x 2. a) Verificare che la funzione F(x) = x 2 4 x2 + 2 arcsin x è una primitiva di

Rappresentazione nello spazio degli stati

Fondamenti di di A utomatica Automatica Prof. Bruno Picasso Introduzione all all uso di di S imulink Simulink

Interpolazione ed approssimazione di funzioni

Dispensa sulle funzioni trigonometriche

EQUAZIONI DIFFERENZIALI. 1. Trovare tutte le soluzioni delle equazioni differenziali: (a) x = x 2 log t (d) x = e t x log x (e) y = y2 5y+6

Istruzioni di base di Simulink Per aprire Simulink si deve digitare all interno della Matlab Command Window il comando: >> simulink

La trasformata Zeta. Marco Marcon

Consideriamo due polinomi

6. Calcolare le derivate parziali prime e seconde, verificando la validità del teorema di Schwarz:

Prova scritta di Controlli Automatici - Compito A

Strumenti per la Progettazione

METODI MATEMATICI PER LA FISICA

a) Il campo di esistenza di f(x) è dato da 2x 0, ovvero x 0. Il grafico di f(x) è quello di una iperbole -1 1

Corso di Matematica per CTF Appello 15/12/2010

FUNZIONI ELEMENTARI - ESERCIZI SVOLTI

Soluzione di equazioni quadratiche

2.5 Stabilità dei sistemi dinamici funzioni di trasferimento, nella variabile di Laplace s, razionali fratte del tipo:

Metodi numerici per la risoluzione di equazioni. Equazioni differenziali ordinarie

MATLAB (1) Introduzione e Operazioni con array

Analisi di sospensioni attive e passive con Matlab-Simulink

Introduzione a Matlab

Forma d onda rettangolare non alternativa.

Numeri Complessi. 4. Ricordando che, se z è un numero complesso, zz è un numero reale, mettere sotto la forma. z 2 + 2z + 2 = 0. z 2 + 2z + 6 = 0.

Capitolo. La funzione di trasferimento. 2.1 Funzione di trasferimento di un sistema. 2.2 L-trasformazione dei componenti R - L - C

Basi di matematica per il corso di micro

Funzioni di trasferimento. Lezione 14 2

PROGRAMMA CONSUNTIVO

CONCETTO DI LIMITE DI UNA FUNZIONE REALE

Politecnico di Milano. Fondamenti di Automatica (CL Ing. Gestionale) a.a Prof. Silvia Strada Prima prova intermedia 28 Novembre 2014 SOLUZIONE

Prova scritta di Controlli Automatici

Diagonalizzazione di matrici e applicazioni lineari

Sistema dinamico a tempo continuo

Control System Toolbox

CAPITOLO 3 FONDAMENTI DI ANALISI DELLA STABILITA' DI SISTEMI NON LINEARI

CLASSE terza SEZIONE H A.S. 14/ 15 PROGRAMMA SVOLTO

Nome: Nr. Mat. Firma:

I appello - 24 Marzo 2006

MATLAB: Una veloce introduzione (Parte II)

SIMULAZIONE TEST ESAME - 1

Segnali e Sistemi. Dispensa integrativa per l insegnamento di Elementi di Controlli Automatici. Gianni Borghesan e Giovanni Marro

Docente: Anna Valeria Germinario. Università di Bari. A.V.Germinario (Università di Bari) Analisi Matematica ITPS 1 / 22

Analisi Matematica 2 per Matematica Esempi di compiti, primo semestre 2011/2012

Psicometria (8 CFU) Corso di Laurea triennale STANDARDIZZAZIONE

Elettronica e Telecomunicazioni Classe Quinta. La trasformata di Laplace

Laboratorio di Fondamenti di Automatica Ingegneria Elettrica Sessione 2/3. Danilo Caporale

Anno 4 Grafico di funzione

Esempio. Approssimazione con il criterio dei minimi quadrati. Esempio. Esempio. Risultati sperimentali. Interpolazione con spline cubica.

RICHIAMI SULLE MATRICI. Una matrice di m righe e n colonne è rappresentata come

Grafico qualitativo di una funzione reale di variabile reale

Catene di Misura. Corso di Misure Elettriche

Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari

Automatica I (Laboratorio)

Università degli Studi di Roma Tor Vergata. Corso di Laurea in Ingegneria Meccanica

Come visto precedentemente l equazione integro differenziale rappresentativa dell equilibrio elettrico di un circuito RLC è la seguente: 1 = (1)

L analisi dei dati. Capitolo Il foglio elettronico

Corso di Matematica per la Chimica

LA FUNZIONE DI TRASFERIMENTO

Matematica 1 - Corso di Laurea in Ingegneria Meccanica

Facoltà di Dipartimento di Ingegneria Elettrica e dell'informazione anno accademico 2014/15 Registro lezioni del docente SPORTELLI LUIGI

Complementi di Analisi per Informatica *** Capitolo 2. Numeri Complessi. e Circuiti Elettrici. a Corrente Alternata. Sergio Benenti 7 settembre 2013

CORSO di AUTOMAZIONE INDUSTRIALE

sezioni incluso Espandi tutto 0. Elementi di matematica elementare (parzialmente incluso) Sezione 0.1: I numeri reali Sezione 0.2: Regole algebriche.

Matrice rappresent. Base ker e img. Rappresentazione cartesiana ker(f) + im(f).

MATLAB (3) - Grafica 2 e 3D

LA CRESCITA DELLE POPOLAZIONI ANIMALI

Programmazione Disciplinare: Calcolo Classe: Quarte - Quinte

Principali comandi MATLAB utili per il corso di Controlli Automatici

Quesiti di Analisi Matematica A

FUNZIONE REALE DI UNA VARIABILE

Transcript:

Laboratorio di Matlab Rudy Manganelli Dipartimento di Ingegneria dell Informazione, Università di Siena manganelli@dii.unisi.it http://www.dii.unisi.it/ control/matlab/labmatlab.html Luglio 2008

DII - Universtità di Siena 1 Symbolic toolbox Il Symbolic Math Toolbox è il toolbox che fornisce gli strumenti per gestire il calcolo simbolico (manipolazione di variabili e risoluzione di espressioni ed equazioni in cui sono trattate variabili di tipo simbolico) in ambiente Matlab Calcolo: - derivate - integrali - limiti - serie di Taylor Algebra Lineare: - matrice inversa - determinante - autovalori - matrice diagonale

DII - Universtità di Siena 2 - rango di una matrice - null-space - polinomio caratteristico Semplificazioni di espressioni algebriche Soluzione di equazioni Trasformazioni integrali: - trasformata di Laplace - trasformata di Fourier - trasformata Z Grafica Per saperne di più... help symbolic

DII - Universtità di Siena 3 Funzioni di base Dichiarazione di variabili simboliche: >> syms x y z crea nel workspace le variabili simboliche x y z Metodo alternativo per creare una variabile simbolica x : >> x = sym( x ); Passaggio da double a variabile simbolica: >> sym(variable_name); trasforma un double in una variabile simbolica (istanza di un oggetto simbolico) Attenzione: c è differenza tra l inserimento della variabile tra apici o no nell utilizzo del comando sym!!! >> A = zeros(4); >> B = sym(a)

DII - Universtità di Siena 4 B= [ 0, 0, 0, 0] [ 0, 0, 0, 0] [ 0, 0, 0, 0] [ 0, 0, 0, 0] Passaggio da variabile simbolica a variabile numerica se l oggetto simbolico è composto solo da numeri si usa il comando double : >> C = double(b) C = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

DII - Universtità di Siena 5 Definizione di funzioni: >> syms x y >> f = 1/exp(sin(xˆ2+yˆ2)) f è ora un oggetto simbolico che rappresenta f(x, y) = 1 e sin(x2 +y 2 )

DII - Universtità di Siena 6 Calcolo Derivate Si utilizza il comando: diff(function,der_variable,der_order) Esempio 1: >> syms x a >> s = sin(a*x); >> dsdx = diff(s,x,1) ans = cos(a*x)*a >> dsdx = diff(s) ans = cos(a*x)*a

DII - Universtità di Siena 7 Esempio 2: >>f = 1/exp(sin(xˆ2+yˆ2)) >> diff(f,x,4) ans = 16/exp(sin(xˆ2+yˆ2))*cos(xˆ2+yˆ2)ˆ4*xˆ4+96/ exp(sin(xˆ2+yˆ2))*cos(xˆ2+yˆ2)ˆ2*xˆ4*sin(xˆ2+yˆ2) -48/exp(sin(xˆ2+yˆ2))*cos(xˆ2+yˆ2)ˆ3*xˆ2+48/ exp(sin(xˆ2+yˆ2))*sin(xˆ2+yˆ2)ˆ2*xˆ4-144/exp(sin(xˆ2+yˆ2))*cos(xˆ2+yˆ2)*xˆ2*sin(xˆ2+yˆ2) -64/exp(sin(xˆ2+yˆ2))*cos(xˆ2+yˆ2)ˆ2*xˆ4+12/ exp(sin(xˆ2+yˆ2))*cos(xˆ2+yˆ2)ˆ2-16/ exp(sin(xˆ2+yˆ2))*sin(xˆ2+yˆ2)*xˆ4+48/ exp(sin(xˆ2+yˆ2))*cos(xˆ2+yˆ2)*xˆ2+12/ exp(sin(xˆ2+yˆ2))*sin(xˆ2+yˆ2)

DII - Universtità di Siena 8 Integrali Calcolo di I(x) = f(x) dx: fint = int(func,var_int); (integrale indefinito) cerca di trovare la funzione fint t.c. diff(fint,x) = func Calcolo di c = b a f(x) dx: (integrale definito) c = int(func,var_int,a,b); Esempio 1: >> syms x a >> s = sin(a*x); >> int(s,x) ans = -1/a*cos(a*x) Esempio 2: >> syms x a >> s = sin(a*x); >> int(s,x,0,2*pi/a) ans = 0

DII - Universtità di Siena 9 Limiti Per calcolare lim f(x) si utilizza: x x +/ 0 k = limit(func,var,val,dir); calcola il limite della funzione func per la variabile var che tende al valore val da destra se dir = right, da sinistra se dir = left Esempio: >> syms x >> limit(diff(abs(x)),x,0, left ) ans = -1 >> limit(diff(abs(x)),x,0, right ) ans = 1

DII - Universtità di Siena 10 Algebra lineare Matrice inversa Data una matrice simbolica A quadrata, voglio determinare B = A 1 : B = inv(a_symb); Esempio: >> syms a b c d >> A = [a b; c d] A = [ a, b] [ c, d] >> B = inv(a) B = [ d/(a*d-b*c), -b/(a*d-b*c)] [ -c/(a*d-b*c), a/(a*d-b*c)]

DII - Universtità di Siena 11 Determinante Data una matrice simbolica A quadrata voglio calcolare il suo determinante: d = det(a); Esempio: >> syms a b c d e f g h i >> A = [a b c; d e f; g h i] A = [ a, b, c] [ d, e, f] [ g, h, i] >> det(a) ans = i*a*e-a*f*h-i*d*b+d*c*h+g*b*f-g*c*e

DII - Universtità di Siena 12 Autovalori Data una matrice simbolica A quadrata voglio calcolare i suoi autovalori: eig(a); Esempio: >> syms a b c d >> A = [a b; c d]; >> eig(a) ans = [1/2*a+1/2*d+1/2*(aˆ2-2*a*d+dˆ2+4*b*c)ˆ(1/2)] [1/2*a+1/2*d-1/2*(aˆ2-2*a*d+dˆ2+4*b*c)ˆ(1/2)]

DII - Universtità di Siena 13 Matrice diagonale Dato un vettore simbolico V di n elementi, voglio creare la matrice diagonale costituita dagli elementi di V : diag(v); Esempio: >> syms a b c d >> V = [a b c d] V = [ a, b, c, d] >> diag(v) ans = [ a, 0, 0, 0] [ 0, b, 0, 0] [ 0, 0, c, 0] [ 0, 0, 0, d]

DII - Universtità di Siena 14 Rango di una matrice Data una matrice simbolica A, voglio calcolare il suo rango: rank(a); Esempio: >> syms a b c d >> A = [a b c; 2*a 2*b 2*c; a d b] A = [ a, b, c] [ 2*a, 2*b, 2*c] [ a, d, b] >> rank(a) ans = 2

DII - Universtità di Siena 15 Semplificazione di espressioni algebriche f = simple(func): ricerca la forma più semplice di una espressione simbolica. f = simplify(func): semplificazione standard. f = subs(func,{var1 var2...},{val1 val2...}) sostituisce alle variabili var1,var2,... dell espressione func i valori corrispondenti val1,val2,... Esempio: >> syms a b c d >> A = [a b 0; c d 0; 0 0 3] A = [ a, b, 0] [ c, d, 0] [ 0, 0, 3]

DII - Universtità di Siena 16 >> v = subs(eig(a),{b c},{0 0}) v = [ 3] [1/2*a+1/2*d+1/2*(aˆ2-2*a*d+dˆ2)ˆ(1/2)] [1/2*a+1/2*d-1/2*(aˆ2-2*a*d+dˆ2)ˆ(1/2)] >> simple(v) ans = [3] [a] [d]

DII - Universtità di Siena 17 Soluzione di equazioni z = solve(func,var) Determina le radici dell equazione func = 0 rispetto alla variabile var. Esempio 1: >> syms x a b c >> f = a*xˆ2+b*x+c f = a*xˆ2+b*x+c >> solve(f,x) ans = [ 1/2/a*(-b+(bˆ2-4*c*a)ˆ(1/2))] [ 1/2/a*(-b-(bˆ2-4*c*a)ˆ(1/2))]

DII - Universtità di Siena 18 Esempio 2: >> syms x a >> f2 = log(x)-1/5*xˆ2-a f2 = log(x)-1/5*xˆ2-a >> solve(f2,x) ans = 1/2*(-2*lambertw(-2/5*exp(2*a)))ˆ(1/2)*5ˆ(1/2)

DII - Universtità di Siena 19 Grafica ezplot ezplot: disegna funzioni di una variabile f(x) : R R ezplot(fun,[min_val max_val]): disegna la funzione fun nel dominio [min_val max_val] Esempio: >> syms x >> f = 5*sin(x)ˆ2+xˆ2; >> ezplot(f,[-pi pi])

DII - Universtità di Siena 20 ezplot3 ezplot3(var_x,var_y,var_z,[t_min t_max]): traccia traiettorie f(t) : R R 3 Esempio 1: >> syms t >> ezplot3(sin(t),t,cos(t),[-5*pi 5*pi]) Esempio 2: >> syms t >> ezplot3(t,sin(t),cos(t)ˆ2,[-3*pi 3*pi])

DII - Universtità di Siena 21 ezmesh, ezsurf ezmesh(fun,[x_min x_max y_min y_max]): traccia griglie superficiali per funzioni f(x, y) : R 2 R sul dominio [x_min x_max y_min y_max] ezsurf(fun,[x_min x_max y_min y_max]): traccia superfici per funzioni f(x, y) : R 2 R sul dominio [x_min x_max y_min y_max] Esempio: >> syms x y >> ezmesh(sin(x+y)) >> ezsurf(sin(x+y),[-2*pi 2*pi -2*pi 2*pi])

DII - Universtità di Siena 22 Esercizio 9 1. definire la funzione f(x, y, z) = e sin(x+y) + z 2 come oggetto simbolico 2. Calcolare il gradiente f(x, y, z) ed la matrice Hessiana H(f(x, y, z)) 3. plottare f(x, y) = f(x, y, z) z=3 4. plottare f(y, z) = f(x, y, z) x=2y 5. plottare f(x, y) = f(x, y, z) x=y 2 ; z= x

DII - Universtità di Siena 23 Simulink Simulink è un pacchetto software di Matlab che permette di simulare ed analizzare sistemi in cui ingressi e uscite variano nel tempo. Simulink si basa su una procedura in due passi: Creazione di un modello grafico del sistema tramite utilizzo dell editor di modelli Simulink. In questa fase l utente specifica le relazioni matematiche che intercorrono tra gli ingressi e le uscite del sistema. Simulazione delle proprietà del sistema in un intervallo temporale fissato dall utente.

DII - Universtità di Siena 24 Operazioni di base - Creazione di un nuovo modello - Aggiunta dei blocchi necessari (drag & drop) - Collegamento dei blocchi (drag & drop) - Settaggio del tempo di simulazione - Salvataggio del modello - Lancio della simulazione

DII - Universtità di Siena 25 Blocchi standard Sources Sinks Continuous Discrete Math Operations Signal Routing User-Defined Functions Subsystems

DII - Universtità di Siena 26 Sources Constant : genera un segnale costante con valore regolabile. Ramp : genera il segnale rampa con pendenza regolabile. Random Number : genera un segnale random con distribuzione guassiana, con media e varianza regolabili. Sine : genera il segnale A sin(ω t + φ) + c. Step : genera il segnale gradino con valore iniziale, finale ed istante di attivazione regolabili. Clock : genera in uscita il tempo di simulazione. From Workspace : genera in uscita un segnale a partire da una variabile definita nel workspace: var_in = [sig_time signal], dove sig_time e signal sono due vettori colonna.

DII - Universtità di Siena 27 Esempio: >> t = 1:0.01:10; >> var_in = [t sin(t) ]; Sinks Scope : visualizza l andamento temporale del segnale in ingresso. To File : dato un segnale in ingresso genera un file.mat costituito da due vettori: il vettore dei tempi di simulazione ed il segnale. To Workspace : dato un segnale in ingresso genera in uscita una variabile di tipo struttura od array contenente il segnale ed eventualmente il tempo di simulazione. XY Graph : genera la traiettoria di un punto in R 2.

DII - Universtità di Siena 28 Continuous Derivative : calcola la derivata del segnale di ingresso. Integrator : calcola l integrale del segnale di ingresso. Transfer Fcn : simula il sistema specificato tramite la funzione di trasferimento N(s)/D(s). Zero-Pole : simula il sistema specificato tramite una funzione di trasferimento definita a partire da zeri e poli. State-Space : simula il sistema specificato tramite la sua rappresentazione di stato. Transport Delay : applica un ritardo specificato al segnale di ingresso.

DII - Universtità di Siena 29 Discrete Unit delay : ritarda il segnale tempo-discreto in ingresso di un istante di campionamento. Discrete Integrator : genera l integrale tempo-discreto del segnale di ingresso. Discrete Fcn : simula il sistema tempo-discreto specificato tramite una funzione di trasferimento N(z) D(z). Discrete Z-P : simula il sistema tempo-discreto specificato tramite una funzione di trasferimento definita a partire da zeri e poli. Discrete S-S : simula il sistema tempo-discreto specificato tramite la sua rappresentazione di stato.

DII - Universtità di Siena 30 Math Operation Abs : genera in uscita il valore assoluto del segnale in ingresso. Gain : genera in uscita il segnale di ingresso moltiplicato per un parametro (guadagno) k regolabile. Sum : genera come segnale di uscita la somma dei segnali ingressi, con numero di ingressi e segni regolabile. Trigonometric : genera come segnale di uscita la funzione trigonometrica del segnale di ingresso specificata. Math Function : genera in uscita una delle funzioni elementari predefinite in Matlab, calcolata sul segnale di ingresso. Matrix Concaten. : genera in uscita la concatenazione di più segnali in ingresso. Matrix Gain : genera in uscita il segnale in ingresso moltiplicato per una data matrice.

DII - Universtità di Siena 31 Signal Routing Mux : genera in uscita un segnale multiplo (bus), costituito dall unione di più segnali di ingresso. Demux : genera più segnali in uscita a partire da un segnale multiplo (bus) in ingresso. User-Defined Functions Fcn : genera in uscita una qualsiasi funzione del segnale di ingresso (u) definita dall utente. Matlab Fcn : genera in uscita una qualsiasi funzione Matlab predefinita del segnale di ingresso (u).

DII - Universtità di Siena 32 Discontinuities Saturation : limita il segnale di ingresso in un intervallo fissato dall utente. Subsystems Subsystem : permette all utente di costruire sotto blocchi simulink (utile con schemi simulink complessi).

DII - Universtità di Siena 33 Esercizio 10 - Simulink 1. Creare uno schema a blocchi che: genera una rampa di pendenza 5, con display alla rampa sommare uno scalare k variabile nel workspace e farne il display congiuntamente con il precedente 2. Generare uno schema a blocchi che: genera il segnale y(t) = sin(2t) su un orizzonte t [0, 4π] genera il segnale z 1 (t) = d dt y(t) genera il segnale z 2 (t) = y(t + π 2 ) genera il segnale z 3 (t) = y(t)dt

DII - Universtità di Siena 34 Esercizio 11 - Simulink k f m 0 x Si consideri il sistema massa-molla riportato in figura. Supponendo che sia applicato in ingresso al sistema un gradino unitario, si simuli il sistema dinamico visualizzando l andamento temporale della posizione x della massa. Si supponga che la massa m = 1.5 Kg, la costante elastica della molla k = 10 3 N/m e x(0) = ẋ(0) = 0. (Suggerimento: mẍ + kx = f ).

DII - Universtità di Siena 35 k f β m 0 x Si consideri il sistema massa-molla-smorzatore riportato in figura. Supponendo che la costante di smorzamento della molla β = 0.8 Nms, si simuli il sistema dinamico visualizzando l andamento temporale della posizione x della massa. Fissare gli altri parametri come nel punto precedente. (Suggerimento: mẍ + βẋ + kx = f ).