Cenni sull'impiego di Matlab. Matrici



Documenti analoghi
Principali comandi MATLAB utili per il corso di Controlli Automatici

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c

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

Prof.ssa Paola Vicard

Control System Toolbox

Interpolazione ed approssimazione di funzioni

Potenzialità statistiche Excel

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

Teoria in sintesi 10. Attività di sportello 1, 24 - Attività di sportello 2, 24 - Verifica conclusiva, 25. Teoria in sintesi 26

GRANDEZZE SINUSOIDALI

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

LABORATORIO-EXCEL N. 2-3 XLSTAT- Pro Versione 7 VARIABILI QUANTITATIVE

Fogli Elettronici: MS Excel

Appunti di: MICROSOFT EXCEL

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Fondamenti di Automatica

( x) ( x) 0. Equazioni irrazionali

Strumenti informatici Realizzare grafici e tabelle con Excel e SPSS

Uso di base delle funzioni in Microsoft Excel

Prof.ssa Paola Vicard

La grafica. La built-in funzione grafica plot. x spezzata poligonale. discretizzato

31/10/2012. Lo studio delle funzioni permette di interpretare la variazione di due grandezze, l una rispetto l altra, quando

Corso di. Dott.ssa Donatella Cocca

MODULO 4: FOGLIO ELETTRONICO (EXCEL)

Excel avanzato. I nomi. Gli indirizzi e le formule possono essere sostituiti da nomi. Si creano tramite Inserisci Nome Definisci

Rappresentazione nello spazio degli stati

Corso di Matematica per la Chimica

Fogli Elettronici: MS Excel utilizzo avanzato

2 FUNZIONI REALI DI VARIABILE REALE

Test Excel conoscenze di Base

4. Proiezioni del piano e dello spazio

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

Esponenziali elogaritmi

PROGETTO EM.MA PRESIDIO

8.9 CREARE UNA TABELLA PIVOT

Metodi statistici per le ricerche di mercato

Finestre grafiche. >> figure >> figure(n)

Codifica binaria dei numeri relativi

L analisi dei dati. Capitolo Il foglio elettronico

INTRODUZIONE A EXCEL ESERCITAZIONE I

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

CONCETTO DI LIMITE DI UNA FUNZIONE REALE

Lezione 9: Cambio di base

Il foglio elettronico. Excel PARTE

Dimensione di uno Spazio vettoriale

ISTITUTO D'ISTRUZIONE SUPERIORE A. MOTTI PROGRAMMAZIONE ANNUALE ANNO SCOLASTICO 2014 /2015

Introduzione al Foglio Elettronico

UD6 - MATLAB. Gestione della grafica

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda

Politecnico di Bari Facoltà di Ingegneria

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

Excel. Excel. Videata iniziale Fogli elettronici. Fogli elettronici. Come si inserisce un dato

ESTRAZIONE DI RADICE

RISOLUTORE AUTOMATICO PER SUDOKU

FORMULE: Operatori matematici

MATLAB Analisi di Sistemi LTI

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

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

Utilizzo di index() per determinare la colonna delle x

LE FUNZIONI E LE LORO PROPRIETÀ

Relazioni statistiche: regressione e correlazione

ColorSplitter. La separazione automatica dei colori di Colibri.. Perché ColorSplitter? Come opera ColorSplitter?

Università di L Aquila Facoltà di Biotecnologie Agro-alimentari

LA FUNZIONE DI TRASFERIMENTO

Parte IV. I fogli elettronici e Excel

Lezione 8. La macchina universale

Analisi Matematica di circuiti elettrici

LABORATORIO EXCEL XLSTAT 2008 SCHEDE 2 e 3 VARIABILI QUANTITATIVE

II.f. Altre attività sull euro

OSSIF WEB. Manuale query builder

Psicometria (8 CFU) Corso di Laurea triennale STANDARDIZZAZIONE

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

Funzioni in C. Violetta Lonati

Tabelle Pivot - DISPENSE

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};

Per studio di funzione intendiamo un insieme di procedure che hanno lo scopo di analizzare le proprietà di una funzione f ( x) R R

Microsoft Excel. Il foglio elettronico Microsoft Excel Cartelle, Fogli di lavoro e celle Contenuto delle celle. Numeri, date, formule, testo, funzioni

ISTITUTO D ISTRUZIONE SUPERIORE "L. EINAUDI" ALBA

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

4 3 4 = 4 x x x 10 0 aaa

7.4 Estrazione di materiale dal web

Gestione Centro Estetico

Sistema di numerazione binario, operazioni relative e trasformazione da base due a base dieci e viceversa di Luciano Porta

Il file seme o file modello del disegno

Nome: Nr. Mat. Firma:

Indice Statistiche Univariate Statistiche Bivariate

Per effettuare la stampa di una cartella di lavoro si accede al comando. Stampa dal menu File o si utilizza il pulsante omonimo sulla barra

Altre funzioni utili SINTASSI ED ESEMPI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

Scilab: I Polinomi - Input/Output - I file Script

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

Quickstart. Cos è GeoGebra? Notizie in pillole

Metodi Stocastici per la Finanza

Modulo: Fogli elettronici

FIRESHOP.NET. Gestione completa degli ordini e degli impegni. Rev

Statistica Sociale Laboratorio 2

Università del Piemonte Orientale. Corsi di Laurea Triennale di Area Tecnica. Corso di Statistica e Biometria. Statistica descrittiva

Test, domande e problemi di Robotica industriale

Transcript:

Cenni sull'impiego di Matlab Il Matlab è un potente valutatore di espressioni matriciali con valori complessi. Lavorando in questo modo il Matlab indica una risposta ad ogni comando od operazione impartitagli. Per evitarla, soprattutto in occasione di risultati intermedi si deve utilizzare ; a fine riga. In genere una riga di Matlab è del tipo: variabile = espressione; Da notare che si utilizza il segno = per l' assegnazione. Il Matlab offre la possibilità di lavorare sia su numeri reali che su complessi, nella forma di scalari o array. Inoltre consente di operare con polinomi, che vengono rappresentati come righe di coefficenti. Matrici I valori vanno posti all'interno di [ e ] separati tra loro con spazio oppure con la virgola. Per la scrittura esistono due modi: 1. per righe: > a = [ 1 1 0 enter 5,8 9 enter 4 7 2] enter gli elementi in questo caso sono stati separati con la virgola anziché con lo spazio a = 1 1 0 5 8 9 4 7 2 il Matlab risponde visualizzando la sua interpretazione della matrice a. Se non si riteneva necessaria la visualizzarione, era necessario terminare l'input con ; cioè 4 7 2 ]; 2. attraverso carattere separatore ";" >b = [ 2 2 5; 6 9 1; 3 1 3; 7 0 1] le righe vengono separate con ; b =

Impiego di MATLAB 2 2 2 5 6 9 1 3 1 3 7 0 1 Ora che conosciamo i modi per inserire una matrice passiamo ad osservare le operazioni possibili: Siano: >a = [1 1; 2 7]; >b = [2 5; 8 6]; due matrici. Per avere informazioni sulle funzioni digitare > help funzione Per avere inforamazioni sulle funzioni digitare > help funzione

Impiego di MATLAB 3 la somma: >c = a+b c = 3 6 10 13 la differenza >d = a-b d = -1-4 -6 1 il prodotto scalare la trasposizione >p=a*b >a' p = 1 2 10 11 1 7 60 52 il calcolo del determinante >det(a) 5 inversa di una matrice coefficienti del polinomio >inv(a) caratteristico >poly(a) 1.4000-0.2000-0.4000 0.2000 1-8 5 da leggere come coefficienti delle incognite a partire dal grado più alto fino al termine noto autovalori ed autovettori >[v,lambda]=eig(a) v = -0.9534-0.1564 0.3019-0.9877 autovettori destri tali che: a= v*lambda*inv(v)

Impiego di MATLAB 4 lambda = 0.6834 0 0 7.3166 l'uscita di questa funzione può essere assegnata anche ad una sola variabile. In questo caso Matlab restituirà i soli autovalori della matrice. rango della matrice dimensioni >rank(a) >[m,n]=size(a) = 2 m = 2 n = 2 vettori Per la creazione dei vettori valgono le considerazioni fatte per le matrici, cioè vettore riga: >v = [ 1 2 3 4 5 6] vettore colonna: >u = [ 1; 2; 3; 4; 5; 6] oppure >u = [1 2 : 6] è possibile separare gi elementi con la virgola E' possibile definire vettori anche nel seguente modo: variabile=[<valore iniziale>:<step>:<valore finale>]; P. si vuole costruire un vettore dei tempi >t = [0:0.1:10]; in questo caso il ; a fine riga risulta essere molto utile altrimenti si avrebbe lo scroll dei 101 valori di t, da 0 fino a 10 con passo 0.1

Impiego di MATLAB 5 >plot(t,sin(t)) si passa in modalità grafica e si visualizza la funzione seno nell intervallo [0,10] Altre interessanti costruzioni di vettori sono attraverso l'uso delle funzioni zeros e ones, utili ad esempio quando si intende simulare un gradino >unit=[zeros(1,5) ones(1,5)] unit = 0 0 0 0 0 1 1 1 1 1 Se si vogliono considerare i vettori (matrici) alla stregua di una sequenza di scalari, le operazioni vanno precedute da "." E' utile a tal proposito osservare l'esempio che segue. >a=[1 2; 4 3]; denota la matrice 1 2 4 3 >a^2 9 13 16 17 è il risultato del prodotto tra matrici: a * a cioè 1 2 * 1 2 4 3 4 3 invece il comando seguente >a.^2 1 4 16 9 in questo caso il comando eleva al quadrato ogni singolo elemento della matrice a Le funzioni max(variabile_vettore) e min(variabile_vettore) individuano rispettivamente il valore massimo e minimo all' interno del vettore specificato. Per le matrici queste due

Impiego di MATLAB 6 funzioni restituiscono un vettore contenente i massimi di ciascuna colonna. Per ottenere il massimo (minimo) assoluto è necessario applicare due volte la funzione max (min). Polinomi I polinomi in Matlab sono espressi attraverso righe. Sia per esempio il polinomio in s come s 2 +2s+5=0 del quale si cercano le radici. Il vettore è formato dai coefficienti della variabile iniziando dalla potenza più alta. >p=[1 2 5]; radici del polinomio prodotto di due polinomi >soluzioni=roots(p) >p1=[1 2 0 4] rappresenta il polinomio soluzioni = >p12=conv(p,p1) s 3 +2s 2 +4=0-1.0000+2.0000i p12 = -1.0000-2.0000i 1 4 9 14 8 20 corrisponde al polinomio: S 5 +4S 4 +9S 3 +14S 2 +8S+20=0 divisione tra due polinomi >p3=[1 5 8]; >[quoziente,resto]=deconv(p12,p3) quoziente = 1-1 6-8 resto = 0 0 0 0 0 84 corrisponde ad avere S 3 -S 2 +6S-8+ 84 (S 2 +5S+8) espione in fratti semplici >numeratore=[1 5]; >denominatore=[1 3.8 2.4];

Impiego di MATLAB 7 >[residui,poli,leg_ist]=residue(numeratore,denominatore) residui = -0.9091 1.9091 poli = -3.0000-0.8000 in questa maniera si ottiene la scomposizione in fratti semplici. I effetti quello che si ottiene è: leg_ist= [] R 1 + R 2 S - P 1 S - P 2-0.9091 + 1.9091 S + 3 S + 0.8 +legami istantanei = ossia + 0 Trasformazioni da funzione di trasferimento a spazio degli stati >numeratore=1; >denominatore=[1 10 100]; >[a,b,c,d]=tf2ss(numeratore,denominatore) a = b = -10-100 1 1 0 0 c = d = corrisponde ad avere una Fdt 1 (S 2 +10S+100) equivale al sistema: dx 1 /dt= -10x 1-100x 2 + u dx 2 /dt= x 1 y= x 2

Impiego di MATLAB 8 0 1 0 da spazio degli stati a funzione di trasferimento >a=[1 1;0 1]; >b=[1;1]; >c=[1 0]; >d=0; >[num,den]=ss2tf(a,b,c,d) num = 0.0000 1-0.0000 equivale al sistema: dx 1 /dt= x 1 +x 2 + u dx 2 /dt= x 2 + u y= x 1 den = 1-2 1 Funzioni Grafiche Il Matlab mette a disposizione varie funzioni grafiche: >t=[0:0.1:10]; >omega=50; Il comando plot permette di visualizzare in modo grafico i valori del vettore passato. Per questo caso il >y=sin(omega*t); vettore t rappresenta le ascisse mentre y il vettore da >plot(t,y) graficare

Impiego di MATLAB 9 possiamo anche sovrapporre due o più grafici utilizzando un comando che "congela" le immagini: >hold on Si può ancora sovrapporre una griglia utilizzando: >grid Inoltre è possibile modificare la scala degli assi: >axis=([xmin,xmax,ymin,ymax]); oppure apporre un titolo al grafico visualizzato: >title("stringa"); >xlabel("stringa"); pone la stringa specificata sull asse x. Esiste la variante per l asse y che è: >ylabel( stringa ); questo è il risultato utilizzando il comando grid dopo plot... >plot(t,y);grid (Nota: i diagrammi appaiono leggermente diversi da quelli ottenuti con Matlab)

Impiego di MATLAB 10 funzione seno in questo esempio si sono dati i comandi: >title("funzione seno") >xlabel("time") time Il Matlab permette anche il controllo attraverso mouse: questo comando permette di posizionare il testo >gtext("stringa"); specificato attraverso puntamento mouse >[x,y]=ginput; visualizza il puntatore crossahair e ne restituisce le coordinate rispetto alla finestra grafica Diagrammi Sono disponibili vari tipi di diagrammi. Quelli di nostro interesse sono : 1. risposte nel dominio del tempo al gradino all'impulso ad un ingresso generico 2. risposta in frequenza diagramma di BODE diagramma di NYQUIST

Impiego di MATLAB 11 La risposta all'impulso è richiamata attraverso una funzione apposita, la quale permette di visualizzare l'andamento nel tempo della risposta. Come argomenti la funzione impulse accetta sia la funzione di trasferimento ( esprimendo numerarore e denominatore) che la rappresentazione nello spazio di stato specificando le matrici A,B,C,D. >num=1; rappresenta la funzione di trasferimento: >den=[conv([1 0],[1 5])]; 1 S(S+5) >impulse(num,den),grid; Lo stesso discorso può essere esteso per la risposta al gradino. In questo caso la funzione da utilizzare è step. 2.5 >num=500; >den=[1 16 65 300]; 2 >step(num,den),grid; 1.5 1 0.5 0 0 1 2 3 Time (secs) Alternativamente, per avere un miglior controllo del grafico si puo memorizzare l uscita e poi graficare secondo la sintassi dell esempio seguente. La funzione lsim, invece, permette di ottenere in uscita un vettore di valori che corrispondono alla risposta del sistema alla generica vettore di campioni dell'ingresso U specificata in lsim. Gli argomenti di lsim come al solito possono essere sia la F.d.T. che la rappresentazione nelle variabili di stato.

Impiego di MATLAB 12 : >omega=500; >t=[0:0.1:10]; >num=50; >den=[1 101 100]; >u=cos(omega*t); >[uscita, stato]=lsim(num,den,u,t); >plot(t,y); la funzione grafica lsim se non assegnata a nessun vettore visualizza la risposta del sistema all ingresso specificato I diagrammi messi a disposizione dal Matlab vers. studente nel dominio della frequenza sono quelli di Bode e di Nyquist per la risposta armonica. Come modello matematico, si possono usare sia le funzioni di trasferimento sia le matrici dello spazio di stato. >num=500; 50 >den=[1 16 65 300]; 0 >bode=(num,den); -50 Un controllo migliore degli assi e del risultato si può ottenere impiegando un vettore delle frequenze w, calcolato con "logspace" e assegnando l'uscita di "Bode" a due variabili, facendone quindi i grafici utilizzando le funzioni semilogx loglog Si ricorda inoltre che la scalatura automatica può essere evitata impiegando la funzione axis. -100 10 0 10 1 10 2 Frequency (rad/sec) 0-180 -360 10 0 10 1 10 2 Frequency (rad/sec)

Impiego di MATLAB 13 In alternativa ai diagrammi di Bode dove sono distinti i grafici del modulo e della fase si può utilizzare il diagramma di Nyquist dove la rappresentazione della risposta in frequenza avviene sul piano complesso. >num=[2 5 1]; >den=[1 2 3]; >nyquist(num,den); 2 1.5 1 A xs m ag 0.5 0-0.5-1 -1.5-2 0 1 2 3 4 Real Axis Si rammenta che questa è una guida veloce dei comandi in Matlab più utilizzati per la risoluzione degli esercizi dati durante il corso, ulteriori informazioni sui comandi presenti si possono ottenere con >help (visualizza una lista dei comandi disponibili) >help <nome comando> Chi volesse approfondire la conoscenza degli strumenti offerti da Matlab può consultare inoltre uno dei manuali presenti in biblioteca, relativi alla versione student. La versione professionale ha "toolboxes" dedicate ai problemi più disparati, dalle analisi economiche/finanziarie, alla statistica, alla stechiometria, alla progettazione di filtri, ha grandi capacità grafiche in 3D e include un simulatore di sistemi (descritti come diagrammi a blocchi) di ottimo livello.