Sei sulla pagina 1di 21

Introduzione a Simulink

(versione di Matlab 6.1)


Eugenio Denti
Versione 5 8 maggio 2009
Il Simulink un software per la modellizzazione e la simulazione di sistemi dinamici, di amplissima
diffusione, che negli ultimi diventato uno standard in campo sia industriale che di ricerca.
Si tratta di un tool di Matlab che consente la modellizzazione di sistemi dinamici lineari e non
lineari, analogici e digitali, sotto forma di schemi a blocchi che possono essere costruititi in appositi
file grafici (modelli Simulink) utilizzando blocchi elementari messi a disposizione dellutente in una
vastissima libreria. Pu essere effettuata la simulazione della risposta ad ingressi definiti dallutente
o ad assegnate condizioni iniziali, scegliendo tra un notevole numero di metodi di integrazione
numerica differenti.
Il programma corredato da un manuale molto ricco ed accurato (--> Simulink / Help / Simulink
help) e da numerosissimi esempi dimostrativi che sono contenuti nei demos di Matlab (-->
Matlab / Help / Demos / Simulink). Per ogni esempio viene messo a disposizione dellutente, in
chiaro, il relativo modello Simulink che pu essere studiato e copiato in tutto od in parte ed inserito
nei modelli costruiti dallutente.
E quindi molto semplice imparare ad utilizzarlo, prendendo spunto dagli esempi riportati nei
demos ed utilizzando il manuale.
Queste brevi note hanno il solo scopo di aiutare a rompere il ghiaccio fornendo le indicazioni
essenziali per iniziare.
Volendo consultare un testo in italiano:
Matlab Simulink e Control Toolbox
Alberto Cavallo, Roberto Setola, Francesco Vasca
Napoli, Liguori 2002
ISBN 88-207-3368-4

Versione 5 8 maggio 2009

Esempio introduttivo (svolto utilizzando la versione 6.1 di Matlab)


Costruzione dello schema a blocchi del sistema da simulare (Schema Simulink)
Lanciare Matlab dal men start come per tutti gli altri programmi.
Apparir la finestra riportata qui a lato.
Lanciare Simulink con un click del
mouse sullapposita icona.
Apparir la finestra riportata sotto
nella quale sono presenti tutti i
blocchi di libreria di Simulink
disponibili nella versione di Simulink
installata sul proprio computer.

Aprire un nuovo file grafico destinato a contenere lo


schema a blocchi del sistema da simulare (Schema
Simulink) con un click del mouse sullapposita icona.
Apparir la finestra riportata qui sotto che rappresenta il
nuovo file grafico, per il momento vuoto.

A questo punto possibile costruire lo schema a


blocchi del sistema da simulare aprendo le
librerie di Simulink e trascinando con il mouse i
blocchi di libreria desiderati direttamente nello
schema Simulink.
Le librerie che serviranno nellesempio che segue sono:
Continuous
libreria dei blocchi lineari continui
Sources
libreria delle sorgenti di segnale
Sinks
libreria dei blocchi di memorizzazione / visualizzazione grafica dei segnali
Esempio
Di seguito si illustra come costruire uno schema Simulink che permette di determinare la risposta al
gradino della seguente funzione di trasferimento:
G (s)

2 s 1
s 1 s 2

caratterizzata da due poli reali negativi ed uno zero positivo e la cui risposta al gradino unitario ha
valore finale unitario e valore iniziale della derivata pari a 2.

Versione 5 8 maggio 2009

Primo passo (inserire nel sistema il blocco che rappresenta la funzione di trasferimento)
Aprire la libreria dei blocchi di tipo Continuous con un click del mouse qui
e trascinare nello schema il blocco che rappresenta
la generica funzione di trasferimento nella forma
zeri-poli.

Con un doppio click sul blocco appena inserito nel sistema, aprire la finestra per lassegnazione dei
parametri del blocco ed assegnare i valori di zeri, poli e guadagno (in realt sufficiente modificare
i poli ed il guadagno perch lo zero quello di default):

Una volta chiusa (cliccando su OK) la finestra per lassegnazione dei parametri del blocco il
sistema apparir come segue:

Versione 5 8 maggio 2009

Secondo passo (inserire nel sistema il blocco che rappresenta lingresso a gradino)
Con procedura analoga a quella gi illustrata al primo passo, aprire la libreria Sources delle sorgenti
di segnale, aggiungere il blocco che rappresenta lingresso a gradino al sistema ed assegnare i
parametri del blocco.

In questo caso, dati i particolari valori scelti per i


poli della funzione di trasferimento, i parametri
del gradino possono essere lasciati uguali a quelli
di default.

Connettere i due blocchi tracciando una linea di connessione con il mouse (tasto sinistro) dalluscita
del blocco step allingresso del blocco che rappresenta la funzione di trasferimento (la procedura
assolutamente intuitiva e non necessita di alcun comando particolare).

Versione 5 8 maggio 2009

Terzo passo (inserire nel sistema un blocco per la memorizzazione del segnale di uscita)
In modo del tutto analogo a quanto gi visto, aprire la libreria Sinks dei blocchi di memorizzazione
e visualizzazione grafica dei segnali, aggiungere al sistema un blocco di tipo To workspace e
connetterlo alluscita del blocco che rappresenta la funzione di trasferimento.

Il blocco To workspace permette di memorizzare il segnale di uscita nel work space (memoria di
lavoro) di Matlab sotto forma di vettore.
Con un doppio click sul blocco si pu aprire la finestra per lassegnazione dei parametri e scegliere
il nome che si preferisce per il vettore da memorizzare, ad esempio y:

E inoltre necessario cambiare il formato di memorizzazione da Structure ad Array.


Una volta chiusa (cliccando su OK) la finestra per lassegnazione dei parametri del blocco il
sistema apparir come segue:

Versione 5 8 maggio 2009

Quarto passo (inserire i blocchi per la memorizzazione del tempo di simulazione)


A questo punto opportuno (anche se non sarebbe indispensabile) aggiungere un blocco Clock
prelevato dalla libreria Sources delle sorgenti di segnale e connetterlo con un ulteriore blocco To
workspace. Questultimo conviene generarlo duplicando il blocco To workspace inserito
precedentemente; in questo modo i parametri restano gli stessi.
Copiare ed
incollare

Il blocco Clock genera una variabile che


contiene il tempo di simulazione, che pu essere
quindi memorizzato nel workspace sotto forma
di vettore, grazie al nuovo blocco To workspace.
Per concludere la costruzione dello schema, aprire la finestra per lassegnazione dei parametri del
nuovo blocco To workspace e scegliere il nome che si preferisce per il vettore dei tempi, ad esempio
tempo:

Quinto passo (avviare la simulazione)


La simulazione si avvia mediante un click sullapposita freccia
NOTA La memorizzazione del tempo e delle variabili di uscita nel workspace consentir
successivamente di effettuare il grafico della funzione y(t). In realt esistono anche altri metodi per
visualizzare le variabili, alternativi al blocco To workspace (ad esempio i blocchi Scope della
libreria Sinks), tuttavia la memorizzazione delle variabili sotto forma di vettore nel workspace ha il
vantaggio di consentire di effettuare qualunque tipo di calcolo sulle variabili stesse, nonch grafici
diversi (ad esempio di una variabile in funzione di unaltra), senza dover ripetere la simulazione.
Esiste poi un ulteriore vantaggio legato al fatto che se si realizza un programma per effettuare i
grafici relativi ad un certo sistema dinamico, detto programma funzioner anche da promemoria, a
distanza di tempo, circa il significato dei simboli, le unit di misura, ecc. (vedere pi avanti Note
sul post-processing grafico e sulluso del blocco To workspace).

Versione 5 8 maggio 2009

Visualizzazione dei risultati


Conclusa la simulazione i dati inviati ai blocchi To workspace saranno disponibili nella memoria di
Matlab (workspace) come si pu immediatamente verificare mediante i comandi who oppure
whos, come si vede nella finestra qui sotto.

La risposta al comando whos evidenzia il fatto che sia tempo che y sono vettori colonna di
53 elementi. Si noti il fatto che esiste anche una variabile tout che il nome di default che il
programma usa per memorizzare il tempo automaticamente (questo rende non indispensabile luso
del blocco Clock. Tuttavia comunque opportuno usare questultimo per motivi che saranno
illustrati pi avanti).
I dati disponibili nel workspace possono essere ovviamente utilizzati per qualunque tipo di analisi
ed in particolare, nel caso specifico, per ottenere un grafico dei risultati mediante il comando
plot(tempo,y) il cui risultato riportato di seguito.

Versione 5 8 maggio 2009

Definizione dei parametri di simulazione


Esaminando il grafico sopra riportato si vede immediatamente che il passo di simulazione utilizzato
eccessivamente grande, infatti il picco della risposta chiaramente mal rappresentato. Ci dipende
dal fatto che sono stati utilizzati i parametri di simulazione di default che hanno portato ad uscite
caratterizzate da un numero troppo piccolo di punti.
In effetti, prima di avviare la simulazione di un qualunque modello, necessario definire nel modo
pi appropriato sia il metodo di integrazione numerica da utilizzare che il passo, come anche il
tempo di fine simulazione.
Ci si effettua mediante lapposito men simulation / simulation paramenters:

che apre la finestra per lassegnazione dei parametri di simulazione:

Una possibile scelta per il caso in esame :

Versione 5 8 maggio 2009

con la quale si ottengono vettori di 161 elementi ed il seguente grafico della risposta:

Versione 5 8 maggio 2009

Salvataggio del modello


Il modello costruito pu essere ovviamente salvato con procedura standard (file / save as ... ):

Le versioni recenti di Simulink salvano i modelli in files con estensione .mdl. E opportuno
evitare caratteri bianchi sia nel nome del file che nella path.

Note sul post-processing grafico e sulluso del blocco To workspace


I Comandi per generare i grafici possono anche essere inseriti in un file di tipo .m (programma
Matlab). Questo evidenzia in modo particolare il vantaggio di usare il To workspace. La
disponibilit in memoria di tutte le uscite del modello Simulink consente infatti di associare al
modello stesso un file di tipo .m contenente tutta la grafica, con i seguenti vantaggi (importanti
per sistemi complessi):
Sintesi Una grafica preparata e messa a punto contestualmente allo schema Simulink risulta
generalmente pi sintetica e leggibile rispetto ad esempio ad un insieme di blocchi Scope
pi o meno annidati allinterno del sistema.
Semplicit di stampa Si possono realizzare pagine grafiche gi pronte per essere stampate ed
inserite nelle relazioni tecniche.
Documentazione Una grafica commentata, completa di descrizione del significato delle variabili,
unit di misura, ecc) consente unimmediata visione dellI/O del sistema ed una migliore
e pi rapida comprensione di quello che fa il sistema stesso, anche a distanza di anni od
esaminando il lavoro fatto da altri.
In questo contesto si inquadra anche luso del Clock ---> To workspace che consente di avere un
pieno controllo sul nome e sulle modalit di memorizzazione della variabile tempo, in modo che
essa sia sempre coerente con le istruzioni contenute nel file grafico .m. La variabile tempo
generata automaticamente da Simulink potrebbe cambiare nome o essere generata con un passo di
memorizzazione diverso da quello delle altre variabili (definito nei blocchi To workspace) senza che
lutente se ne renda conto, con conseguente generazione di condizioni di errore durante lesecuzione
del file di grafica.

Versione 5 8 maggio 2009

10

Uso dei bottoni


Notare che il file di grafica pu anche essere attivato mediante un bottone posto nello schema
Simulink.

Il bottone consente, semplicemente ciccando sul bottone stesso, di eseguire un qualunque comando
Matlab o di lanciare un programma Matlab scritto dallutente.
Il nome del comando o del programma da eseguire si inserisce nella casella delle properties del
bottone. La scritta sul bottone si inserisce tramite il comando edit ---> edit mask.

Versione 5 8 maggio 2009

11

ATTENZIONE: quando si clicca su un bottone necessario che il puntatore di Matlab si trovi nella
cartella nella quale presente il programma .m da eseguire, altrimenti Matlab non trova il
programma (a meno che questo non sia un comando standard o non si trovi in una delle cartelle
definite nella path di Matlab).
In altri termini quando si digita sulla Command Window il comando pwd (print current working
directory) si deve ottenere la path della cartella contenente il modello Simulink che si vuole
eseguire, nonch il programma .m che effettua i grafici. A titolo di verifica si pu utilizzare il
comando dir che fornisce lelenco di tutti i files contenuti nella cartella corrente.
ESEMPIO:

>> pwd
ans = C:\.....\CorsoDDV\Introduzione_a_Simulink
>> dir
il_mio_primo_sistema.mdl
il_mio_primo_sistema_plot.m

Se la cartella corrente non quella giusta, si pu cambiare mediante il comando cd (Change


current working directory). La path della cartella desiderata deve essere messa tra apici se contiene
dei caratteri bianchi, altrimenti non necessario.
ESEMPIO:

>> pwd
ans = C:\MATLAB6p1\work
>> cd 'C:\.....\CorsoDDV\Introduzione_a_Simulink'
>> pwd
ans =
C:\.....\CorsoDDV\Introduzione_a_Simulink

Notare infine che un Modello Simulink pu essere aperto da Matlab digitando semplicemente nella
Command Window il nome del file .mdl che contiene il modello.

Versione 5 8 maggio 2009

12

Estendendo il concetto dellutilizzazione di files di tipo .m che accompagnano un Modello


Simulink, una metodologia di lavoro piuttosto efficace e spesso utilizzata prevede che un Modello
Simulink (.mdl) sia sempre accompagnato da:
- un file .m nel quale vengono definiti tutti i dati di input, da lanciare, eventualmente tramite
un apposito bottone, prima dellesecuzione della simulazione;
- un file .m che effettua i grafici di tutte le uscite, da lanciare, eventualmente tramite un
apposito bottone, dopo lesecuzione della simulazione.
Se i nomi dei files saranno scelti in modo opportuno, ad esempio:

le modalit di utilizzazione degli stessi saranno inequivocabili. Vedere a questo proposito il modello
esempio_introduttivo.mdl che lesempio sviluppato nel corso di questa introduzione, reso pi
professionale applicando gli accorgimenti di cui sopra.

Pulisce la
memoria

Chiude tutte le
finestre
grafiche
Notare che qui la
FdT generica
(i dati sono
definiti nel file
dati).

Lancia il file:
esempio_introduttivo_dati.m
Versione 5 8 maggio 2009

Lancia il file:
esempio_introduttivo_plot.m
13

File: esempio_introduttivo_dati.m
% File dati per il modello Simulink che determina la risposta al gradino
% di una F.d.T. definita nella forma "poli-zeri-guadagno"
% Eugenio Denti - 8 ott. 2003
clear all
format compact
% Definizione della funzione di trasferimento
disp(' '),disp('Funzione di trasferimento:')
guadagno = 1
zeri = [ 1 ]
poli = [ -1 -2 ]
% Definizione del gradino
disp(' '),disp('Caratteristiche ingresso:')
tempo_inizio_gradino = 1
valore_gradino = 1
% FINE

File: esempio_introduttivo_plot.m
% File per la visualizzazione grafica dei risultati
% per il modello Simulink che determina la risposta al gradino
% di una F.d.T. definita nella forma "poli-zeri-guadagno"
% Eugenio Denti - 8 ott. 2003
% Apertura di una nuova figura
figure
% Esecuzione dei grafici
subplot(211),plot(tempo,u),ylabel('Ingresso u [-]'),xlabel('Tempo [sec]')
subplot(212),plot(tempo,y),ylabel('Uscita y [-]'), xlabel('Tempo [sec]')
subplot(211),title('Esempio introduttivo a Simulink')
% Modifica della scala del primo grafico
subplot(211)
scala = axis;
incremento = 0.05*(scala(4)-scala(3));
axis([scala(1) scala(2) scala(3)-incremento scala(4)+incremento]);
% FINE

Versione 5 8 maggio 2009

14

Metodi diversi per la modellizzazione di sistemi dinamici


Il modello di un sistema dinamico pu essere realizzato in Simulink in tre modi:
1) Metodologia full simulink Il modello viene interamente costruito combinando elementi
presenti nella libreria dei blocchi Simulink.
2) Matlab function

Il modello viene realizzato programmandolo in linguaggio Matlab


e memorizzato in una Function di tipo .m che viene poi
richiamata nel Modello Simulink mediante il blocco M-function
di Simulink.

3) S-function

Il modello viene realizzato programmandolo in linguaggio Matlab


nel particolare formato previsto dal blocco S-function di Simulink
e richiamato nel Modello Simulink mediante il blocco stesso.

Il metodo 1) il migliore in molti casi, soprattutto dal punto di vista della velocit di esecuzione in
fase di simulazione. Se tuttavia il modello molto complesso, in quanto costituito da un elevato
numero di equazioni che possono essere facilmente programmate in linguaggio Matlab (ma
richiederebbero un lavoro non indifferente per essere costruite mediante blocchi Simulink) e
soprattutto nel caso in cui il modello preveda numerose condizioni di scelta del tipo if-then-else,
allora pu essere conveniente ricorrere ad uno degli altri due metodi.
Il metodo 2) pi semplice dal punto di vista della velocit di programmazione, soprattutto nella
fase di sviluppo prototipale di un modello. Luso della M-function consente di realizzare una
dipendenza funzionale generica del tipo y=f(x). Quindi nel caso alcuni termini del vettore y siano
da integrare nel dominio del tempo, luso della M-function comporta la necessit di utilizzare i
blocchi Integrator di Simulink esternamente alla M-function.
Le M-function comportano per alcuni svantaggi sostanziali che ne sconsigliano lutilizzazione
nelle versioni definitive dei codici Simulink. Tra questi i pi importanti sono: lentezza di esecuzione
in fase di simulazione; impossibilit di compilare il modello e di realizzare simulazioni Real-time
(questa limitazione sembra superata nelle versioni pi recenti di Simulink); possibilit di utilizzare
esclusivamente metodi di integrazione numerica a passo fisso (o meglio, luso di metodi di
integrazione a passo variabile, con le M-function, comporta per utenti non esperti il rischio di
ottenere risultati errati).
Tutte le volte che appare opportuno programmare il modello in linguaggio Matlab, comunque
possibile utilizzare il terzo metodo che non presenta nessuno degli svantaggi delle M-function ed il
cui unico svantaggio consiste in una leggera difficolt iniziale, per lutente inesperto ad
impadronirsi della particolare sintassi con la quale devono essere realizzate le S-function.
La S-function una normale function di Matlab (nel senso che contenuta in un file di tipo .m) la
quale deve essere per realizzata con una particolare struttura interna (vedere esempio pi avanti) e
con la seguente dichiarazione dei dati di ingresso/uscita nella prima riga:
function [sys,x0]=nome_del_file(t,x,u,flag)

La S-function specificatamente progettata per realizzare sistemi dinamici del tipo:

x f ( x, u, t )

y g ( x, u , t )
Versione 5 8 maggio 2009

15

Essa prevede in ingresso esclusivamente i segnali relativi al vettore degli ingressi ( u ) del sistema
ed in uscita esclusivamente i segnali relativi al vettore delle uscite ( y ) del sistema (rispettivamente
u e sys nella prima riga riportata sopra). Gli altri ingressi (t, x e flag) vengono gestiti
automaticamente da Simulink durante la simulazione. In particolare la variabile flag assume
valore 0 al primo passo, quando Simulink chiama la function per definire la struttura del sistema
dinamico e le condizioni iniziali; in questo caso i vettori di uscita sys ed x0 assumono il
significato spiegato nei commenti presenti allinterno della funcion;
valore 1 quando Simulink chiama la function per valutare le derivate x ;
valore 3 (per i sistemi continui) quando Simulink chiama la function per valutare le uscite y del
sistema.
Per maggiori dettagli vedere lhelp di Simulink.
A titolo di esempio si riportano nelle pagine che seguono i modelli di un sistema Massa-MollaSmorzatore realizzati con le tre metodologie sopra descritte (figure 1, 2 e 3).
Questi modelli sono disponibili anche in formato elettronico nelle seguenti cartelle che
accompagnano il presente documento:
SistemaMCK \ SistemaMCK
Metodologia full simulink
SistemaMCK \ SistemaMCK1 Metodologia Matlab function
SistemaMCK \ SistemaMCK2 Metodologia S-function
Sono inoltre disponibili in formato elettronico due ulteriori esempi di realizzazione del sistema
Massa-Molla-Smorzatore. Il primo, contenuto nella cartella:
SistemaMCK \ SistemaMCK3

del tutto analogo allMCK2. La sola differenza che luscita della S-function viene gestita come
vettore, evitando luso del blocco demux (figura 4).
Il secondo, pi interessante, contenuto nella cartella:
SistemaMCK \ SistemaMCK4

stato realizzato per mostrare come un sistema dinamico rappresentato mediante una S-function
possa essere lanciato anche da un programma Matlab (figure 5 e 6). Il sistema sistMCK4.mdl infatti
non contiene bottoni per caricare dati e non pensato per essere aperto e lanciato mediante un click
sullapposita freccia di avviamento della simulazione. E invece pensato per essere lanciato
mediante il programma run4.m presente nella stessa cartella. Per farlo funzionare, dunque,
sufficiente digitare il comando run4.m senza bisogno di aprire sistMCK4.mdl. Lesame dei
commenti presenti nel file run4.m consentir facilmente di comprenderne il funzionamento.
Le S-function utilizzate negli esempi MCK3 ed MCK4 non sono riportate nelle figure perch sono del
tutto analoghe a quella in figura 3.

Versione 5 8 maggio 2009

16

Figura 1): modello interamente costruito combinando


elementi presenti nella libreria Simulink

Versione 5 8 maggio 2009

17

Il nome della function di Matlab che contiene la descrizione del modello viene assegnato facendo
doppio click sul blocco M-function. Nel caso in esame la function stata memorizzata nel file di
nome Sistema1.m riportato di seguito:
File Sistema1.m:
function [y]=sistema1(x)
% Sistema massa molla smorzatore
%

Parametri
global m c k
F = x(1);
y = F/m -c/m*x(3) -k/m*x(2);

%
%

x(3) e' la velocit


x(2) e' la posizione

Nota: il comando global permette alla function di conoscere il valore dei parametri definiti nel
file di input (o comunque presenti nel Work Space). Nel file di input (o sul Work Space) deve essere
assegnato lo stesso comando global.
Figura 2): modello realizzato mediante M-function.

Versione 5 8 maggio 2009

18

Il nome della function di Matlab che contiene la descrizione del modello nel formato previsto dalla
S-function viene assegnato facendo doppio click sul blocco S-function. Nel caso in esame la
function stata memorizzata nel file di nome Sistema2.m riportato di seguito:
File Sistema2.m:
function [sys,x0]=sistema2(t,x,u,flag)
% Sistema massa molla smorzatore
% Parametri del sistema utilizzati in questa S-function
global m c k
% Definizione del sistema dinamico e delle condizioni iniziali
if flag == 0
sys = [2; 0; 3; 1; 0; 1];
x0 = [0; 0];
% OUTPUTS: sys(1) number of continuous states
%
sys(2) number of discrete states.
%
sys(3) number of outputs
%
sys(4) number of inputs
%
sys(5) number of roots that the system has.
%
sys(6) set to 1 if the system has direct feed-through of
%
its inputs (used for systems within systems).
%
x0
vector of initial conditions
% Equazioni della dinamica del sistema nella forma x_dot = f(x,u,t)
elseif flag == 1,
F = u(1);
x_dot(1) = F/m -c/m*x(1) -k/m*x(2); % NOTA: x(1) e' la velocit
x_dot(2) = x(1);
%
x(2) e' la posizione
% uscite della S-function (per flag = 1 ---> sys = x_dot)
sys = x_dot;
% Definizione delle uscite del sistema dinamico nella forma y = g(x,u,t)
elseif flag == 3
F = u(1);
accelerazione = F/m -c/m*x(1) -k/m*x(2);
velocita
= x(1);
posizione
= x(2);
% uscite della S-function (per flag = 3 ---> sys = y)
sys = [ accelerazione velocita posizione ];
% Errore
else
sys = [];
end

Figura 3): modello realizzato mediante S-function.


Versione 5 8 maggio 2009

19

Figura 4): modello realizzato mediante S-function, con uscita vettoriale.

Figura 5): modello realizzato mediante S-function in modo da poter


essere lanciato da un programma Matlab (vedere fig. 6)

Versione 5 8 maggio 2009

20

File run.m:
%
%
%
%

------------------------------------------------------------------------Questo file matlab lancia una simulazione dinamica utilizzando il modello


descritto nel file sistMCK4.mdl
-------------------------------------------------------------------------

% E. Denti 7/5/2009
clear all
close all
% Caricamento dati del sistema
dati4
% definizione della stosia temporale dell'ingresso
% (nella matrice u la prima colonna il tempo, la seconda l'ingresso)
u= [ 0
0
1
0
1.1
1
1000
1 ];
% definizione del tempo totale di simulazione
tempomax = 16;
% definizione dei parametri di simulazione
param = simset('OutputVariables','ty')
% NOTA: si possono definire tutti i parametri di simulazione
%
(dare il comando help simset per informazioni)
% in questo caso viene definito solo il valore ty per il
% parametro OutputVariables. Ci comporta il fatto che in
% uscita dal comando sim (vedi sotto) si abbia solo tempo e
% vettore delle uscite mentre il vettore di stato x rimane vuoto
% lancio simulazione
[tempo,x,y] = sim('sistMCK4',tempomax,param,u);
disp('Simulazione conclusa')
% plot risultati
grafici4
% NOTA: non volendo specificare parametri di simulazione
%
assegnare un alfanumerico bianco al posto di param:
%
ovvero: [tempo,x,y] = sim('sistMCK4',tempomax,[],u);

Figura 6): esempio di programma di lancio del modello sistMCK4.mdl

Versione 5 8 maggio 2009

21

Potrebbero piacerti anche