P. 1
Introduzione a Matlab

Introduzione a Matlab

|Views: 30|Likes:
Published by Stefano Lenci

More info:

Published by: Stefano Lenci on Apr 23, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

12/27/2012

pdf

text

original

INTRODUZIONE A

Guido Vagliasindi

Controlli Automatici A.A. 06/07

Introduzione a MATLAB

Documentazione
• Sito web di Mathworks: www.mathworks.com seguendo i link alla voce “support” e’ possibile trovare i manuali di Matlab in formato pdf. (http://www.mathworks.com/access/helpdesk/help/techd oc/matlab.shtml) • Un testo in italiano di introduzione a matlab e Simulink: Guida Operativa a MATLAB, SIMULINK e Control Toolbox Alberto Cavallo, Roberto Setola, & Francesco Vasca Liguori Editore, 1994
Guido Vagliasindi Controlli Automatici A.A. 06/07 Introduzione a MATLAB

OUTLINE
• Descrizione generale di MATLAB • Quadro delle funzioni predefinite • Definizione di matrici e vettori • Definizione di polinomi • Rappresentazione di sistemi dinamici lineari • Analisi di sistemi di controllo • Rappresentazione grafica dei dati

Guido Vagliasindi

Controlli Automatici A.A. 06/07

Introduzione a MATLAB

Descrizione generale di Matlab
• MATrix LABoratory • Software esplicitamente realizzato per manipolazione di matrici • Interattivo → Interprete di comandi • Elemento base: matrice (che non richiede dimensionamento) • Sviluppato agli inizi degli anni '80, come sottoprodotto dei progetti LINPACK ed EISPACK, da The MathWorks Inc.

Guido Vagliasindi

Controlli Automatici A.A. 06/07

Introduzione a MATLAB

A.Interfaccia MATLAB Workspace COMMAND WINDOW History Guido Vagliasindi Controlli Automatici A. 06/07 Introduzione a MATLAB .

Sono presenti vari esempi dimostrativi accessibili digitando demos nella riga di comando. 06/07 Introduzione a MATLAB . Infine si può utilizzare la funzione lookfor per cercare all’interno della descrizione delle varie funzioni una parola chiave. Guido Vagliasindi Controlli Automatici A.A. Digitando invece help nome_funzione viene restituita la sintassi d’uso della funzione e una descrizione della stessa.Help di MATLAB E’ disponibile un aiuto in linea accessibile direttamente dalla riga di comando. E’ possibile anche utilizzare l’help di windows associato al programma MATLAB. Digitando help nella riga di comando vengono restituite tutte le funzioni.

numeri e i caratteri speciali che non hanno un corrispondente significato come operatori in MATLAB (praticamente solo l’underscore _).A. E' opportuno non utilizzare i nomi delle funzioni predefinite da MATLAB. Per assegnare una variabile non è necessaria una precedente dichiarazione. • • Guido Vagliasindi Controlli Automatici A.VARIABILI • • MATLAB supporta nomi di variabili sino a 63 caratteri ed è case sensitive. 06/07 Introduzione a MATLAB . ciò comporta l'annullamento del significato prestabilito da MATLAB per quella funzione e di conseguenza un messaggio di errore. E’ possibile utilizzare lettere. La variabile deve sempre cominciare con una lettera.

A. Utilizzando la funzione who viene restituita la lista di variabili definite nel workspace. Variabili speciali: – – – – eps = 2-52 rappresenta l'accuratezza ∞ (o Inf) infinito NaN risultato di 0/0 (Not A Number) pi π Controlli Automatici A. il numero di bytes occupati e la classe.VARIABILI • • Posso visualizzare il contenuto di una variabile inserendone semplicemente il nome dalla riga di comando. 06/07 Introduzione a MATLAB • • Guido Vagliasindi . La funzione whos fornisce anche una descrizione delle stesse indicandone anche la dimensione. Ans è una variabile di MATLAB dove viene memorizzato il risultato di una eventuale operazione se non viene specificata una variabile a cui assegnare il risultato.

(niente spazi tra i termini) N. ^ (elevamento a potenza) Uso "normale" delle parentesi per cambiare la priorità tra gli operatori MATLAB consente l'uso di numeri complessi: si usa il simbolo "i" o "j" per indicare la parte immaginaria. / (divisione destra). -. 06/07 Introduzione a MATLAB . \ (divisione sinistra). La dichiarazione di variabili complesse avviene moltiplicando la parte complessa per "i" o "j" e sommando la parte reale: » z = 3+4*i.B.VARIABILI • • • • • • Range: da 10-308 a 10+308 Accuratezza: 16 cifre decimali Operatori: +. *. E’ equivalente usare z=3+4i.A. Tutte le funzioni MATLAB accettano variabili complesse come ingressi Guido Vagliasindi Controlli Automatici A.

assegnazione di lista di elementi generate da funzioni built-in create con un programma (m-file) caricate da file esterni (di dati) • Guido Vagliasindi Controlli Automatici A.A. c. 06/07 Introduzione a MATLAB . In particolare uno scalare sarà una matrice (1x1) mentre un vettore sarà una matrice con una sola colonna (nx1) o con una sola riga (1xn). d.MATRICI • Qualunque variabile è considerata in MATLAB come una matrice. b. Una matrice può essere inserita in MATLAB in diverse maniere: a. anche gli scalari e i vettori.

A. Assegnazione di lista di elementi Bisogna: • Separare gli elementi di una riga con spazi vuoti o virgole. 4.8. 06/07 Introduzione a MATLAB .MATRICI a. 4 5 6. 7. • Racchiudere l’elenco intero di elementi tra parentesi quadre » A=[1 2 3.2. • Usare un punto e virgola “. Guido Vagliasindi Controlli Automatici A. Una volta fornita la matrice essa sarà memorizzata nel workspace e richiamabile semplicemente digitanto “A” e “invio” nella CW.6.5.” o un “invio” per indicare la fine di ciascuna riga.9]↵ A= » A=[1 2 3 ↵ 123 456 456↵ 789 7 8 9]↵ » Se alla fine di ciascuna assegnazione metto un “. 7 8 9]↵ » A=[1.3.” non c’è echo.

Generate da funzioni built-in L’output di alcune funzioni MATLAB è costituito da una matrice. ones(n.n) -> matrice identita’ nxn. rand(n. Create con un programma In MATLAB è possibile scrivere degli script definiti m-files che contengono al loro interno una sequenza di comandi elementari o chiamate a funzioni che vengono poi interpretate da MATLAB come se venisse scritta nella command window. 06/07 Introduzione a MATLAB .m) -> matrice di zeri nxm. zeros(n.A. Guido Vagliasindi Controlli Automatici A.m) -> matrice nxm con elementi distribuiti uniformemente tra 0 e 1. Alcune funzioni elementari che restituiscono una matrice come uscita sono: – – – – eye(n.MATRICI b. c.m) -> matrice di uni nxm.

mat semplicemente con il comando save nome_file E’ possibile richiamare le variabili salvate precedentemente con un save o contenute in file di dati ottenuti attraverso altri programmi o acquisizioni con i comandi load nome_file lista_variabili <opzioni> load nome_file <opzioni> Per un dettaglio delle opzioni.A. digitare help load e help save nella command window Guido Vagliasindi Controlli Automatici A. 06/07 Introduzione a MATLAB . Caricate da file esterni (di dati) Ciascuna variabile contenute nel workspace possono essere salvate su disco con il comando save nome_file lista_variabili <opzioni> E’ possibile salvare tutto il workspace nel file nome_file.MATRICI d.

MATRICI E’ possibile accedere ai singoli elementi della matrice specificando la riga e la colonna.2) ans = 1 2 3 ans = 2 5 8 • E’ anche possibile selezionare porzioni di matrice con la seguente sintassi » A(1:2.2:3) ans= 23 56 Guido Vagliasindi Controlli Automatici A.A.2) ans = 2 • E’ possibile selezionare intere righe o intere colonne della matrice utilizzando la wildcard “:” » A(1. 06/07 Introduzione a MATLAB • .:) » A(:. » A(1.

com e scaricare i manuali dei singoli toolbox. log.A.mathworks. Per maggiori informazioni è possibile visitare il sito http://www. log10. real -> parte reale. tan. Guido Vagliasindi Controlli Automatici A. asin. angle -> fase. 06/07 Introduzione a MATLAB . atan…) Esponenziale e logaritmo (exp. acos. sqrt…) Numeri complessi (abs -> modulo.Funzioni in MATLAB • • • MATLAB prevede un gran numero di funzioni matematiche standard Funzioni trigonometriche (sin. imag -> parte immaginaria…) Per un elenco delle funzioni matematiche elementari digitare help elfun per un elenco più avanzato help specfun o help elmat Esistono anche funzioni più complesse. cos. realizzate tramite m-file e raccolte in forma di libreria dette “toolbox”.

06/07 Introduzione a MATLAB . »y=x+1 » B = [2 1. » x = [1 2 3]'.Operazioni su matrici Sono definite le normali operazioni aritmetiche: addizione + divisione / • sottrazione moltiplicazione * elevamento a potenza ^ ADDIZIONE E SOTTRAZIONE Le operazioni si possono effettuare tra elementi della stessa dimensione ed elementi di dimensioni diverse. 1 2]. y=2 » A-B » A+B 3 ans = ans = 4 -1 1 33 1 -1 33 Guido Vagliasindi Controlli Automatici A. Esempio : » A = [1 2 . 2 1].A.

06/07 Introduzione a MATLAB . » a=2. » x*A » ans 5 4 » A = [1 2 .A. 1 2].Operazioni su matrici • PRODOTTO Anche in questo caso ci possono essere diverse combinazioni. 2 1]. Matrice * Matrice Matrice * Vettore Matrice * Scalare » A = [1 2 . 2 1]. » a*A » ans 2 4 4 2 Guido Vagliasindi Controlli Automatici A. » B = [2 1. » x = [1 2]. 2 1]. » A*B » ans= 4 5 5 4 » A = [1 2 .

.*A se p intero Guido Vagliasindi Controlli Automatici A.. non singolare): A\B equivale a: A-1B ≡ inv(A)*B B/A equivale a: BA-1 ≡ B*inv(A) Si usa nella soluzione di sistemi di equazioni lineari: x = B/A soluzione di x*A = B x = A\B soluzione di A*x = B • ELEVAMENTO A POTENZA Sia A matrice quadrata.Operazioni su matrici • DIVISIONE Sia A invertibile (quadrata. p uno scalare (non necessariamente intero) A^p p-esima potenza di A ovvero A*A*A*. 06/07 Introduzione a MATLAB .A...

Se applicato ad un vettore lo trasforma da riga a colonna e viceversa.. logm(A) e sqrtm(A) operano invece sulle matrici nella loro globalità: expm(A) ≡ I + A + A2/2 +. Se applicato ad una matrice a coefficienti complessi restituisce la matrice complessa coniugata trasporta. Guido Vagliasindi Controlli Automatici A. sqrtm(A) ≡ A^(1/2) TRASPOSIZIONE L’operatore di trasposizione di una matrice è l’apice ‘.Operazioni su matrici FUNZIONI TRASCENDENTI • exp(A) e sqrt(A) eseguono rispettivamente l'esponenziale e la radice quadrata dei singoli elementi si A • expm(A). 06/07 Introduzione a MATLAB .A..

06/07 Introduzione a MATLAB .A.Operazioni su matrici ALTRE FUNZIONI • • • • • • • • det(A) eig(A) inv(A) rank(A) trace(A) poly(A) norm(A) size(A) Calcola il determinante della matrice A Calcola gli autovalori della matrice A Calcola l’inversa della matrice A Calcola il rango della matrice A Calcola la traccia della matrice A Calcola i coefficienti del polinomio caratteristico di A Calcola la norma della matrice A Calcola le dimensioni della matrice A Guido Vagliasindi Controlli Automatici A.

A. 06/07 Introduzione a MATLAB .5 1 1. quindi mediante un vettore).5 2 2.5 3 – Come matrici riga o colonna: » v=[1 2 3] v =1 2 3 • Guido Vagliasindi Controlli Automatici A. Possono essere definiti: – Con l’operatore ‘:’ : » v=(0:10) v =0 1 2 3 4 5 6 7 8 9 10 » v=(0:0.5:3) v =0 0.Array o vettori • I vettori hanno due funzioni fondamentali in Matlab: – rappresentazione dei polinomi (un polinomio è descritto dal vettore dei suoi coefficienti). – rappresentazione di segnali (un segnale è rappresentato mediante la sequenza dei valori che assume in un insieme di istanti di tempo.

+) e sottrazione (." prima dell'operatore (niente spazio tra punto e operatore) Addizione (.5 2 Guido Vagliasindi Controlli Automatici A. y = [4 5 6].\y z= 4 2.*) e divisione (.*y z= 4 10 18 » z = x.\) si differenziano: » x = [1 2 3]. » z = x./ oppure .A.Operazioni su array • • • • • Finora gli operatori aritmetici visti agivano sulle matrici nella loro globalità Le operazioni sugli array si riferiscono ad operazioni aritmetiche eseguite elemento per elemento. 06/07 Introduzione a MATLAB .-) sono le stesse Moltiplicazione (. Gli operatori su array si distinguono da quelli per matrici per il simbolo ".

A. Guido Vagliasindi Controlli Automatici A.0): calcola il valore del polinomio in un punto conv(p1. [R. i poli e i termini diretti della espansione in fratti semplici del rapporto tra due polinomi p1 e p2.K]=residue(p1.R]=deconv(p1.P. Restituisce in Q e R rispettivamente il quoziente e il resto.p2): esegue il prodotto tra polinomi [Q.Operazioni sui polinomi Detto p un polinomio definito sotto forma di vettore pol=[1 2 5]. possiamo utilizzare le seguenti funzioni • • • • • roots(pol): calcola le radici del polinomio polyval(pol. 06/07 Introduzione a MATLAB .p2): calcola i residui.p2): calcola la divisione tra polinomi.

Operatori relazionali • Operatori relazionali: <. 06/07 Introduzione a MATLAB . | (or). ~= (~ alt-126) Operano una comparazione elemento per elemento. <=. ==. >.A. >=. Il risultato è – 1 se il test è TRUE – 0 se il test è FALSE • Operatori logici: & (and). ~ (not) Consentono di combinare più operatori relazionali. Le variabili su cui operano vanno considerate – TRUE se diverse da 0 – FALSE se uguali a 0 • • • I risultati sono – 1 se TRUE – 0 se FALSE >> a=(1>2) – a=0 >> a=(1<2) – a=1 Guido Vagliasindi Controlli Automatici A.

xn. lo stile della linea e il marcatore per identificare gli elementi di y nel grafico plot(x1.’colore_stile_marcatore’): produce un grafico di y rispetto a x specificando il colore della linea.y): produce un grafico lineare di y rispetto a x plot(x.GRAFICA 2D • • • plot(y): produce un grafico lineare degli elementi di y in cui le ascisse sono l’indice degli elementi di y plot(x.A.…. l’asse y e l’intero grafico di • • • • axis: consente di personalizzare la misurazione in scala e il rapporto di aspetto tra i tracciati Guido Vagliasindi Controlli Automatici A. 06/07 Introduzione a MATLAB . hold on: consente di aggiungere un tracciato ad un grafico preesistente xlabel(‘string’).y.y1.y2.yn): produce un grafico multiplo. title(‘string’): consentono specificare una label per l’asse x.x2. ylabel(‘string’).

• • loglog(x. con un solo asse logaritmico (l’asse x) • semilogy(x.A. 06/07 Introduzione a MATLAB .y): produce un grafico in scala semilogaritmica.GRAFICA 2D • subplot(m. con un solo asse logaritmico (l’asse y) • ginput: consente di risalire alle coordinate di un punto specifico Guido Vagliasindi Controlli Automatici A.n. Si trasforma la finestra della figura in una matrice mxn e si accede di volta in volta all’elemento specificato in p.y): produce un grafico in scala logaritmica di y rispetto a x semilogx(x.p): permette di esporre grafici multipli sulla stessa finestra.y): produce un grafico in scala semilogaritmica.

end ← metterli a fine ciclo!!! end » for i = 1:2:n ← incrementi di 2 ad ogni iterazione Cicli "while" » while (condizione) istruzioni. 06/07 Introduzione a MATLAB .Controllo di flusso • Cicli "for" » for i = 1:n for j = 1:n A(i.j) = i+j. end • Guido Vagliasindi Controlli Automatici A.A.

06/07 Introduzione a MATLAB • . break. Guido Vagliasindi Controlli Automatici A.. end m = sqrt(n) end Questo programma stampa indefinitamente la radice del numero introdotto finchè non si scrive un numero minore o uguale a zero. if n <= 0.Controllo di flusso • Operazioni condizionate.. "if" » if (espressione) istruzioni elseif (espressione) istruzioni else istruzioni end Si può uscire in modo immediato da un ciclo con l'istruzione "break" » while 1 n = input('scrivi un numero').A.

Controllo di flusso • Switch case » switch variable case val1 istruzioni case val2 istruzioni case … istruzioni otherwise istruzioni end Guido Vagliasindi Controlli Automatici A.A. 06/07 Introduzione a MATLAB .

A.Control System Toolbox • E’ un insieme di funzioni per l’analisi di sistemi dinamici (tipicamente lineari tempo invarianti LTI) e per la sintesi di controllori. Tra queste funzioni andremo ad analizzare quelle preposte a: – Creazione di modelli LTI – Conversioni tra modelli – Analisi nel dominio del tempo – Analisi nel dominio della frequenza Guido Vagliasindi Controlli Automatici A. • E’ possibile visionare tutte le funzioni della libreria utilizzando help control. 06/07 Introduzione a MATLAB .

C.B.A. B = ⎢ ⎥ . C = [0 1]. D = 0 A=⎢ 1 1⎥ ⎣1⎦ ⎣ ⎦ per creare il modello in MATLAB bisogna usare la funzione ss » sys=ss(A. 06/07 Introduzione a MATLAB .D). Guido Vagliasindi Controlli Automatici A.Creazione di modelli LTI • Un generico sistema dinamico può essere rappresentato in varie forme: – State-space – Transfer-function – Zero-Pole-Gain • MODELLI STATE-SPACE (SS) Dato un sistema in forma di stato & ⎧ x(t ) = Ax(t ) + Bu (t ) ⎨ ⎩ y (t ) = Cx(t ) + Du (t ) le cui matrici sono ⎡0 ⎤ ⎡1 0⎤ .

+ b0 s+2 G(s) = = = 3 n D( s ) an s + . » sys=tf(num. » den=[1 0 2 4]. + a0 s + 2s + 4 per creare il modello in MATLAB bisogna usare la funzione tf » num=[1 2]..Creazione di modelli LTI • MODELLI TRANSFER-FUNCTION Dato un sistema in forma di stato rappresentato attraverso la relazione ingresso-uscita. 06/07 Introduzione a MATLAB .... cioè la sua funzione di trasferimento N ( s ) bm s m + .den).A. Transfer function: s+2 ------------s^3 + 2 s + 4 Guido Vagliasindi Controlli Automatici A.

» z=[-1].p. 06/07 Introduzione a MATLAB .A. » p=[-3 -5 -10]. » sys=zpk(z. cioè la sua funzione di trasferimento N ( s) G (s) = =K D( s) ∏ (s + z ) i m ∏ (s + p ) i i =1 i =1 n =3 ( s + 1) ( s + 3)( s + 5)( s + 10) per creare il modello in MATLAB bisogna usare la funzione zpk » K=3.K).Creazione di modelli LTI • MODELLI ZERO-POLE-GAIN Dato un sistema in forma di stato rappresentato attraverso la relazione ingresso-uscita. Zero/pole/gain: 3 (s+1) -----------------(s+3) (s+5) (s+10) Guido Vagliasindi Controlli Automatici A.

zpkdata consentono di estrarre da un modello LTI qualsiasi i dati caratteristici di una particolare rappresentazione: » [A.C.zpk) servono anche per convertire un sistema da una forma all’altra.Conversione tra modelli • Le funzioni precedentemente introdotte (ss. Le funzioni ssdata. 06/07 Introduzione a MATLAB • . tfdata.tf. » [Z. se vogliamo convertirlo in termini di funzione di trasferimento posso scrivere » sys1=tf(sys). DEN]=tfdata(sys.P. Dove il parametro ‘v’ da utilizzarsi per sistemi SISO specifica di restituire il risultato in forma vettoriale Guido Vagliasindi Controlli Automatici A.D]=ssdata(sys).K]=zpkdata(sys. » [NUM. ‘v’). ‘v’).A.B. Dato per esempio un sistema in forma di stato memorizzato nella variabile sys.

A.Operazioni sui modelli sys=sys1+sys2 sys=sys1-sys2 Guido Vagliasindi Controlli Automatici A. 06/07 Introduzione a MATLAB .

06/07 Introduzione a MATLAB .Operazioni sui modelli sys=sys1+sys2 sys=sys1-sys2 sys=sys1*sys2 Guido Vagliasindi Controlli Automatici A.A.

A. Restituisce i poli del sistema memorizzato nella variabile sys » Z=zero(sys). 06/07 Introduzione a MATLAB • • . Disegna la mappa dei poli e zeri del sistema » dcgain(sys). Calcola smorzamento e pulsazione naturale dei poli del sistema Guido Vagliasindi Controlli Automatici A.Operazioni sui modelli • • • Altre funzioni utili che consentono di fornire alcune informazioni sul sistema espresso in qualunque delle rappresentazioni possibili: » P=pole(sys). CSI]=damp(sys). Restituisce gli zeri del sistema memorizzato nella variabile sys » [P Z]=pzmap(sys). Calcola il guadagno statico del sistema sys » [Wn. Calcola poli e zeri del sistema e li salva nei vettori P e Z » pzmap(sys).

sys2) Guido Vagliasindi Controlli Automatici A.A. 06/07 Introduzione a MATLAB .sys2] • Feedback sys=feedback(sys1.Interconnessione tra modelli • Concatenazione Orizzontale: sys=[sys1.sys2] Verticale: sys=[sys1.

Traccia la risposta all’impulso di più sistemi mettendole a confronto » [Y. » [Y]=impulse(sys.t]=impulse(sys). Calcola la risposta all’impulso e salva il risultato nel vettore Y.t).t). Traccia la risposta ad impulso del sistema » impulse(sys. Traccia la risposta all’impulso utilizzando il vettore degli istanti di tempo specificato » impulse(sys1.A.t). Traccia la risposta all’impulso fino all’istante di tempo specificato in Tend » impulse(sys. Il vettore del tempo può essere specificato come output o parametri di ingresso Guido Vagliasindi Controlli Automatici A. sys2. 06/07 Introduzione a MATLAB .…. Tend).Analisi nel dominio del tempo • • L’analisi nel dominio del tempo comporta la valutazione della risposta del sistema agli ingressi canonici o di tipo generico Impulse – risposta all’impulso » impulse(sys).

Tend). sys2. Traccia la risposta ad un gradino fino all’istante di tempo specificato in Tend » step(sys.Analisi nel dominio del tempo • step – risposta al gradino » step(sys).t). Traccia la risposta ad un gradino di più sistemi mettendole a confronto » [Y.t).t).A. Traccia la risposta ad un gradino utilizzando il vettore degli istanti di tempo specificato » step(sys1.t]=step(sys). Calcola la risposta ad un gradino e salva il risultato nel vettore Y.…. Il vettore del tempo può essere specificato come output o parametri di ingresso Guido Vagliasindi Controlli Automatici A. 06/07 Introduzione a MATLAB . Traccia la risposta ad un gradino del sistema » step(sys. » [Y]=step(sys.

…. Il vettore del tempo può essere specificato come output o parametri di ingresso Guido Vagliasindi Controlli Automatici A. Calcola l'evoluzione libera e salva il risultato nel vettore Y.t). Traccia l'evoluzione libera del sistema a partire dalla condizione iniziale X0 » initial(sys. sys2.X0.X0.X0. Traccia l'evoluzione libera fino all’istante di tempo specificato in Tend » initial(sys.Analisi nel dominio del tempo • Initial – evoluzione libera di un sistema » initial(sys. X0. Tend).t]=initial(sys.t).A. 06/07 Introduzione a MATLAB . Traccia l'evoluzione libera di più sistemi mettendole a confronto » [Y. t).X0). X0). Traccia l'evoluzione libera utilizzando il vettore degli istanti di tempo specificato » initial(sys1. » [Y]=initial(sys.

06/07 Introduzione a MATLAB .u.u.X0). Traccia la risposta del sistema all’ingresso descritto dai vettori u e t.t. » [Y.T.X0).X0). Quando non specificato le condizioni iniziali sono considerate nulle » lsim(sys1.Analisi nel dominio del tempo • lsim – risposta ad un ingresso arbitrario » lsim(sys.u.X]=lsim(sys. sys2.t).t.t.…. Calcola la risposta del sistema all’ingresso u e salva il risultato nel vettore Y. Traccia la risposta di più sistemi all’ingresso u mettendole a confronto » [Y]=lsim(sys.t. Traccia la risposta del sistema all’ingresso u specificando le condizioni iniziali del sistema per l’istante di tempo t(1). una matrice con tante righe quanti sono gli istanti di tempi e tante colonne quanti sono gli stati del sistema Guido Vagliasindi Controlli Automatici A.X0).u. Quando il sistema è di tipo SS restituisce anche la traiettoria dello stato.u.A. » lsim(sys.

Analisi nel dominio del tempo Altre funzioni utili sono: • ltiview Apre una interfaccia grafica per l’analisi della risposta nel tempo e in frequenza • gensig Funzione che genera segnali periodici per la simulazione della risposta nel tempo con lsim • stepfun Consente di creare la funzione a gradino da utilizzare eventualmente con lsim Guido Vagliasindi Controlli Automatici A. 06/07 Introduzione a MATLAB .A.

» bode(sys.sys2. Traccia il diagrama di Bode (modulo e fase) del sistema. Traccia il diagramma di Bode di più sistemi mettendoli a confronto » [MAG.PHASE]=bode(sys.w) Traccia il diagramma di Bode alle frequenze specificate nel vettore w » bode(sys1.w). » [MAG.w).w]=bode(sys). 06/07 Introduzione a MATLAB .….Analisi nel dominio della frequenza • bode – diagramma di Bode » bode(sys). Calcola il diagramma di Bode e salva in MAG e PHASE i vettori dei guadani e degli sfasamenti.A.{wmin wmax}). Traccia il diagramma di Bode del sistema nell’intervallo di frequenze specificato dai valori wmin e wmax » bode(sys. Il vettore w può essere specificato come ingresso o richiesto come output Guido Vagliasindi Controlli Automatici A.PHASE.

Wg.A. Calcola il diagramma di Bode e salva il margine di guadagno e di fase in Gm e Pm salvandone anche le frequenze in Wg e Wp. 06/07 Introduzione a MATLAB .Pm. Traccia il diagrama di Bode (modulo e fase) del sistema indicando i margini di fase e di guadagno » [Gm.Analisi nel dominio della frequenza • margin – margine di fase e di guadagno » margin(sys).Wp]=margin(sys). Guido Vagliasindi Controlli Automatici A.

….w). Traccia il diagramma di Nyquist del sistema nell’intervallo di frequenze specificato dai valori wmin e wmax » nyquist(sys. Traccia il diagrama di Nyquist del sistema.A. Il vettore w può essere specificato come ingresso o richiesto come output Guido Vagliasindi Controlli Automatici A.w) Traccia il diagramma di Nyquist alle frequenze specificate nel vettore w » nyquist(sys1. 06/07 Introduzione a MATLAB .IMG]=nyquist(sys. Calcola il diagramma di Nyquist e salva in RE e IMG i vettori della parte reale e immaginaria della risposta in frequenza.w]=nyquist(sys).w). Traccia il diagramma di Nyquist di più sistemi mettendoli a confronto » [RE. » nyquist(sys.sys2.Analisi nel dominio della frequenza • nyquist – diagramma di Nyquist » nyquist(sys). » [RE.IMG.{wmin wmax}).

Traccia il luogo delle radici di più sistemi mettendoli a confronto » [RE. Calcola il luogo delle radici e salva in RE e IMG i vettori della parte reale e immaginaria dei rami del luogo.Analisi nel dominio della frequenza • rlocus– luogo delle radici » rlocus(sys). » [RE. Il vettore k può essere specificato come ingresso o richiesto come output Guido Vagliasindi Controlli Automatici A.….k). 06/07 Introduzione a MATLAB . Traccia il luogo delle radici del sistema.w]=rlocus(sys).sys2. Traccia il luogo delle radici del sistema utilizzando il vettore dei guadagni specificato » rlocus(sys1.k). » rlocus(sys.A.k).IMG.IMG]=rlocus(sys.

C) trasforma il sistema originario in uno equivalente in forma canonica di osservabilità.T. restituendo anche la matrice di trasformazione T e un vettore la cui somma (sum(K)) restituisce il numero di stati controllabili Guido Vagliasindi Controlli Automatici A.T.B.C) trasforma il sistema originario in uno equivalente in forma canonica di controllabilità.K]=obsvf(A. 06/07 Introduzione a MATLAB • .Bbar.C) restituisce la matrice di osservabilità per il sistema specificato ctrb(A.Cbar. restituendo anche la matrice di trasformazione T e un vettore la cui somma (sum(K)) restituisce il numero di stati osservabili [Abar.A.K]=ctrbf(A.B.Altre funzioni • • • obsv(A.Cbar.B) restituisce la matrice di controllabilità per il sistema dato [Abar.Bbar.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->