Laboratorio di MATLAB

Documenti analoghi
Laboratorio di Matlab

Laboratorio di Matlab

Il programma OCTAVE per l insegnamento dell algebra lineare nella Scuola Secondaria p. 1

MATLAB (1) Introduzione e Operazioni con array

UD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita

MATLAB (3) - Grafica 2 e 3D

Introduzione agli ambienti

Lezioni su MATLAB. Ingegneria Civile/Meccanica

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

UD6 - MATLAB. Gestione della grafica

Introduzione a Matlab

Manuale di MATLAB. (livello base)

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

Software di calcolo numerico, analisi, statistica e simulazione. Un esempio pratico: Octave

Laboratorio 2. Calcolo simbolico, successioni, limiti e derivate

SISTEMI DI CONTROLLO Ingegneria Meccanica e Ingegneria del Veicolo

FON DAMEN TI DI IN FORMATICA

Control System Toolbox

ACCESS. Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati.

Grafici e Pagina web

Esame di FONDAMENTI DI AUTOMATICA (9 crediti) SOLUZIONE

Generazione di Numeri Casuali- Parte 2

Importazione dati. e/fiscali Spesometro - Rel con gestionale e/satto. Gestionale e/satto

Introduzione a MATLAB. Il Laboratorio. MATLAB Cos è? Oltre alle lezioni. Octave ( ) Scilab ( )

Risoluzione di problemi ingegneristici con Excel

Introduzione a MATLAB INTRODUZIONE A MATLAB

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/

Principali comandi MATLAB utili per il corso di Controlli Automatici

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre Negli esercizi proposti si utilizzano le seguenti classi:

INTRODUZIONE A MATLAB Matrix Laboratory

Operazioni su stringhe

(1) (2) (3) (4) 11 nessuno/a (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

LEZIONE DI MATLAB 2.0. Ing.Irene Tagliente

PON Liceo Scientifico Leonardo da Vinci. Vallo della Lucania

Rapida Introduzione all uso del Matlab Ottobre 2002

Procedura operativa per la gestione della funzione di formazione classi prime

Introduzione al MATLAB c Parte 1

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014

INTRODUZIONE A. Guido Vagliasindi Controlli Automatici A.A. 06/07 Introduzione a MATLAB

3.5.1 PREPARAZ1ONE I documenti che si possono creare con la stampa unione sono: lettere, messaggi di posta elettronica, o etichette.

Cenni sull'impiego di Matlab. Matrici

Esercitazione 4. Comandi iterativi for, while, do-while

Algebra di Boole Algebra di Boole

ITCS Erasmo da Rotterdam. Anno Scolastico 2014/2015. CLASSE 4^ M Costruzioni, ambiente e territorio

Come si progetta un circuito Perché simulare un circuito Cosa vuol dire simulare un circuito Il Simulatore Pspice Pacchetti che contiene Pspice

Gestione risorse (Windows)

BOZZA Introduzione a MATLAB

Quick Print. Quick Print. Guida Utente. Copyright 2013 Hyperbolic Software.

MATEMATICA GENERALE Prova d esame del 4 giugno FILA A

WINDOWS Avviare Windows95. Avviare Windows95 non è un problema: parte. automaticamente all accensione del computer. 2. Barra delle applicazioni

MATLAB: Una veloce introduzione (Parte II)

Calcolo Numerico A.A Esercitazione n

Esercitazione Dicembre 2010 (2 ore)

Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari

INTRODUZIONE ALLE BASI DATI RELAZIONALI

SOTTOSPAZI E OPERAZIONI IN SPAZI DIVERSI DA R n

GRIGLIA DI CORREZIONE 2013 Matematica Classe I Scuola secondaria di primo grado FASCICOLO 1

Modulo 1 Information Communication Technology. ICT e computer... Pag. 6 Classificazione dei computer...» 8

if t>=0 x=1; else x=0; end fornisce, nella variabile x, il valore della funzione gradino a tempi continui, calcolata in t.

Introduzione a Matlab e Simulink. Matteo Sartini matteo.sartini@unibo.it Tel (051-20)93872

Corso di Visione Artificiale. Matlab per Visione. Samuel Rota Bulò

* in giallo le modifiche apportate rispetto alla versione precedente datata 17/04/2012

MATRICI E VETTORI APPROFONDIMENTO PER IL CORSO DI LABORATORIO DI INFORMATICA SARA POLTRONIERI

Introduzione al MATLAB c

IL CONCETTO DI FILE. È illecito operare oltre la fine del file.

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

Laboratorio per l Elaborazione MultiMediale Lezione 1 - Introduzione a Matlab R

Progetto NoiPA per la gestione giuridicoeconomica del personale delle Aziende e degli Enti del Servizio Sanitario della Regione Lazio

Laboratorio Algoritmi 2014 Secondo Semestre

CONTROLLI AUTOMATICI E AZIONAMENTI ELETTRICI Ingegneria Meccatronica

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

Metodi per la risoluzione di sistemi lineari

EXCEL. Alfabetizzazione Informatica Prof. GIUSEPPE PATTI

Gestione di files Motivazioni

Grafici tridimensionali

PSICOMETRIA. Esercitazione n.1. C.d.L. Comunicazione e Psicologia a.a. 2012/13

PowerDIP Software gestione presenze del personale aziendale. - Guida all inserimento e gestione dei turni di lavoro -

Quadro riassuntivo di geometria analitica

Manuale d uso DropSheep 4 imaio Gestione Pixmania-PRO Ver 1.1

Corso di Laurea in Ingegneria Informatica Analisi Numerica

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

Funzioni condizionali

Autodesk Map parte I digitalizzazione e importazione dati

Tutorial. Mathworks Matlab

Questa è la finestra dei dettagli, è possibile selezionare anche da qui un modello o un pezzo per essere aperto.

1 DESCRIZIONE DELLE FUNZIONI REGISTRAZIONE UTENZE INTERNET Caricamento utente internet (data entry)... 3

OPERAZIONI CHIUSURA E APERTURA Note operative

Come utilizzare i riferimenti assoluti e relativi in Microsoft Excel

Lab. 1 - Introduzione a Matlab

SQL Server Architettura Client-Server. SQL Server Introduzione all uso di SQL Server Dutto Riccardo.

MATLAB Analisi di Sistemi LTI

Manuale utente Soggetto Promotore Erogatore Politiche Attive

I database. Introduzione alla teoria delle basi di dati

Capitolo 1. Il MATLAB. 1.1 Introduzione al MATLAB

SIGEN GESTIONI PROVE GRUPPI ELETTROGENI

VALORIZZAZIONE MOVIMENTI DI SCARICO E VALORIZZAZIONE TRASFERIMENTO COSTI DI ANALITICA

Applicazioni lineari e diagonalizzazione. Esercizi svolti

MANUALETTO PER MATLAB

Transcript:

DII Università di Siena Laboratorio di MATLAB Fabio Morbidi Dipartimento di Ingegneria dell Informazione, Università di Siena morbidi@dii.unisi.it http://www.dii.unisi.it/ control/matlab/labmatlab.html Luglio 2007

Programma Lab. Matlab Lun 09/07 ore 14.00-18.00 Mer 11/07 ore 14.00-18.00 start up, funzioni di base m-files, grafica Lun 16/07 ore 14.00-18.00 controllo di flusso, functions, esercitazione 1 Mer 18/07 ore 14.00-18.00 Symbolic toolbox, Control system toolbox Lun 23/07 ore 9.00-13.00 Simulink, esercitazione 2 Mer 25/07 ore 9.00-13.00 Idoneità Testo di riferimento: Guida operativa a MATLAB SIMULINK e Control Toolbox, A. Cavallo, R. Setola, F. Vasca, Liguori Editore, 1994.

Indice 1 Start up 2 1.1 Vettori e Matrici........................... 5 1.2 OPS: Operatori e caratteri speciali.................. 7 1.2.1 operatori aritmetici...................... 7 1.2.2 operatori relazionali...................... 8 1.2.3 operatori logici........................ 9 1.3 Funzioni matriciali.......................... 10 1.3.1 matrici elementari....................... 10 1.3.2 informazioni sulle matrici................... 10 1.3.3 manipolazione di matrici.................... 11

1.3.4 variabili speciali........................ 14 1.4 funzioni elementari.......................... 15 1.4.1 trigonometriche ed iperboliche................ 15 1.4.2 Altre funzioni......................... 16 1.5 Help................................. 17 1.6 Esercizio 1.............................. 18 1.7 Tipi di dato multidimensionali..................... 19 1.7.1 cellarray........................... 19 1.7.2 strutture........................... 20 1.8 M-files................................ 22 1.8.1 script files........................... 23 1.8.2 gestione M-files........................ 24 1.8.3 stringhe............................ 25

1.9 Esercizio 2.............................. 28 2 Grafica 29 2.1 Grafica 2D.............................. 30 2.1.1 funzioni correlate....................... 31 2.1.2 Traiettorie in R 3........................ 36 2.1.3 Superfici........................... 37 2.1.4 Esercizio 3.......................... 40 2.1.5 Esercizio 4.......................... 40 3 Istruzioni di controllo di flusso 41 3.1 for.................................. 42 3.2 while................................. 44 3.3 if................................... 46

3.4 case................................. 48 3.5 Esercizio 5.............................. 50 4 Function 51 4.1 Esercizio 6.............................. 53 4.2 Esercizio 7.............................. 53 5 Symbolic toolbox 54 5.1 funzioni di base........................... 55 5.2 Calcolo............................... 57 5.2.1 derivate............................ 57 5.2.2 integrali............................ 59 5.2.3 limiti............................. 60 5.3 Algebra lineare............................ 61

5.3.1 inversa............................ 61 5.3.2 determinante......................... 62 5.3.3 autovalori........................... 63 5.4 Semplificazione di espressioni algebriche............... 64 5.5 Soluzione di equazioni........................ 66 5.6 Grafica................................ 68 5.6.1 ezplot............................. 68 5.6.2 ezplot3............................ 69 5.6.3 ezmesh, ezsurf........................ 70 5.7 Esercizio 8.............................. 71 6 Control system toolbox 72 6.1 funzioni principali........................... 72

6.1.1 tf............................... 72 6.1.2 zpk.............................. 73 6.1.3 ss.............................. 74 6.1.4 pole............................. 74 6.1.5 zero............................. 75 6.1.6 dcgain............................ 76 6.1.7 impulse............................ 77 6.1.8 step............................. 78 6.1.9 c2d.............................. 79 6.1.10 d2c.............................. 79 6.1.11 ctrb.............................. 79 6.1.12 obsv............................. 79 6.1.13 bode............................. 80

6.1.14 nyquist............................ 80 6.1.15 ltiview............................. 80 7 Altri toolbox di Matlab 81 8 Simulink 83 8.1 Operazioni di base.......................... 84 8.2 blocchi standard........................... 85 8.2.1 Sources........................... 86 8.2.2 Sinks............................. 87 8.2.3 Continuous.......................... 88 8.2.4 Discrete........................... 89 8.2.5 Math Operation........................ 90 8.2.6 Signal Routing........................ 91

8.2.7 User-Defined Functions.................... 91 8.2.8 Discontinuities........................ 92 8.2.9 Subsystems......................... 92 8.3 Esercizio 9 - Simulink........................ 93 8.4 Esercizio 10 - Simulink....................... 94 8.5 Esercizio 11 - Simulink....................... 95

DII 2 Start up MATLAB = Matrix Laboratory aprire e chiudere Matlab interfaccia grafica directory path: >>cd >>cd.. >>cd( percorso_directory ) oppure usare current directory browser.

DII 3 assegnazione di uno scalare >> a=3; >> a=3 a = 3 work space visualizzazione delle variabili nel workspace: >>who visualizza tutte le variabili >>whos visualizza tutte le variabili con descrizione di struttura eliminazione delle variabili dal workspace: >>clear >>clear a; oppure usare workspace browser.

DII 4 ans: ans è il nome della risposta più recente (most recent answer), è quindi una variabile che vive nel work space. richiamo comandi: richiama ultimo comando s+ richiama l ultimo comando che inizia con la stringa s. oppure usare command history browser. salvataggio dati: save filename var1 var2... crea il file filename.mat contente i dati relativi alle variabili var1 var2... (filename deve essere una stringa). caricamento dati: load file_dati.mat carica nel workspace tutti i dati contenuti in file_dati.mat.

DII 5 Vettori e Matrici >>v=[1 2 3]; vettore riga v = 1 2 3 >>v=[1;2;3]; vettore colonna v = 1 2 3

DII 6 >>A=[1 2 3;4 5 6;7 8 9]; matrice oppure >>A=[1 2 3; 4 5 6; 7 8 9]; A = 1 2 3 4 5 6 7 8 9 Attenzione: i nomi delle variabili sono case sensitive: si distingue tra lettere maiuscole e minuscole!! Provare a generare matrici, vettori, scalari...

DII 7 OPS: Operatori e caratteri speciali operatori aritmetici operatore scalare matrice + a + b (A + B) ij = A ij + B ij a b (A B) ij = A ij B ij a b A B / a/b = a b A/B = A B 1 \ a\b = b a A\B = A 1 B. non interessante (A. B) ij = A ij B ij./ non interessante (A./B) ij = A ij B ij.\ non interessante (A.\B) ij = B ij A ij Attenzione: Prodotti matriciali righe per colonne: dimensioni concordi!!!

DII 8 operatori relazionali non esistono variabili booleane 0 : falso tutto ciò che è 0 è vero operatori == = > < >= <= significato = > < Ogni operatore restituisce 1 se è vera la relazione, 0 se è falsa. Tra matrici le dimensioni devono essere concordi, (A op B) ij = A ij op B ij. Matrici e scalari, (A op b) ij = A ij op b

DII 9 operatori logici simbolo & significato and or not a op b restituisce 1 se è vero, 0 se è falso Tra matrici le dimensioni devono essere concordi, (A op B) ij = A ij op B ij. Matrici e scalari, (A op b) ij = A ij op b Questi sono solo alcuni operatori: digitare al prompt help ops provare ad utilizzare gli operatori...

DII 10 Funzioni matriciali matrici elementari A=zeros(m,n) matrice di 0 con m righe e n colonne A=ones(m,n) matrice di 1 con m righe e n colonne A=eye(n) matrice identità di dimensione n n informazioni sulle matrici [m,n]=size(a) ritorna le dimensioni m,n della matrice A R m n M=length(A) ritorna la dimensione massima di A R m n isequal(a,b) ritorna 1 se A=B, 0 altrimenti

DII 11 manipolazione di matrici A=diag(v); A = v 1 0 0 0 v 2 0........ 0 0 v n a=min:passo:max Definisce un vettore a di n = max-min passo con a(1)=min, a(n)=max. + 1 elementi sottomatrici A(v_row,v_col) seleziona la sottomatrice corrispondente agli indici di riga e di colonna definiti rispettivamente nei vettori v_row e v_col. Ad es. A(1:4,2:3) seleziona la sottomatrice 4 2 che ha elementi nelle righe 1 : 4 e colonne 2 : 3.

DII 12 B=A assegna a B il trasposto di A, cioè B = A T. concatenazione orizzontale: A=[B1,B2,...,Bn] oppure A=[B1 B2... Bn] assegna alla matrice A la concatenazione orizzontale delle matrici B1,B2,...,Bn. concatenazione verticale: A=[B1;B2;...;Bn] assegna alla matrice A la concatenazione verticale delle matrici B1,B2,...,Bn. esempio: >>B1=[1 2 3]; >>B2=[4 5 6]; >>A1=[B1 B2] A1= 1 2 3 4 5 6

DII 13 >>A2=[B1;B2] A2= 1 2 3 4 5 6 sotto-assegnazione: >>A2(1,:)=[1 1 1] A2= 1 1 1 4 5 6

DII 14 variabili speciali variabile ans pi i significato risposta più recente π unità immaginaria inf infinito NaN not a number, per operazioni indefinite ( tipicamente 0 0 ) molto di più... help elmat

DII 15 funzioni elementari trigonometriche ed iperboliche sin(x) cos(x) tan(x) asin(y) acos(y) atan(y) atan2(y,x) sinh(x) cosh(x) tanh(x) asinh(y) acosh(y) atanh(y) Attenzione: nelle funzioni trigonometriche x è espresso in radianti!!!

DII 16 Altre funzioni istruzione significato istruzione significato exp(x) e x abs(x) x log(x) ln(x) imag(x) Im(x) log10(x) log 10 (x) real(x) Re(x) log2(x) log 2 (x) conj(x) x sqrt(x) x sign(x) segno(x) xey x 10 y floor(x) x xˆy x y ceil(x) x molto di più... help elfun

DII 17 Help >>help >>help \"nome toolbox" >>help ops >>help elmat >>help elfun >>help "nome funzione" ritorna la sintassi esatta. help html con browser.

DII 18 Esercizio 1 1. Definire una matrice A, 3 5 di zeri (utilizzando la funzione zeros). Definire un vettore a di dimensione 1 5 e assegnarlo alla prima riga di A. Definire una matrice B come la trasposta di A ed estrarne la sottomatrice C, 3 3 composta dalla 2, 3 e 4 riga di B. 2. Siano A, B quelle definite al punto 1. Definire una nuova matrice D, 5 3 diversa dalla matrice nulla. Effettuare le tre moltiplicazioni: M1=D*A M2=A*D M3= moltiplicazione elemento per elemento tra D e B. Verificare con la funzione size che le dimensioni siano: M1 5 5; M2 3 3; M3 5 3. Salvare il workspace con le sole matrici A, B, C, M1, M2, M3.

DII 19 Tipi di dato multidimensionali cellarray matrici i cui elementi sono array; ogni elemento puo avere dimensioni diverse. definizione di un cell array: C={A1 A2;B1 B2} assegna alla variabile C un cellarray di 2 2 elementi corrispondenti alle matrici A1,A2,B1,B2 indicizazzione: D=C{i,j} assegna alla variabile D l elemento (i,j) di C concatenazione orizzontale e verticale: D=[C {A3;B3}] assegna alla variabile D la concatenazione orizzontale di C con il cellarray {A3;B3} D=[C;{A3 B3}] assegna alla variabile D la concatenazione verticale di C con il cellarray {A3 B3}

DII 20 strutture matrici i cui elementi sono accessibili attraverso campi testuali; ogni campo può essere di tipo diverso e con dimensioni diverse definizione di una struttura vuota (non obbligatoria): S=struct( nome,{}, cognome,{}, matricola,{}); assegna alla variabile S una struttura vuota caratterizzata dai tre campi: nome cognome matricola assegnazione di valori ai campi: >>S.nome= mario ; >>S.cognome= rossi ; >>S.matricola=652;

DII 21 >>S S = nome: mario cognome: rossi matricola: 652 restituzione valori: la notazione Struttura.campo restituisce il valore della struttura per il campo specificato: >>a=s.matricola a= 652

DII 22 M-files - Matlab può eseguire sequenze di comandi da file. Questi file sono chiamati M-file perché hanno estensione.m. - La maggior parte del codice che produrrete sarà creato e gestito tramite M-files. - due tipi di M-files: script files function files

DII 23 script files - Uno script file consiste di una sequenza di comandi Matlab. - Se creo un file prova.m, e lo eseguo come un comando al prompt invocando: >>prova (N.B. il nome del file senza l estensione) saranno eseguite tutte le istruzioni contenute nel file prova.m. - Le variabili generate da uno script file sono globali e quindi andranno a finire direttamente nel workspace della corrente sessione di Matlab, con le naturali conseguenze. - Un M-files può richiamare un altro M-files, oppure può richiamare se stesso in modo ricorsivo.

DII 24 gestione M-files stringhe : s= hello world ; quello che sta tra gli apici definisce la stringa che viene assegnata ad s. >>s s = hello world disp : i comandi disp( hello world ), disp(s); producono lo stesso risultato: hello world cioè mostrano a schermo una stringa. error : il comando error(s); mostra a schermo la stringa s ed interrompe l esecuzione dell M-file. input : il comando d=input(s); mostra a schermo la stringa s ed aspetta la digitazione di un valore fino a che non viene premuto il tasto invio. Tale valore viene assegnato alla variabile d (cfr. scanf del linguaggio C).

DII 25 stringhe - S= sequenza di caratteri definisce un vettore di caratteri assegnato alla variabile S. - funzioni correlate: S=char(X); ritorna una stringa di caratteri associati ai valori di X, in codifica ASCII. Es. >>char(123) { X=double(S); ritorna i valori numerici associati alla stringa S, in codifica ASCII Es. >>double( { ) 123

DII 26 S=[S1 S2... Sn]; concatenazione orizzontale di n stringhe S=strcat(S1,S2,...,Sn); concatenazione orizzontale di n stringhe S=strvcat(S1,S2,...,Sn); concatenazione verticale di n stringhe S={S1 S2... Sn}; crea un vettore le cui componenti sono n stringhe ischar(s); restituisce 1 se S è una stringa, 0 altrimenti

DII 27 iscellstr(s); restituisce 1 se S è un vettore di stringhe, 0 altrimenti S=sprintf(format,A); genera stringhe (cfr. printf del linguaggio C). Es. 1 : >> s = sprintf( La matrice ha dimensioni %dx%d.,2,3) s = La matrice ha dimensioni 2x3 Es. 2 : >> s = sprintf( %s\n, hello, word ) s = hello word

DII 28 Esercizio 2 Creare uno script file che richiede: 1. Digitazione in ingresso di nome e cognome (usare la function input) 2. Concatenare nome e cognome verticalmente e orizzontalmente nelle quattro combinazioni possibili assegnandole a quattro diverse variabili 3. Generare i vettori dei codici ASCII relativi alle lettere del nome e cognome 4. Utilizzando la function predefinita flipdim(v,2) rigirare questi ultimi e utilizzando char calcolarne le stringhe associate s1 e s2. 5. In uscita il file deve fare il display di due frasi : il mio nome = s1 il mio cognome = s2 6. fare in oltre la media dei codici dei caratteri nome e cognome e generare la stringa s3 che contiene il carattere relativo.

DII 29 Grafica - Grafica 2D - Traiettorie in R 3 - Superfici

DII 30 Grafica 2D Si rappresentano funzioni di una variabile: y = f(x) Es. Funzioni del tipo: c(x) = cos(x) e s(x) = sin(x) definizione di un vettore x: >>x=0:0.2:4*pi; generazione delle due funzioni calcolate su x e plot: >>c=cos(x); >>s=sin(x); 1 >>figure; >>plot(x,c); >>figure; >>plot(x,s); cos(x) 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 1 0 2 4 6 8 10 12 x

DII 31 funzioni correlate - h=figure genera una nuova istanza dell oggetto figura ed assegna alla variabile h un handle a tale figura. - close all chiude tutte le figure aperte - plot(x,y) plotta sul sistema O xy tutte le coppie (x i, y i ) congiungendo i punti successivi con una linea. - plot(x,y, tratto simbolo colore ) definisce il tipo di tratto che congiunge punti successivi, il simbolo associato ad ogni punto, il colore. Es. plot(x,y, --*k )

DII 32 carattere colore carattere simbolo r rosso carattere tratto + crocetta g verde - linea o cerchietto b blue - - tratteggio * asterisco c celeste : puntini x m magenta -. tratto punto d rombo y giallo s quadrato k nero w bianco molto di più... vedi help plot

DII 33 - hold on abilita la sovrapposizione di più grafici all interno della stessa figura - hold off disabilita la sovrapposizione di più grafici all interno della stessa figura (una nuova istanza di plot elimina tutto quello che era stato tracciato precedentemente sulla figura di riferimento). - legend(s1,s2,...) aggiunge la legenda in base al numero di tracce: ad ogni traccia associa la stringa Si corrispondente - title( Stitle ) associa la stringa Stitle al titolo della figura - xlabel(sx) associa la stringa Sx all asse x - ylabel(sy) associa la stringa Sy all asse y

DII 34 - axis([xmin xmax ymin ymax]) setta i limiti degli assi - axis equal setta le stesse unità di misura e gli stessi aspect ratio sugli assi - axis square rende la regione di rappresentazione quadrata - grid on aggiunge una griglia alla figura - subplot(m,n,p) crea m n finestre nella stessa figura e attiva la p-esima da sinistra in alto

DII 35 sin(x) con axis equal 1 cos(x) con axis square 4 3 2 1 0 1 2 3 4 0 2 4 6 8 10 12 0.8 0.6 0.4 0.2 0-0.2-0.4-0.6-0.8-1 0 5 10 15 5 4 3 2 1 0 _ 1 _ 2 tan(x) con uso di axis([ ]) _ 3-3 _ 4-4 _ 5 0 2 4 6 8 10 12 0 2 4 6 8 10 12 asse x y asse 4 3 2 1 0-1 - 2 uso di legend e xlabel e ylabel tan(x) cos(x ) sin(x )

DII 36 Traiettorie in R 3 Plot di funzioni f : R R 3. plot3(fx,fy,fz) visualizza le terne (f x, f y, f z ) nel sistema O xyz 8 6 4 >>t=0:0.01:2*pi; >>fx=sin(5*t); >>fy=cos(5*t); >>fz=t; >>plot3(fx,fy,fz); 2 0 1 Attenzione: Dimensioni sempre 0 1 1 0.5 0 0.5 1 concordi!

DII 37 Superfici - Plot di funzioni f(x, y) : R 2 R 1 0.5 - surf(x,y,z) genera superfici 0 - mesh(x,y,z) genera griglie 0.5 20 superficiali - Osservazione: f(x, y) deve essere 0 20 20 10 0 10 20 definita (x, y) Dom(f)

DII 38 - Si definiscano due vettori: x=0:0.2:2*pi; y=0:0.2:4*pi; - Una funzione generale z = f(x, y) assume valori su tutte le possibili coppie (x, y) da cui è evidente che dim(z) = dim(x) dim(y) - [X,Y]=meshgrid(x,y); genera le matrici: X contiene copie per righe di x tante volte quanto è la dimensione di y Y contiene copie per colonne di y tante volte quanto è la dimensione di x - A questo punto è possibile definire Z: Z=f(X,Y); (senza nessun problema di dimensioni: prodotto cartesiano di X ed Y)

DII 39 mesh Esempio : 1 >>x=-2*pi:pi/15:2*pi; 0 - >>y=-2*pi:pi/15:2*pi; >>[X Y]=meshgrid(x,y); >>Z=sin(X).*cos(Y); >>mesh(x,y,z); >>surf(x,y,z); 1 5 0 5 5 surf 0 5 1 colormap definisce la 0 colorazione del surf o del mesh. 1 5 0 5 0 5 5

DII 40 Esercizio 3 1. Definire e plottare la seguente funzione f(x) = x 2 per x 1, 1/x per x > 1. 2. Calcolare la derivata di f(x) sia numericamente che in forma analitica e plottarne i valori 3. Utilizzando subplot() plottare nella stessa figura la funzione derivata e la funzione f(x). Si utilizzino colori e tratti diversi per ogni funzione. Esercizio 4 Calcolare la funzione f(x, y) : R 2 R definita come il quadrato della distanza della posizione x, y, dalla circonferenza centrata in un generico X c di raggio r. Utilizzando surf e mesh tracciare l andamento grafico di f(x, y).

DII 41 Istruzioni di controllo di flusso for while if case

DII 42 for sintassi: for variabile = espressione istruzioni end

DII 43 Esempio 1 n=10; x=[]; for i=1:n x=[x,iˆ2]; end Esempio 2 passo=0.1; t=0.1:passo:100; f=log(t); plot(t,f, -m ); for i=2:length(t) dfdt(i-1)=(f(i)-f(i-1))/passo; end hold on plot(t(1:length(t)-1),dfdt, :b );

DII 44 while sintassi: while relazione istruzioni end

DII 45 Esempio 3 n=0; a=6; while n<exp(a) n=n+1; end Esempio 4 n=6; A=magic(n); B=zeros(n); C=[]; k=6; while k>0 B(6-k+1,:)=A(k,:); C=[C A(:,k)]; k=k-1; end

DII 46 if sintassi: if relazione 1 istruzioni 1 elseif relazione 2 istruzioni 2 else istruzioni 3 end

DII 47 Esempio 5 k=input( Inserisci un numero maggiore di cento : ); str=ischar(k); if k>100 & str disp( bravo! ); delta=100-k elseif k>50 & str disp( ci sei quasi! ) delta=100-k elseif k>0 & str disp( mica tanto vicino! ); delta=100-k elseif str disp( ho detto NUMEROOOOO ); else disp( allora sei duro! ); delta=100-k end

DII 48 case sintassi: switch espressione di switch case case valore 1 istruzioni case {case valore 2, case valore 3, case valore 4,...} istruzioni otherwise istruzioni end

DII 49 Esempio 6 k=input( Inserisci un numero da 1 a 3: ); switch k case 1 disp( bravo! ); delta=100-k case {2,3} disp( esagerato! ) delta=100-k otherwise disp( Da 1 a 3!!! ); delta=100-k end

DII 50 Esercizio 5 1. Generare una matrice random 100 100 utilizzando il comando rand 2. Estrarne la diagonale principale utilizzando un doppio ciclo for ed assegnarla ad un vettore v1 3. Estrarne la contro diagonale utilizzando while ed assegnarla ad un vettore v2 4. Plottare i vettori v1 e v2 sulla stessa figura.

DII 51 Function Sono script file con dichiarazione di funzione Prendono parametri in ingresso e restituiscono parametri in uscita: function [o1,o2,...]=nome_funzione(i1,i2,...);... istruzioni... Al nome del file viene associato un comando Matlab Attenzione alla discrepanza tra nome file e nome function!!

DII 52 Esempio 7 function [s,d]=sommadiff(x,y); s=x+y; d=x-y; Se il file viene salvato come sommadiff.m, posso utilizzare tale funzione nel seguente modo: >>[a,b]=sommadiff(3,5) >>a=8 >>b=-2 Attenzione: perchè Matlab riconosca il nome di una function come comando, è necessario che il file sia nella current directory

DII 53 Esercizio 6 Creare una funzione che dato in ingresso un numero x N, produce il fattoriale x! Esercizio 7 Scrivere una funzione che prende in ingresso una matrice M quadrata e restituisce l inversa di M (naturalmente la funzione Matlab predefinita inv può essere utilizzata solo per controllare i risultati). La seguente formula indica come calcolare ogni elemento della matrice inversa: M 1 (i, j) = ( 1)i+j det(m) det(m ji) dove M ji è la matrice M decurtata della j-esima riga e della i-esima colonna.

DII 54 Symbolic toolbox Il Symbolic toolbox fornisce gli strumenti per gestire il calcolo simbolico in ambiente Matlab Calcolo: - derivate - integrali - limiti Algebra Lineare: - inversa - determinante - autovalori Semplificazioni di espressioni algebriche Soluzione di equazioni Grafica

DII 55 funzioni di base Dichiarazione di variabili simboliche: >>syms x y z crea nel workspace le variabili simboliche x y z Passaggio da double a variabile simbolica: >>sym(nome_variabile) trasforma un double in una variabile simbolica (istanza di un oggetto simbolico). >>A=zeros(4); >>B=sym(A) B= [ 0, 0, 0, 0] [ 0, 0, 0, 0] [ 0, 0, 0, 0] [ 0, 0, 0, 0]

DII 56 Passaggio da variabile simbolica a double : 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 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 57 Calcolo derivate Si utilizza il comando: diff(fun,var_di_der,ord_der): 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 58 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 59 integrali - Calcolo di I(x) = f(x) dx: fint=int(fun,var_int); calcola l integrale indefinito Cerca di trovare la funzione fint t.c. diff(fint,x) = fun - Calcolo di c = b a f(x) dx: c=int(fun,var_int,a,b); calcola l integrale definito. 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 60 limiti Per calcolare lim x x +/ 0 f(x) si utilizza: k=limit(fun,var,val,dir); calcola il limite della funzione fun 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 61 Algebra lineare 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 62 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 63 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 64 Semplificazione di espressioni algebriche f=simple(fun): ricerca la forma più semplice di una espressione simbolica. f=simplify(fun): semplificazione standard. f=subs(fun,{var1 var2...},{val1 val2...}) sostituisce alle variabili var1,var2,... dell espressione fun 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 65 >>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 66 Soluzione di equazioni z=solve(fun,var) Determina le radici dell equazione fun = 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 67 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 68 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 69 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 70 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 71 Esercizio 8 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=y2 ; z= x

DII 72 Control system toolbox funzioni principali tf sintassi: sys=tf(num,den); sys: oggetto Transfer Function num: vettore contenente i coefficienti del polinomio al numeratore in ordine decrescente rispetto alle potenze di s den: vettore contente i coefficienti del polinomio al denominatore in ordine decrescente rispetto alle potenze di s G(s) = 2s 2 s 2 + 4s + 3 >>G=tf([2-2],[1 4 3]); G.num{1}, G.den{1} restituiscono [0 2-2], [1 4 3].

DII 73 zpk sintassi: sys=zpk(z,p,k) sys: oggetto Transfer Function z: vettore contente gli zeri z 1, z 2,..., z nz della funzione di trasferimento p: vettore contenente i poli p 1, p 2,..., p np della funzione di trasferimento k: guadagno della funzione di trasferimento >>G=zpk(1,[-3-1],2); G(s) = k (s z 1) (s z nz ) (s p 1 ) (s p np ) G.z{1}, G.p{1}, G.k{1} restituiscono gli zeri, i poli, il guadagno.

DII 74 ss sintassi: sys=ss(a,b,c,d) Crea un modello continuo in spazio di stato sys con matrici A,B,C,D pole sintassi: p=pole(sys) sys: oggetto Transfer Function p: vettore contenente i poli della funzione di trasferimento >> p=pole(g) p = -3-1

DII 75 zero sintassi: sintassi: z=zero(sys) [z,k]=zero(sys) sys: oggetto Transfer Function z: vettore contenente gli zeri della funzione di trasferimento k: guadagno del sistema >> [z,k]=zero(g) z = 1 k = 2

DII 76 dcgain sintassi: dc=dcgain(sys) sys: oggetto Transfer Function dc: guadagno in continua (dc = G(0)) >> dc=dcgain(g) dc = - 0.6667

DII 77 impulse sintassi: sintassi: impulse(sys) impulse(sys,t) sys: oggetto Transfer Function t: vettore che specifica l orizzonte temporale impulse visualizza l andamento temporale della risposta impulsiva g(t) G(s) u(t) = δ(t) U(s) = 1 y(t) = L 1 (G(s)) Y (s) = G(s)U(s) >> impulse(g,0:0.05:10) N.B. La risposta impulsiva è l antitrasformata della funzione di trasferimento

DII 78 step sintassi: sintassi: step(sys) step(sys,t) sys: oggetto Transfer Function t: vettore che specifica l orizzonte temporale step visualizza l andamento temporale della risposta al gradino g(t) u(t) = 0 se t < 0 1 se t 0 G(s) U(s) = 1 s y(t) = L 1( G(s) s ) Y (s) = G(s)U(s) >>step(g,0:0.05:10)

DII 79 c2d sintassi: sys_d=c2d(sys_c,ts) Converte un sistema tempo-continuo sys_c in uno tempo-discreto sys_d con tempo di campionamento Ts d2c sintassi: sys_c=d2c(sys_d) Converte un sistema tempo-discreto sys_d in uno tempo-continuo sys_c ctrb sintassi: C=ctrb(A,B) Calcola la matrice di raggiungibilità C = [B AB A 2 B... A n 1 B] obsv sintassi: O=obsv(C,A) Calcola la matrice di osservabilità O = [C; CA; CA 2 ;... ; CA n 1 ]

DII 80 bode sintassi: bode(g) Genera il diagramma di Bode del modulo e della fase della funzione G >> bode(g) nyquist sintassi: nyquist(g) Genera il diagramma di Nyquist della funzione G >> nyquist(g) ltiview sintassi: ltiview(g) GUI (Graphical User Interface) interattiva per analizzare le risposte nel tempo ed in frequenza del sistema LTI (lineare tempo invariante) G

DII 81 Altri toolbox di Matlab - Optimization toolbox: funzioni per l ottimizzazione (help optim) - Statistics Toolbox: funzioni per la statistica (help stats) - System Identification Toolbox: funzioni per l identificazione dei sistemi dinamici (help ident) - Signal Processing Toolbox: funzioni per l elaborazione dei segnali (help signal) - Communications Toolbox: funzioni per le telecomunicazioni (help comm) - Image Processing Toolbox: funzioni per l elaborazione delle immagini (help images) - Virtual Reality Toolbox: funzioni per l implementazione della realtà virtuale (help vr)

DII 82 - Neural Network Toolbox: funzioni per la gestione delle reti neurali (help nnet) - Partial Differential Equation Toolbox: funzioni per la risoluzione di equazioni alle derivate parziali (help pde) - Database Toolbox: funzioni per la gestione dei database (help database) - Molti altri toolbox... vedi: http://www.mathworks.com/products/product_listing per una lista completa

DII 83 Simulink Simulink è un pacchetto software di Matlab che permette di simulare ed analizzare sistemi i cui ingressi e le 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 84 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 85 blocchi standard Sources Sinks Continuous Discrete Math Operations Signal Routing User-Defined Functions Subsystems

DII 86 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 87 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 88 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 89 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 90 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 91 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 92 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 93 Esercizio 9 - 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 94 Esercizio 10 - Simulink Si consideri un asticella rotante alla cui estremità è posta una massa m = 2 Kg. La lunghezza l dell asticella è soggetta alla seguente dinamica: l = k m l + k m l 0. con l 0 = 2 m e k = 3 N/m. Le condizioni iniziali sono l(0) = 0 e l(0) = 1 m. L asticella ruota con frequenza ω = 2.5 rad/sec. È richiesto di: costruire un modello simulink di tale sistema in cui venga fatto il display dell andamento temporale della lunghezza dell asticella e della posizione x ed y della massa. Dare una rappresentazione grafica della traiettoria della massa in R 2.

DII 95 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 96 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 ).