La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Seminario MATLAB Corso di Controlli Automatici A Concetti introduttivi Operatori logici Linguaggio MATLAB: costrutti tipici (IF,WHILE…) Comandi di INPUT/OUTPUT.

Presentazioni simili


Presentazione sul tema: "Seminario MATLAB Corso di Controlli Automatici A Concetti introduttivi Operatori logici Linguaggio MATLAB: costrutti tipici (IF,WHILE…) Comandi di INPUT/OUTPUT."— Transcript della presentazione:

1 Seminario MATLAB Corso di Controlli Automatici A Concetti introduttivi Operatori logici Linguaggio MATLAB: costrutti tipici (IF,WHILE…) Comandi di INPUT/OUTPUT Funzioni MATLAB Schema della lezione

2 Seminario MATLAB Corso di Controlli Automatici A Definizione di una matrice: >> A=[ 1,5,3 ; 4,3,2; 3,1,9 ] ; A= [ ] Concetti introduttivi Lettura di un singolo elemento della matrice: >> X= A (2,3) X=2

3 Seminario MATLAB Corso di Controlli Automatici A TRASPOSTA: >> B=A ( oppure B=transpose(A) ) B= [ ] DETERMINANTE: >> X = det (A) X = -140 INVERSA DELLA MATRICE >> B = inv (A)

4 Seminario MATLAB Corso di Controlli Automatici A VETTORI: matrici con una dimensione unitaria. VETTORE RIGA: a = [ 1, 2, 3] VETTORE COLONNA: a = [ 1 ; 2 ; 3 ] Generazione di un vettore di indici: I = Valore_Iniziale : delta : Valore_finale Esempio : >> I = 0 : 1 : 10 I = [ ] Maggiori informazioni: Menu Help-> Help Window matlab\matfun

5 Seminario MATLAB Corso di Controlli Automatici A Comandi del Control System Toolbox Rappresentazione nello spazio degli stati: comando ss >> SYS = ss ( A, B, C, D ) Rappresentazione mediante funzione di trasferimento: comando tf >> SYS = tf ( NUM, DEN) = tf ( [ 1,2,6], [1,1,5,8])

6 Seminario MATLAB Corso di Controlli Automatici A Comandi del Control System ToolBox Rappresentazione ZERI-POLI-GUADAGNO: comando zpk >> SYS = zpk ( [Z1,Z2,..,Zm], [P1,P2,…,Pn], K ) ESEMPIO: >> SYS = zpk ([-1], [2,-3], 2 )

7 Seminario MATLAB Corso di Controlli Automatici A Risposta allimpulso e al gradino del modello : Comandi STEP e IMPULSE 2 modi di utilizzo: step ( SYS) => i tempi di campionamento vengono scelti automaticamente ; step (SYS, T) => T definisce gli istanti di campionamento T = T i niziale : step : T finale ( vettore colonna ) [ Y, T1 ] = step ( SYS, T) => non viene plottato il risultato, nella matrice ( o vettore) Y si ha landamento delle uscite mentre T1 contiene il vettore degli istanti di campionamento. Plot( T1,Y) => visualizzazione dei risultati.

8 Seminario MATLAB Corso di Controlli Automatici A Operatori comparativi Forniscono un risultato di tipo BOOLEAN: VERO o FALSO. Si dispone di 6 operatori: UGUAGLIANZA : eq oppure == DISUGUAGLIANZA : ne oppure ˜= MINORE DI … : lt oppure < MAGGIORE DI.. : gt oppure > MAGGIORE O UGUALE: ge oppure >= MINORE O UGUALE.. : le oppure <=

9 Seminario MATLAB Corso di Controlli Automatici A MODO DI UTILIZZO : >> RIS = A < B oppure RIS = lt ( A,B ) A,B sono 2 matrici della stessa dimensione oppure o A o B scalare. Viene effettuata una comparazione elemento per elemento e viene ritornata la matrice RIS in cui ho 1 se VERO o 0 se FALSO. ESEMPIO: A = [ ] B = [ ] RIS = lt (A,B) => RIS = [ ]

10 Seminario MATLAB Corso di Controlli Automatici A Operatori logici Operatori binari: FORMATO: RIS = operatore ( A, B) AND oppure & => VERO se entrambi diversi da zero OR oppure ! => VERO se almeno un valore diverso da zero XOR=>ritorna FALSO se i valori sono entrambi = 0 o diversi da 0 Operatori monari : FORMATO: RIS = operatore ( A ) NOT => VERO se il valore e uguale a 0, FALSE altrimenti. ANY => se A e un array ritorna VERO se tutti i valori sono diversi da 0 ALL => se A e un array ritorna VERO se almeno un valore e diverso da 0

11 Seminario MATLAB Corso di Controlli Automatici A Costrutti per la programmazione MATLAB Vengono utilizzati per una programmazione evoluta Molto simili ai costrutti del linguaggio C MATLAB fornisce 4 costrutti fondamentali: IF FOR WHILE SWITCH

12 Seminario MATLAB Corso di Controlli Automatici A COSTRUTTO IF Viene utilizzato quando lesecuzione di un certo numero di istruzioni e vincolata al soddisfacimento di una certa espressione logica. FORMATO COMPLETO: IF (espressione_logica) blocco_istruzioni; ELSE IF (espressione_logica) blocco_istruzioni; ELSE blocco_istruzioni; END

13 Seminario MATLAB Corso di Controlli Automatici A I blocchi ELSE IF ed ELSE sono opzionali. Lespressione logica deve ritornare un valore scalare. ESEMPIO: IF (Temperatura>25) ARIA_FREDDA=1; ELSE IF (Temperatura>20) ARIA_FREDDA=0; ARIA_CALDA=0; ELSE ARIA_CALDA=1; END

14 Seminario MATLAB Corso di Controlli Automatici A Costrutto FOR Il FOR viene utilizzato quando un gruppo di istruzioni deve essere ripetuto un determinato numero di volte. FORMATO: FOR INDICE = VALORE_IN: STEP: VALORE_FIN Blocco_istruzioni; END STEP = incremento del contatore ad ogni ciclo.

15 Seminario MATLAB Corso di Controlli Automatici A ESEMPIO: vogliamo generare un vettore a RAMPA I=1; FOR t=0: 0.1 : 5 Y(I) = t ; I=I+1; END Y diviene un vettore composto da 50 valori: Y= [ 0, 0.1, 0.2, 0.3, 0.4, …., 5]

16 Seminario MATLAB Corso di Controlli Automatici A Costrutto WHILE Viene utilizzato quando un gruppo di istruzioni deve essere ripetuto finche unespressione logica risulta vera. Anche in questo caso lespressione deve fornire un valore scalare. FORMATO: WHILE (espressione_logica) Blocco_istruzioni; END ESEMPIO: WHILE (Temperatura<25) ARIA_CALDA=1; END

17 Seminario MATLAB Corso di Controlli Automatici A Costrutto SWITCH Viene utilizzato quando il blocco di istruzioni da eseguire dipende dal valore di una certa variabile. Può essere sostituito da una serie di IF. FORMATO: SWITCH variabile CASE (caso1) blocco_istruzioni; CASE (caso2) blocco_istruzioni; ……. OTHERWISE blocco_istruzioni; END

18 Seminario MATLAB Corso di Controlli Automatici A ESEMPIO: SWITCH (a) CASE (1) % se a=1 allora esegue queste istruzioni Y(1) = a; CASE(2) Y(1)=a-1; OTHERWISE Y(1)=0; END Menu Help->Help Window: matlab\lang

19 Seminario MATLAB Corso di Controlli Automatici A Istruzione BREAK Questa istruzione viene utilizzata per terminare un ciclo prima del previsto, si utilizza allinterno di cicli FOR o WHILE. ESEMPIO: for I=0:1000 a=controllo_temperatura(); if (a>2000) break; % esco dal ciclo for end stampa_temperatura(a); end

20 Seminario MATLAB Corso di Controlli Automatici A ISTRUZIONI DI INPUT-OUTPUT: INPUT FPRINTF INPUT: interazione con lutente nello spazio di lavoro di MATLAB. Viene utilizzata per leggere valori immessi dallutente VALORE = INPUT ( stringa di testo ); FPRINTF: viene utilizzata come in C per visualizzare nello spazio di lavoro il contenuto delle variabili. FPRINT ( stringa %x,valore ) %d = valore intero %f = valore floating

21 Seminario MATLAB Corso di Controlli Automatici A FUNZIONI MATLAB E possibile aggiungere alle funzioni già esistenti altre costruite da noi in modo da risolvere problemi specifici. Le variabili definite allinterno di una funzione sono LOCALI. FORMATO: FUNCTION [ output ] = nome_function ( input ) blocco_istruzioni; Allinterno della function i parametri di output vengono settati e viene ritornato il loro valore al termine della funzione stessa. Non cè bisogno di utilizzare il return come in C. Si creano come degli script e si salvano nel formato: nome_function.m


Scaricare ppt "Seminario MATLAB Corso di Controlli Automatici A Concetti introduttivi Operatori logici Linguaggio MATLAB: costrutti tipici (IF,WHILE…) Comandi di INPUT/OUTPUT."

Presentazioni simili


Annunci Google