MATLAB: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Bot: -Sito ufficiale +T:Collegamenti esterni |
Nessun oggetto della modifica |
||
Riga 41:
=== Prompt dei comandi (Command Window) ===
La ''Command Window'' è una finestra dell'interfaccia principale di MATLAB, nella quale è possibile digitare [[istruzione (informatica)|comandi]] supportati
2+3
ans=5
Riga 49:
È presente anche un help off-line sintetico richiamabile tramite il comando:
help <nome_comando>
Dove ovviamente <nome_comando>
Esempio
help sqrt
Riga 60:
^ (elevamento a potenza)
Se si scrivono più comandi su una stessa linea è necessario separarli con una virgola ‘,' . Se un comando è terminato con un punto e virgola (;), i risultati ottenuti non verranno visualizzati immediatamente in Command Window, ma verranno solo salvati in workspace (cfr paragrafo successivo).
Con la freccia in su, tasto ↑, si
=== Workspace ===
Il ''Workspace'' è lo spazio di lavoro (o spazio di memoria) contenente le variabili dichiarate. Per visualizzare tutte le variabili utilizzate si utilizza il comando <code>who</code>, mentre con il comando <code>whos</code> si visualizzano tutte le variabili utilizzate, ma in forma estesa, cioè ci viene data la loro descrizione
La finestra Workspace elenca tutte le variabili allocate in workspace in questo momento, e dà la possibilità di allocare nuove variabili o di importare dall'esterno un elenco di variabili (ad esempio da un file di testo). È inoltre possibile stampare l'elenco delle variabili attuali od eliminarne una direttamente dalla finestra (senza scrivere nessun comando
Per visualizzare in Command Window il valore di una variabile memorizzata in
=== Current Directory ===
La finestra ''Current Directory'' permette, come si può intuire, di esplorare il contenuto delle cartelle sul proprio hard disk. Da questa finestra è possibile aprire direttamente file compatibili con MATLAB con un semplice doppio click. Inoltre è possibile esplorare cartelle utilizzando, in Command Window, comandi tipici dei moderni sistemi operativi basati su tecnologia [[UNIX]] (come [[
=== Command History ===
Nella finestra ''Command History'' sono elencati tutti i comandi digitati di recente, divisi per ora e data. È possibile rilanciare direttamente da Command History
== Programmare in MATLAB ==
=== Variabili ===
==== Variabili predefinite ====
In MATLAB ci sono delle [[variabile (informatica)|variabili]] il cui valore è predefinito (ma può comunque essere modificato dall'utente). Esse sono:
* ''i'', ''j'': [[unità immaginaria]] in un [[numero complesso]]
* ''pi'': approssimazione di [[pi greco]], π
Riga 95:
var1=1
var2='abc'
Se non si vuole visualizzare il valore della variabile appena dopo averla dichiarata (come normalmente
var3=1234;
var4='abcdef';
Riga 113:
viene effettuata la pulizia di tutta la workspace.
'''N.B.''': di default le variabili numeriche dichiarate sono tutte di tipo double (floating point in doppia precisione).
=== Vettori ===
Riga 126:
Esempio:
vc=[3; 1; 6; 8]
Spesso è utile definire i vettori con intervalli
In generale:
v=[inizio:incremento:fine]|[inizio:fine]
Riga 135:
v1=[1 2 3 4 5 6 7 8 9 10]
v2=[-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1]
se non si scrive l'incremento, per default
Bisogna stare attenti a non assegnare all'incremento e alla destinazione numeri relativi discordi, fatto che produrrà il seguente risultato in fase di esecuzione:
Riga 148:
v(posizione_indice)
v(k), dove k <math>\in</math> <math>\mathbb{N}</math>, seleziona l'elemento in posizione k-esima
Importante: a differenza di quanto avviene in molti altri linguaggi, gli indici
Esempio di indicizzazione:
v=[7 3 0 5 2 6]
Riga 156:
=== Matrici ===
==== Definizione matrici ====
Per creare una matrice si procede in modo simile alle variabili
M1=[1 2 3 4;5 6 7 8;9 10 11 12]
M2=[13,14,15;16,17,18]
Riga 189:
==== Operazioni con le matrici ====
Si elenca ora una serie di operazioni molto utili per lavorare con le matrici in ambiente
Sia A una generica matrice mxn, con il comando
Riga 221:
Con il comando
trace(A)
si ottiene la '''traccia''' di A, cioè la somma degli elementi della diagonale principale.
Con il comando
Riga 232:
=== Realizzazione di grafici 2D ===
Uno strumento molto potente che l'ambiente MATLAB offre per rappresentare dati numerici è la
plot(x,y)
È possibile includere opzioni aggiuntive come il colore o il tipo di linea seguendo la seguente sintassi:
plot(x,y,'marcatore stile colore')
dove il marcatore sta ad indicare in che modo i punti
Allo stesso modo, con il comando plot, è possibile disegnare una matrice quadrata:
Riga 261:
È possibile, in modo molto semplice disegnare diversi grafici nella stessa finestra. Per fare ciò si usa il comando
subplot(m,n,p)
Con tale comando si disegnano in una finestra mxn grafici. Il comando subplot va inserito subito prima del comando plot, e la variabile p rappresenta il numero del grafico da disegnare, contando lungo le righe. Ad esempio se si sta
subplot(3,4,6)
Con il comando
axis([xi xf yi yf])
è possibile impostare
axis(V)
== Analisi e simulazione di sistemi dinamici con MATLAB ==
MATLAB è un potentissimo strumento per l'analisi numerica di sistemi dinamici, anche con molti ingressi e uscite. MATLAB permette di dichiarare facilmente degli oggetti sistema, grazie ad alcuni comandi
sys=ss(A,B,C,D,t0)
dove A, B, C, D
sys=zpk([z1 z2 ··· zm],[p1 p2 ··· pn],K)
È da notare che K non è il guadagno statico del sistema, ma è semplicemente la costante fuori dalla funzione di trasferimento quando è nella forma K*Π(s-z_i)/Π(s-p_i).
sys=tf(NUM,DEN)
dove num e den sono vettori riga contenenti i coefficienti dei polinomi al numeratore e al denominatore della funzione di trasferimento desiderata, presi dal grado maggiore a quello minore. per esempio il polinomio: s^3-4s^2+0.23s-1.9, equivale al vettore riga:
Line 287 ⟶ 285:
Con il comando
lsim(sys,u,t,x0)
si ottiene l'andamento del sistema ''sys'' forzato dall'ingresso ''u''
=== Un semplice esempio di simulazione ===
Line 325 ⟶ 323:
lsim(sys,u,t,[0 0]')
lo stesso risultato si poteva ottenere con il comando ''step,'' che traccia il grafico della risposta al segnale di ingresso a scalino:
step(sys)
il tempo in questo caso è calcolato automaticamente, ma può anche essere specificato:
|