MANUALETTO PER MATLAB
|
|
|
- Cornelia Giordani
- 9 anni fa
- Visualizzazioni
Transcript
1 MANUALETTO PER MATLAB PREMESSA Questo manualetto per MATLAB nasce e si sviluppa contemporaneamente all'attività svolta dagli autori per inserire in modo graduale nel curricolo del Corso di Sistemi Elettronici Automatici lo studio e l'impiego di questo software che oggi viene utilizzato diffusamente in ambiente sia universitario che industriale per il calcolo scientifico, per l'analisi e la rappresentazione dei dati, per l'analisi e la progettazione di apparati anche complessi. Nelle intenzioni degli autori, questo lavoro servirà solo a mettere in evidenza e a memorizzare alcune funzioni e procedure di MATLAB che torneranno molto utili, nel corso dell'intero triennio, per rendere più semplici ed "amichevoli" per gli allievi i concetti da affrontare nel corso di Sistemi. Sarà quindi un'opera senza tante pretese e da aggiornare in continuazione col progredire degli studi. GENERALITÀ All'apertura, MATLAB presenta una serie di finestre: a) Workspace (ancora da interpretare): b) Current directory: è la cartella corrente in cui salvare i file di lavoro o da cui prelevarli c) Command history: riporta tutta la sequenza di comandi dati a MATLAB fino al momento attuale d) Command window (CW): è la finestra principale; quella utilizzata per le operazioni. In tale finestra possiamo scrivere un comando e farlo eseguire all'istante da MATLAB. Possiamo, in alternativa, scrivere a parte un file di testo, con estensione.m (M-file), in cui raccogliere una intera sequenza di comandi e chiedere a MATLAB di eseguire l'intero programma così scritto. Attenzione: il nome degli M-file non deve contenere spazi. MANUALETTO Interprete di comandi La Command window agisce come un interprete di comandi, nel senso che ogni comando in essa scritto viene subito eseguito premendo il tasto INVIO. clc : pulisce la Command window. clf : pulisce la finestra dei grafici. ; : il punto e virgola dopo un comando evita la pubblicazione dei risultati sulla Command window. Vettori e Matrici Array: è un insieme di dati omogenei, cioè dello stesso tipo Vettore: Array ad una dimensione. Può essere costituito o da una unica riga di dati (vettore riga) o da una unica colonna di dati (vettore colonna). Salvo indicazione contraria, quando parleremo di vettore ci riferiremo ad un vettore riga. Matrice: Array a due dimensioni. Una matrice di dimensioni "n*m" ha n righe ed m colonne. r = [ ] : costruisce un vettore riga, indentificato con la variabile r, con i 4 valori "1,4,2,6" indicati tra parentesi quadre. r = [5 ; 2 ; 0 ; 1] : costruisce un vettore colonna, indentificato con la variabile r, con i 4 valori "5,2,0,1" indicati tra parentesi quadre. I punti e virgola tra i valori delimitano le righe, che in questo caso sono costituite da un solo valore. 1
2 t = [v i : p : v f ] : costruisce un vettore, identificato con t, formato da numeri reali che partono da v i e raggiungono il valore finale v f con un passo pari a p. La variabile t spesso viene usata per indicare istanti di tempo. Es.: t = [0 : 0.01 : 10] Il vettore t è costituito da istanti (numeri reali) che partono da 0 e raggiungono il valore finale 10 con passo 0,01 t = {0-0,01 0,02 0, ,98 9,99 10}. r = linspace(v i, v f, n) : costruisce il vettore r con n valori, equamente distanziati tra loro, a partire da v i e fino a v f. Es.: r = linspace(0, 1, 3) r = {0-0,5 1}. M = [1 2 3 ; ; 7 8 9] : costruisce la matrice M le cui righe sono indicate in parentesi quadre, in sequenza e separate da un punto e virgola. M = D = det(m) : calcola il determinante della matrice M. A = inv(m) : calcola la matrice inversa della matrice M. Funzioni y = sin(ω * t) : consente di costruire il vettore y di valori della funzione seno. Lo scalare ω rappresenta la pulsazione; il vettore t contiene tutti i valori della variabile tempo. y = cos(ω * t) : consente di costruire il vettore y di valori della funzione coseno. Lo scalare ω rappresenta la pulsazione; t è un vettore e contiene tutti i valori della variabile tempo. y = 3*t : consente di costruire il vettore y di valori della funzione y = 3t. Il vettore t contiene tutti i valori della variabile tempo. y = t.^2 : il risultato di questa operazione è il vettore y i cui elementi si ottengono elevando al quadrato ogni elemento del vettore t. Il punto subito prima di un operatore aritmetico distingue le operazioni aritmetiche sull'array (eseguite cioè elemento per elemento) da quelle sui vettori o sulle matrici (eseguite come previsto nell'algebra lineare). Es. a = b.*b ha significato perché ogni elemento di b viene moltiplicato per se stesso. a = b*b non ha significato perché si chiede di moltiplicare, riga per colonna, due vettori dello stesso tipo (riga o colonna). Il punto può essere trascurato quando non sussistono ambiguità. Es. c = a+b = a.+b in questo caso il punto può essere trascurato perché entrambe le operazioni danno lo stesso risultato: un vettore c i cui elementi si ottengono sommando gli elementi omologhi di a e b. Polinomi p = [ ] : un polinomio viene rappresentato con un vettore che contiene i suoi coefficienti presi nell'ordine decrescente delle potenze della variabile indipendente. Nell'esempio dato si ha p = x 3 + 5x 2 + 4x +10. Se nel polinomio manca qualche termine, occorre tener conto di questo fatto mettendo degli 0 al posto dei coefficienti mancanti. Es. n = [ ] rappresenta il polinomio n = 2x 4 + 3x p = conv(p 1,p 2 ) : il polinomio p viene ottenuto dal prodotto dei polinomi p 1 e p 2. L'operazione "conv" agisce solo tra due polinomi; la stessa operazione su più di due polinomi va spezzettata in operazioni parziali. Es. p = conv(conv(p 1,p 2 ),p 3 ) esegue il prodotto tra p 1 e p 2 e poi moltiplica il risultato per p 3. 2
3 [q,r] = deconv(v,u) : esegue il rapporto tra i polinomi v ed u; il quoziente è salvato nel vettore q mentre il resto è salvato nel vettore r. r = roots(p) : calcola in r le radici del polinomio p. p = poly(r) : calcola in p i coefficienti del polinomio che ha per radici i valori contenuti nel vettore r. [r, p, k] = residue (n, d) : calcola residui (r), poli (p) e i coefficienti del termine diretto (k) di una funzione razionale fratta, i cui coefficienti del numeratore e del denominatore siano raccolti, rispettivamente, in n e d. I residui sono i coefficienti dello sviluppo in frazioni parziali della funzione razionale fratta; i poli sono le radici del denominatore; il termine diretto è il risultato della divisione tra il numeratore ed il denominatore, quando il primo ha un grado maggiore o uguale a quello del secondo. Se la funzione razionale fratta è data sotto forma fattorializzata, occorre portarla nella forma di rapporto di polinomi utilizzando la funzione conv. [n, d] = residue (r, p, k) : calcola i coefficienti del numeratore e del denominatore (n e d) di una funzione razionale fratta a partire da residui (r), poli (p) e coefficienti del termine diretto (k). Funzione di trasferimento F = tf( n, d ) : consente di creare un funzione di trasferimento, di eseguire rapidamente prodotti e divisioni di funzioni, di calcolare la funzione di trasferimento di blocchi in cascata o in retroazione. Es. G = tf(10, [3 4]) ; H = tf(0.1,[1 100]) ; W = G/1+(H*G) 10 0,1 3,333s + 333,7 G(s) = ; H(s) = ; W = 2 3s + 4 s s + 101,3s + 133,3 F = minreal(f) : riporta una funzione razionale fratta nella sua forma minima. In altre parole, cancella zeri e poli uguali. W = feedback(g,h,±1) : calcola la funzione di trasferimento a ciclo chiuso (W) a partire da quelle, rispettivamente, della linea diretta (G) e della linea di retroazione (H). L'ultimo parametro (±1) indica retroazione positiva quando vale +1; retroazione negativa quando vale -1. In quest'ultimo caso (retroazione negativa) tale parametro può essere omesso. Es. W = feedback(g,h) C = series(a,b) : calcola la funzione equivalente C dei due blocchi in cascata A e B. C = parallel(a,b) : calcola la funzione equivalente C dei due blocchi in parallelo A e B. Vale solo per la somma; per la differenza occorre far ricorso a qualche artifizio. s = tf('s') : dichiarazione che fa in modo che tutte le funzioni di trasferimento utilizzate successivamente siano nella forma rapporto di polinomi. F = zpk(z, p, k) : costruisce la funzione di trasferimento F(s) a partire da zeri, poli e guadagno, che sono raccolti, rispettivamente, nei vettori z, p e nello scalare k. F(s) viene quindi rappresentata in una forma fattorializzata. Attenzione: il guadagno k non è il guadagno statico, ma la costante che compare nella F(s) quando questa è espressa nella forma fattorializzata normale. Se si parte quindi da una forma di Bode, questa deve essere convertita nella forma normale. Quando, infine, nella F(s) non sono presenti zeri, essi vanno indicati con l'insieme vuoto [ ]; lo stesso dicasi per i poli. Es. : 10 F(s) = = (1 + s0,1)(1 + s0,01) = (s + 10)(s + 100) z = [ ] ; 1 0,1( 0,1 p = [ s)0,01( 100] 1 0,01 ; 10 = = 0,001(10 + s)(100 + s) + s) k =
4 s = zpk('s') : dichiarazione che fa in modo che tutte le funzioni di trasferimento utilizzate successivamente siano nella forma contenenti zeri, poli, guadagno. f = ilaplace(f, s, t) : calcola l'antitrasformata f(t) della funzione F(s). E' necessario che prima del comando venga riportata la dichiarazione Syms s t La funzione F(s) non deve essere generata con il metodo tf ; può essere invece rappresentata nella forma fattorializzata. Grafici subplot(r c p) : costruisce una matrice di grafici con dimensioni massime 2 * 2. Lo scalare r rappresenta il numero di righe; lo scalare c rappresenta il numero di colonne; lo scalare p rappresenta la posizione del grafico nell'ambito della matrice, secondo una numerazione crescente che va da sinistra a destra e dall'alto in basso plot(x,y) : disegna il grafico di y = f(x). xlabel('testo') : definisce la grandezza rappresentata sull'asse x dell'ultimo grafico tracciato. ylabel('testo') : definisce la grandezza rappresentata sull'asse y dell'ultimo grafico tracciato. gtext('testo') : consente di inserire una scritta su un grafico con l'aiuto del mouse. title('testo') : scrive il titolo in testa all'ultimo grafico tracciato. zoom on : consente di ingrandire (con il tasto sinistro del mouse) o di rimpicciolire (con il tasto destro del mouse) la zona di un grafico posta in corrispondenza della posizione del cursore del mouse. grid : Aggiunge la griglia all'ultimo grafico tracciato. semilogx(x,y) : rappresenta la funzione y = f(x) su un grafico che ha l'asse x in scala logaritmica in base 10 e l'asse y in scala lineare. semilogy(x,y) : rappresenta la funzione y = f(x) su un grafico che ha l'asse x in scala lineare e l'asse y in scala logaritmica in base 10. loglogy(x,y) : rappresenta la funzione y = f(x) su un grafico che ha sia l'asse x che l'asse y in scala logaritmica in base 10. ltiview : consente di osservare, in base alla funzione di trasferimento del sistema considerato, a) Risposta al gradino unitario b) Risposta all'impulso c) Diagrammi di Bode d) Diagrammi di Nyquist e) Carta di Nichols f) Posizione dei poli e degli zeri Per ogni tipo di grafico è possibile visualizzare il valore di determinati parametri. All'apertura della finestra occorre importare la funzione di trasferimento da visualizzare (per importare più di una funzione usare il tasto Control); successivamente col tasto destro del mouse si possono effettuare tutta una serie di scelte. Per la rappresentazione contemporanea di più funzioni, si può, in alternativa a quanto detto prima, indicare il nome delle funzioni da rappresentare come una lista di parametri all'atto della chiamata della funzione ltiview. Es. ltiview(f, G, H) : consente di visualizzare i grafici delle tre funzioni F, G, H. Nota: le funzioni da rappresentare devono essere create con il metodo tf. bode : consente di tracciare i diagrammi di Bode. Ci sono vari modi di richiamare questa funzione grafica; a noi interesseranno solo alcuni di questi. 4
5 a) bode(f) : traccia il diagramma di Bode della funzione F(s): b) bode(g, H, W) : traccia i diagrammi sovrapposti delle tre funzioni G(s), H(s) e W(s). I diagrammi sono tracciati con colori diversi: per individuare la corrispondenza tra colore e funzione aprire il menù contestuale e soffermarsi sulla voce "Systems". c) bode( G, 'stile1', H, 'stile2', W, 'stile3' ) : traccia i diagrammi sovrapposti delle tre funzioni G(s), H(s) e W(s). Ognuna delle stringhe 'stile1', 'stile2', e 'stile3' consente di impostare, per la funzione che le precede, il colore, il tipo di linea e la presenza di markers. Es. bode(g, 'r', H, 'y --',F, 'b -.', W, 'g.') : traccia per G una curva continua di colore rosso per H una curva tratteggiata di colore giallo per F una curva tratto e punto di colore blue per W una curva costituita solo da markers (. ) di colore verde d) [ m, f ] = bode (F, w) : Calcola modulo e fase della funzione F in corrispondenza della pulsazione w. Il modulo è ottenuto in assoluto; per trasformarlo in db, si può usare la funzione Log10 a = 20*log10(a). Nota: le funzioni da rappresentare devono essere create con il metodo tf. margin : calcola i margini di guadagno e di fase di una funzione di trasferimento a ciclo aperto. Di seguito sono indicati i due modi che noi useremo per richiamare tale funzione. a) margin(f) : traccia automaticamente i diagrammi di Bode della funzione e su di essi indica i margini di guadagno (G m ) e di fase (P m ). Il margine di guadagno G m è espresso in db. b) [ G m, P m, w g, w p ] = margin(f) : determina margine di guadagno (G m ) e margine di fase (P m ) con le corrispondenti pulsazioni di attraversamento w g e w p. Il margine di guadagno G m è espresso in assoluto. nyquist : consente di tracciare i diagrammi di Nyquist. Ci sono vari modi di richiamare questa funzione grafica; a noi interesseranno solo alcuni di questi. a) nyquist(f) : traccia il diagramma di Nyquist della funzione F(s): b) nyquist(g, H, W) : traccia i diagrammi sovrapposti delle tre funzioni G(s), H(s) e W(s). I diagrammi sono tracciati con colori diversi: per individuare la corrispondenza tra colore e funzione aprire il menù contestuale e soffermarsi sulla voce "Systems". c) nyquist( G, 'stile1', H, 'stile2', W, 'stile3' ) : traccia i diagrammi sovrapposti delle tre funzioni G(s), H(s) e W(s). Ognuna delle stringhe 'stile1', 'stile2', e 'stile3' consente di impostare, per la funzione che le precede, il colore, il tipo di linea e la presenza di markers. Es. nyquist(g, 'r', H, 'y --',F, 'b -.', W, 'g.'): traccia per G una curva continua di colore rosso per H una curva tratteggiata di colore giallo per F una curva tratto e punto di colore blue per W una curva costituita solo da markers (. ) di colore verde d) [ r, i ] = nyquist (F, w) : Calcola parte reale e parte immaginaria della funzione F in corrispondenza della pulsazione w. Nota: le funzioni da rappresentare devono essere create con il metodo tf. figure : apre una nuova finestra su cui disegnare un nuovo grafico. figure(n) : consente di aprire e mettere in evidenza la finestra relativa al grafico con numero d'ordine n. Se il grafico non esiste, crea una finestra vuota associando ad essa il numero d'ordine n. M-File Nota: gli esempi proposti nel seguito possono essere "copiati ed incollati" direttamente nell'ambiente di lavoro Matlab per creare un M-file funzionante. Occorre solo stare attenti che qualche pezzo di commento non perda il simbolo "%" in prima posizione che lo distingue dai comandi ordinari. 5
6 % TRACCIA IL GRAFICO DELLE FUNZIONI Y1=3T, Y2=T^2, Y3=SEN(WT), Y4=COS(WT) %Genera il vettore t dei tempi t=[0:0.01:10]; % il punto e virgola evita la rappresentazione dei risultati sulla CW (Command Window) % Genera i vettori delle funzioni y1=3*t y2=t.^2 y3=sin(6.28/5*t) y4=cos(6.28/5*t) %Suddivide lo schermo in una "matrice di grafici" di 2 righe per 2 colonne %Traccia il diagramma di y1 nel grafico n.1 subplot(221),plot(t,y1) %Dà il titolo all'ultimo grafico tracciato (y1) title('grafico di y=3t') %Dà il nome agli assi dell'ultimo grafico tracciato (y1) xlabel('t[s]'), ylabel('y(t)') %Traccia il diagramma di y2 nel grafico n.2 subplot(222),plot(t,y2); %Dà il titolo all'ultimo grafico tracciato (y2) title('grafico di y=t^2') %Dà il nome agli assi dell'ultimo grafico tracciato (y2) xlabel('t[s]'),ylabel('y(t)') %Traccia il diagramma di y3 nel grafico n.3 subplot(223),plot(t,y3) %Dà il titolo all'ultimo grafico tracciato (y3) title('grafico di y=sen(wt)') %Dà il nome agli assi dell'ultimo grafico tracciato (y3) xlabel('t[s]'), ylabel('y(t)') %Traccia il diagramma di y4 nel grafico n.4 subplot(224),plot(t,y4); %Dà il titolo all'ultimo grafico tracciato (y4) title('grafico di cos(wt)') %Dà il nome agli assi dell'ultimo grafico tracciato (y4) xlabel('t[s'),ylabel('y(t)') % Aggiunge la griglia all'ultimo grafico tracciato (y4) grid % Introduce la possibilità di zoomare, con l'aiuto del mouse, su tutti i grafici tracciati zoom on % Inserisce, con l'aiuto del mouse, una scritta su uno dei grafici tracciati gtext('esempio di etichetta') % CALCOLA IL DETERMINANTE DI UNA MATRICE E L'INVERSA DELLA STESSA MATRICE % Costruisce la matrice M di 3 righe per 3 colonne M = [1 2 3; 5 7 8; 4 2 9] % Calcola il determinante D della matrice M D = det(m) % Calcola la matrice inversa Mi = inv(m) 6
7 % EFFETTUA ALCUNE VERIFICHE SULLA PROPRIETÀ COMMUTATIVA RIFERITA AL PRODOTTO DI MATRICI % Costruisce la matrice M1 di 3 righe per 3 colonne M1 = [1 2 3; 5 7 8; 4 2 9] % Costruisce la matrice M2 di 3 righe per 3 colonne M2 = [4 4 1; 2 3 1; 3 6 7] % Calcola il prodotto M1*M2 P1 = M1*M2 %Calcola il prodotto M2*M1 P2 = M2*M1 % Confrontando i risultati P1 e P2 si può osservare che il prodotto di matrici non gode della proprietà commutativa % Un caso in cui è verificata la proprietà commutativa riguarda il prodotto di una matrice per la sua inversa. % Calcola l'inversa della matrice M1 Mi1 = inv(m1) % Calcola i due possibili prodotti tra le matrici M1 e Mi1 Q1 = M1*Mi1 Q2 = Mi1*M1 % Confrontando i risultati Q1 e Q2 si può osservare che il prodotto tra la matrice M1 e la sua inversa Mi1 gode della proprietà commutativa. I due risultati Q1 e Q2 sono infatti uguali tra loro e coincidono con la matrice identità. % SOLUZIONE DI UN SISTEMA DI N EQUAZIONI IN N INCOGNITE % [A] * [X] = [B] % [X] = [A]^-1 * [B] % Matrice dei coefficienti A = [1 2-1; 2 1 0; ] % Vettore dei termini noti B = [1; 0; 0] % I punti e virgola fanno sì che B sia un vettore colonna. % Il determinante D viene messo in evidenza al solo scopo di verificare che esso sia diverso da 0, condizione necessaria perché esista la soluzione D = det(a) % Calcola la matrice inversa di A e la moltiplica per il vettore dei termini noti B per ottenere il vettore delle soluzioni X X = inv(a)*b % POLI E RESIDUI DI UNA FUNZIONE RAZIONALE FRATTA % Vettore dei coefficienti del polinomio a numeratore num = [4 1-1] % Vettore dei coefficienti del polinomio a denominatore den = [1 5 6] % Calcola: % i coefficienti dello sviluppo in frazioni parziali (residui) % i poli della funzione assegnata (poli) % il termine diretto (k) [residui, poli, k] = residue(num,den) % Effettua una verifica calcolando numeratore e denominatore della funzione % razionale fratta a partire da residui, poli e termine diretto appena % calcolati. [num,den] = residue(residui, poli, k) 7
8 % Osservando i risultati si scopre che numeratore e denominatore così calcolati coincidono con quelli di partenza % ANTITRASFORMATA DELLA FUNZIONE (S+1)/((S+2)*(S+3)) % Dichiara le variabili s e t (dichiarazione obbligatoria) Syms s t % Forma fattorializzata F = (s+1)/((s+2)*(s+3)) % Calcola l'antitrasformata di F f = ilaplace(f,s,t) % Forma rapporto di polinomi G = (s+1)/(s^2+5*s+6) % Calcola l'antitrasformata di G g = ilaplace (G,s,t) % STUDIO NEL DOMINIO DEL TEMPO E IN QUELLO DELLA FREQUENZA DEL SISTEMA CON F(s)= 10/(s^2+2*s+5) % Costruisce la funzione (solo in questo modo) G = tf(10,[1 2 5]) % Apre la finestra di visualizzazione dei grafici ltiview % Una volta aperta la finestra grafica, occorre importare la o le funzioni da rappresentare (Menù File Import ). Poi, con l'aiuto di un menù contestuale (tasto destro del mouse), si possono osservare tutta una serie di figure o parametri. % CONFRONTA LA RISPOSTA AL GRADINO PER UN SISTEMA DEL PRIMO ORDINE, CON E SENZA RETROAZIONE UNITARIA % Con la dichiarazione seguente le funzioni saranno generate tutte col metodo tf s = tf('s') % Funzione di trasferimento linea diretta G = 10/(0.01*s + 1) % Funzione di trasferimento linea di retroazione (unitaria) H = 1 % Funzione di trasferimento a catena chiusa W = G/(1+H*G) % Riduce nella forma minima. W = mineral(w) % Apre la finestra di visualizzazione dei grafici ltiview % CONFRONTA LA RISPOSTA AL GRADINO PER UN SISTEMA DEL SECONDO ORDINE, CON E SENZA RETROAZIONE UNITARIA % Con la dichiarazione seguente le funzioni saranno generate tutte col metodo tf s = tf('s') % Funzione di trasferimento linea diretta G = 10/(s^2 + s + 10) % Funzione di trasferimento linea di retroazione (unitaria) H = 1 % Funzione di trasferimento a catena chiusa W = G/(1+H*G) 8
9 % Riduce nella forma minima. W = mineral(w) % Apre la finestra di visualizzazione dei grafici ltiview % In questo caso occorre importare, con l'aiuto del tasto Control, sia la funzione G che la funzione W. % RISPOSTA AL GRADINO UNITARIO DI UN SISTEMA DEL II ORDINE, PER VARI VALORI DI ZITA % zita = 2 F1 = tf(10, [1 4 1]) % zita = 1 F2 = tf(10, [1 2 1]) % zita = 0,7 F3 = tf(10, [ ]) % zita = 0,2 F4 = tf(10, [ ]) % zita = 0,1 F5 = tf(10, [ ]) % zita = 0 F6 = tf(10, [1 0 1]) % Apre la finestra di visualizzazione dei grafici ltiview % Una volta aperta la pagina grafica, importare con l'aiuto del tasto Control le 6 funzioni. Il grafico che si ottiene mostra come la risposta, al variare di zita, passi da un andamento esponenziale (zita = 2 --> 1) ad un andamento oscillante smorzato con sovraelongazioni crescenti (zita = 1 --> 0,1), fino ad un andamento oscillante non smorzato (zita = 0). % PARAMETRI DELLA RISPOSTA AL GRADINO PER UN SISTEMA DEL SECONDO ORDINE. % I parametri da considerare sono: % a) Sovraelongazione % b) Pulsazione smorzata V M% = ω = ω max n V * V regime % c) Tempo della sovraelongazione T % d) Tempo di assestamento T % e) Tempo di ritardo T d s n 3 ω 1 + 0,7ζ ω n regime 1 ζ 2 * 100 = 100 * e π p = = 2 ωn 1 ζ ,1ζ + 1,4ζ % f) Tempo di salita Tr ωn % La funzione di trasferimento non deve avere zeri. % F(s) = 1/(s^2 + 0,4s + 1) % ζ = 0,2 % ω n = 1 % ζ π ω πζ 1 ζ 2 9
10 F = tf([1],[ ]) % Apre la finestra di visualizzazione dei grafici e importa la funzione F ltiview(f) % Dopo l'apertura della finestra grafica, col tasto destro del mouse attivare l'indicazione dei parametri caratteristici della risposta. Per la lettura occorre passare sulla figura il puntatore del mouse, nei punti che interessano, e leggere le informazioni che compaiono. % Solo per il tempo di ritardo (Td), non previsto, effettuare una misura manuale cliccando e spostando il cursore del mouse lungo la figura, fino a leggere una ampiezza pari a 0,5; in corrispondenza del punto trovato leggere Td. % Calcolo teorico dei parametri zita = 0.2 omegan = 1 omega = omegan*sqrt(1-zita^2) M = 100*exp(-pi*zita/sqrt(1-zita^2)) Tp = pi/omega Ts = 3/(omegan*zita) Td = (1+0.7*zita)/omegan Tr = (1+1.1*zita+1.4*zita^2)/omegan ( ************** non ricopiare sull'm-file **************) Si ottengono i seguenti risultati: Valori misurati Valori calcolati M% 52,7% 52,7% T p 3,2 s 3,2 s T s 19,6 s 15 s (±2%) (±5%) T d 1,13 s 1,14 s T r 1,21 s 1,28 s ω 0,979 rad/s 0,980 rad/s % RISPOSTA AL GRADINO, ALLA RAMPA LINEARE E ALLA RAMPA PARABOLICA. % La funzione "ltiview", per poter visualizzare la risposta al gradino, moltiplica automaticamente la funzione di trasferimento G(s) per 1/s, che rappresenta l'ingresso a gradino unitario; e fa questo in ogni caso. Se moltiplichiamo preventivamente G(s) per 1/s, la rappresentazione della risposta al gradino di ltiview si trasformerà nella rappresentazione della risposta alla rampa lineare, perchè la G(s) risulterà moltiplicata, complessivamente, per 1/s 2, che è la trasformata della rampa lineare unitaria. G = tf(1,[ ]) % Moltiplica G(s) per 1/s Grl = G*tf(1,[1 0]) % Allo stesso modo, se moltiplichiamo G(s) per 2/s 2, all'attivazione di ltiview (risposta al gradino) essa sarà moltiplicata complessivamente per 2/s 2, che è la trasformata di una rampa parabolica unitaria. % Moltiplica G(s) per 2/s 2. Grp = G*tf(2,[1 0 0]) 10
11 % Apre la finestra di visualizzazione dei grafici ltiview(g, Grl, Grp) % Scegliere la visualizzazione della risposta al gradino. Per una visualizzazione ottimale delle tre figure, attivare il menù contestuale (tasto destro del mouse sul grafico), poi scegliere "Properties" --> "Limits" --> Deselezionare le caselle dell'autoscala per gli assi X e Y --> Impostare X = e Y = % TRACCIA I DIAGRAMMI DI BODE PER LA LINEA DIRETTA (G), PER LA LINEA DI RETROAZIONE (H), PER LA FUNZIONE A CICLO APERTO (F) E PER LA FUNZIONE A CICLO CHIUSO (W). % Funzione della linea diretta G = tf(1000, [3 4 1]) % Funzione della linea di retroazione H = tf(1,[1 10]) % Funzione a ciclo aperto F = G * H % Riduce F nella forma minima F = minreal(f) % Funzione a ciclo chiuso W = G/(1+F) % riduce W nella forma minima W = minreal(w) % Traccia i diagrammi di Bode Bode(G, H, F,W) Selezionare "Systems" dal menù contestuale per associare i grafici alle funzioni. % Determina modulo (in assoluto) e fase di W in corrispondenza della pulsazione 100 rad/s. [m, f] = Bode(W, 100) % Calcola m in db. mdb = 20*Log10(m) % TRACCIA I DIAGRAMMI DI BODE IMPONENDO LO STILE PER I SINGOLI GRAFICI. % Funzione della linea diretta G = tf(1000, [3 4 1]) % Funzione della linea di retroazione H = tf(1,[1 10]) % Funzione a ciclo aperto F = G * H % Riduce F nella forma minima. F = minreal(f) % Funzione a ciclo chiuso W = G/(1+F) % Riduce W nella forma minima. W = minreal(w) % Traccia i diagrammi di Bode imponendo lo stile per i singoli grafici. Bode(G,'r',H,'y--',F,'b-.',W,'g.') % G è una curva continua di colore rosso (red); % H è una curva tratteggiata di colore giallo (yellow); % F è una curva tratto e punto di colore blue (blue); % W è una curva tracciata solo con markers (.) e di colore verde (green). 11
12 % TRACCIA I DIAGRAMMI DI NYQUIST PER LA LINEA DIRETTA (G), PER LA LINEA DI RETROAZIONE (H), PER LA FUNZIONE A CICLO APERTO (F) E PER LA FUNZIONE A CICLO CHIUSO (W). % Funzione della linea diretta G = tf(1000, [3 4 1]) % Funzione della linea di retroazione H = tf(1,[1 10]) % Funzione a ciclo aperto F = G * H % Funzione a ciclo chiuso W = G/(1+F) % Riduce W nella forma minima. W = minreal(w) % Traccia i diagrammi di Nyquist nyquist(g,h,f,w) % Selezionare "Systems" dal menù contestuale per associare i grafici alle funzioni. % Determina parte reale e parte immaginaria di W in corrispondenza della pulsazione 100 rad/s. [r, i] = nyquist(w, 100) % TRACCIA I DIAGRAMMI DI NYQUIST IMPONENDO LO STILE PER I SINGOLI GRAFICI. % Funzione della linea diretta G = tf(1000, [3 4 1]) % Funzione della linea di retroazione H = tf(1,[1 10]) % Funzione a ciclo aperto F = G * H % Riduce F nella forma minima. F = minreal(f) % Funzione a ciclo chiuso W = G/(1+F) % Riduce W nella forma minima. W = minreal(w) % Traccia i diagrammi di Bode imponendo lo stile per i singoli grafici. nyquist(g,'r',h,'y--',f,'b-.',w,'g.') % G è una curva continua di colore rosso (red); % H è una curva tratteggiata di colore giallo (yellow); % F è una curva tratto e punto di colore blue (blue); % W è una curva tracciata solo con markers (.) e di colore verde (green). % TRACCIA DIAGRAMMI DI BODE E DI NYQUIST UTILIZZANDO DUE FINESTRE DIVERSE. % Crea la funzione F(s) F = tf(10,[ ]) % Traccia i diagrammi di Bode nella Fig. 1 bode(f) % Apre una nuova finestra (Fig. 2) figure % Traccia il diagramma di Nyquist nella Fig. 2 nyquist(f) 12
5. Per ω = 1/τ il diagramma reale di Bode delle ampiezze della funzione G(jω) =
Fondamenti di Controlli Automatici - A.A. 211/12 3 luglio 212 - Domande Teoriche Cognome Nome: Matricola: Corso di Laurea: Per ciascuno dei test a soluzione multipla segnare con una crocetta tutte le affermazioni
Nome: Nr. Mat. Firma:
Fondamenti di Controlli Automatici - A.A. 2009/10 6 Settembre 2010 - Esercizi Compito Nr. Nome: Nr. Mat. Firma: a) Determinare la trasformata di Laplace X i (s) dei seguenti segnali temporali x i (t):
B = Si studi, giustificando sinteticamente le proprie affermazioni, la stabilità del sistema. si A = G(s) = Y f (s) U(s) = 1.
ESERCIZIO 1 Un sistema dinamico lineare invariante e a tempo continuo è descritto dall equazione differenziale che lega l ingresso all uscita:... y (t) + ÿ(t) + 4ẏ(t) + 4y(t) = u(t) 1. Si determinino le
Esame di FONDAMENTI DI AUTOMATICA (9 crediti) SOLUZIONE
Esame di FONDAMENTI DI AUTOMATICA (9 crediti) Prova scritta 16 luglio 2014 SOLUZIONE ESERCIZIO 1. Dato il sistema con: si determinino gli autovalori della forma minima. Per determinare la forma minima
Cognome Nome: Matricola: Corso di Laurea: Fondamenti di Controlli Automatici - A.A. 2011/12 20 settembre Domande Teoriche
Fondamenti di Controlli Automatici - A.A. / settembre - Domande Teoriche Cognome Nome: Matricola: Corso di Laurea: Per ciascuno dei test a soluzione multipla segnare con una crocetta tutte le affermazioni
PROVA SCRITTA DI FONDAMENTI DI AUTOMATICA A.A. 2003/ luglio Soluzione
PROVA SCRITTA DI FONDAMENTI DI AUTOMATICA A.A. 23/24 2 luglio 24 Esercizio In riferimento allo schema a blocchi in figura. s r y 2 s y K s2 Domanda.. Determinare una realizzazione in equazioni di stato
L INTERFACCIA GRAFICA DI EXCEL
Dopo l avvio del foglio elettronico apparirà un interfaccia grafica nella quale verrà aperta una nuova cartella di lavoro alla quale il PC assegnerà automaticamente il nome provvisorio di Cartel1. La cartella
Introduzione 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
Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro;
EXCEL Modulo 3 I Grafici Grafici Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro; Quando si crea un grafico ogni
DEFINIZIONI SMART E RELATIVE ESERCITAZIONI
DEFINIZIONI SMART E RELATIVE ESERCITAZIONI A B C D E 1 2 3 4 5 6 7 8 9 MODULO 3 Creazione e gestione di fogli di calcolo MODULO 3 CREAZIONE E GESTIONE DI FOGLI DI CALCOLO Gli elementi fondamentali del
PON 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
ESERCITAZIONE 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
Fondamenti di Automatica (CL Ing. Gestionale) a.a Prof. Silvia Strada Seconda prova intermedia 12 Febbraio 2015
Politecnico di Milano Fondamenti di Automatica (CL Ing. Gestionale) a.a.2014-15 Prof. Silvia Strada Seconda prova intermedia 12 Febbraio 2015 Nome e Cognome:........................... Matricola...........................
Appello di Febbraio. 17 Febbraio Fondamenti di Automatica Ingegneria Gestionale. Prof. Bruno Picasso
Appello di Febbraio 7 Febbraio 22 Fondamenti di Automatica Ingegneria Gestionale Prof. Bruno Picasso Esercizio Sia dato il seguente sistema dinamico: { ẋt) 2ut)xt) + e ut) x 2 t) + u 2 t) yt) xt).. Determinare
Prontuario degli argomenti di Algebra
Prontuario degli argomenti di Algebra NUMERI RELATIVI Un numero relativo è un numero preceduto da un segno + o - indicante la posizione rispetto ad un punto di riferimento a cui si associa il valore 0.
Risoluzione 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
Nome: Nr. Mat. Firma:
Controlli Automatici - A.A. / Ingegneria Gestionale Luglio - Esercizi Nome: Nr. Mat. Firma: Rispondere alle seguenti domande. a) Calcolare la trasformata di Laplace X(s) dei seguenti segnali temporali
GRAFICO DI PARETO. variabile rispetto a cui si vuole ordinare (ossia nel nostro esempio
Si consideri il data set nel file Pareto.xls. GRAFICO DI PARETO Vediamo come costruire il grafico di Pareto con Excel. Questo grafico non costituisce un output standard pertanto sarà necessario compiere
FOGLIO ELETTRONICO. Microsoft Office EXCEL. LibreOffice CALC CALC. E' un software che assegna come estensione ai propri file (foglio elettronico).ods.
FOGLIO ELETTRONICO Microsoft Office EXCEL LibreOffice CALC Viene anche definito: FOGLIO DI CALCOLO; CARTELLA DI LAVORO (perché è un file che può contenere più FOGLI DI LAVORO). FOGLIO ELETTRONICO o FOGLIO
rapporto tra ingresso e uscita all equilibrio.
Sistemi Dinamici: Induttore: Condensatore: Massa: Oscillatore meccanico: Pendolo: Serbatoio cilindrico: Serbatoio cilindrico con valvola d efflusso: Funzione di Trasferimento: Stabilità del sistema: (N.B.
AUTOMATICA I (Ingegneria Biomedica - Allievi da L a Z) Appello dell 8 luglio 2008: testo e soluzione
AUTOMATICA I (Ingegneria Biomedica - Allievi da L a Z) Appello dell 8 luglio 8: testo e soluzione Prof. Maria Prandini 1. Si consideri il sistema con ingresso u ed uscita y descritto dalle seguenti equazioni:
Fondamenti di Automatica Prof. Luca Bascetta. Primo prova intermedia 27 Aprile 2018
Fondamenti di Automatica Prof. Luca Bascetta Primo prova intermedia 27 Aprile 28 ESERCIZIO E assegnato il sistema dinamico, a tempo continuo, lineare e invariante con ingresso u(t) e uscita y(t): { ẋ(t)
PROVA SCRITTA DI FONDAMENTI DI AUTOMATICA A.A. 2003/ giugno Soluzione
PROVA SCRITTA DI FONDAMENTI DI AUTOMATICA A.A. 23/24 giugno 24 Esercizio In riferimento allo schema a blocchi in figura. y r s s s2 y 2 K s dove Domanda.. Determinare una realizzazione in equazioni di
Introduzione a MATLAB
Introduzione a MATLAB Principali comandi MATLAB utili per il corso di Fondamenti di Automatica 01AYS Politecnico di Torino Sistemi dinamici LTI 1. Simulazione a tempo continuo Definizione del sistema Per
AUTOMATICA I (Ingegneria Biomedica - Allievi da L a Z) Appello del 10 settembre 2008: testo e soluzione. y = x 2. x 1 = 1 x 2 = 1
AUTOMATICA I (Ingegneria Biomedica - Allievi da L a Z) Appello del 1 settembre 28: testo e soluzione Prof. Maria Prandini 1. Si consideri il sistema non lineare descritto dalle seguenti equazioni: ẋ 1
Prof. Milizia, Liceo Scientifico di Mesagne (BR) 1
Prof. Milizia, Liceo Scientifico di Mesagne (BR) 1 CAPITOLO 8. LE FUNZIONI. 1. Generalità sulle funzioni.. Le rappresentazioni di una funzione. 3. Le funzioni reali di variabile reale. 4. L espressione
CONCETTO DI STABILITÀ NEI SISTEMI DI CONTROLLO. Sistema in condizioni di equilibrio a t = 0. d(t) = 0. u(t) = 0. y(t) = 0. Sistema
CONCETTO DI STABILITÀ NEI SISTEMI DI CONTROLLO Sistema in condizioni di equilibrio a t = 0. d(t) = 0 u(t) = 0 Sistema y(t) = 0 Tipi di perturbazione. Perturbazione di durata limitata: u(t) = 0, t > T u
Lo studio delle funzioni razionali fratte
Lo studio delle funzioni razionali fratte Dominio e Asintoti Esercitazione guidata e proposte di esercizi per il laboratorio, utilizzo del software geogebra Esercizio guida Disegna con il software Geogebra
Vettori e Matrici. Vettori. Vettori e matrici: dati. Vettori di caratteri Polinomi. Dimensione (Size) numero di righe e di colonne della matrice
Vettori e Matrici Vettori e matrici: Creazione Matrici particolari Vettori regolarmente intervallati Coordinate Operatori utili Vettori di caratteri Polinomi Vettori Unità fondamentale in Matlab Tutte
Esercitazione n 2. Costruzione di grafici
Esercitazione n 2 Costruzione di grafici I grafici I grafici sono rappresentazione di dati numerici e/o di funzioni. Devono facilitare all utente la visualizzazione e la comprensione dei numeri e del fenomeno
Utilizzo di Matlab per l analisi di sistemi dinamici lineari
Intro a Matlab per sistemi LTI, 1 Utilizzo di Matlab per l analisi di sistemi dinamici lineari Sistemi dinamici lineari a tempo continuo ed a tempo discreto Indice del materiale Intro a Matlab per sistemi
CONTROLLI AUTOMATICI Ingegneria Gestionale ANALISI ARMONICA
CONTROLLI AUTOMATICI Ingegneria Gestionale http://www.automazione.ingre.unimore.it/pages/corsi/controlliautomaticigestionale.htm ANALISI ARMONICA Ing. Federica Grossi Tel. 059 2056333 e-mail: [email protected]
Telescopio per raggi cosmici Analisi dei dati raccolti
Telescopio per raggi cosmici Analisi dei dati raccolti Guida passo per passo Versione: 1.1 Data: 27 novembre 2018 1 1 Sommario 1. CREAZIONE DEI FOGLI DI LAVORO GOOGLE...3 2 IMPORTAZIONE DEI DATI...4 3
Modulo 4 Esercitazione Nr 2 Office 2007
MODULO 4 : EXCEL ESERCITAZIONE N 2 Dopo aver lanciato in esecuzione il Programma EXCEL eseguire le seguenti istruzioni : 1. Dopo avere rinominato il Foglio 1 col nome GENNAIO, impostare le larghezze delle
PROVA SCRITTA DI FONDAMENTI DI AUTOMATICA A.A. 2004/ settembre 2005 TESTO E SOLUZIONE
PROVA SCRITTA DI FONDAMENTI DI AUTOMATICA A.A. 4/5 settembre 5 TESTO E Esercizio In riferimento allo schema a blocchi in figura. y y u - s5 sk y k s y 4 Domanda.. Determinare una realizzazione in equazioni
Fondamenti di Automatica (CL Ing. Gestionale) a.a Prof. Silvia Strada 16 Luglio 2014
Politecnico di Milano Fondamenti di Automatica (CL Ing. Gestionale) a.a.2013-14 Prof. Silvia Strada 16 Luglio 2014 Nome e Cognome:........................... Matricola........................... Firma............................................................................
Controlli Automatici Compito del - Esercizi
Compito del - Esercizi. Data la funzione di trasferimento G(s) = s (s +),sicalcoli a) La risposta impulsiva g(t); b) L equazione differenziale associata al sistema G(s); c) Si commenti la stabilità del
Ingegneria e Tecnologie dei Sistemi di Controllo ANALISI ARMONICA
Ingegneria e Tecnologie dei Sistemi di Controllo ANALISI ARMONICA Luigi Biagiotti DEIS-Università di Bologna Tel. 5 29334 e-mail: [email protected] Analisi armonica di sistemi dinamici Analisi nel
CONTROLLI AUTOMATICI Ingegneria Meccanica e Ingegneria del Veicolo. DIAGRAMMI DI BODE
CONTROLLI AUTOMATICI Ingegneria Meccanica e Ingegneria del Veicolo http://www.dii.unimore.it/~lbiagiotti/controlliautomatici.html DIAGRAMMI DI BODE Ing. e-mail: [email protected] http://www.dii.unimore.it/~lbiagiotti
MATLAB: DIAGRAMMI DI BODE E METODO DEI
Silvio Navaretti (Fedhman) MATLAB: DIAGRAMMI DI BODE E METODO DEI NODI 13 December 2015 Ognitanto capita di dover risolvere un circuito col metodo dei nodi. Si può far lavorare uno Spice qualunque, ma
ossia può anche essere localizzato univocamente sul piano complesso con la sua forma polare.
ALGEBRA COMPLESSA Nel corso dei secoli gli insiemi dei numeri sono andati man mano allargandosi per rispondere all esigenza di dare soluzione a equazioni e problemi sempre nuovi I numeri complessi sono
Diagrammi asintotici di Bode: esercizi. Tracciare i diagrammi asintotici di Bode della seguente funzione G(s): s 2. s(s 30)(1+ s
.. 3.2 1 Nyquist: Diagrammi asintotici di Bode: esercizi Tracciare i diagrammi asintotici di Bode della seguente funzione G(s): 6(s2 +.8s+4) s(s 3)(1+ s 2 )2. Pendenza iniziale: -2 db/dec. Pulsazioni critiche:
