vuoi
o PayPal
tutte le volte che vuoi
Operatori di relazione e logici in MATLAB
I seguenti operatori di relazione e logici sono definiti in MATLAB:
- < (minore)
- > (maggiore)
- <= (minore uguale)
- >= (maggiore uguale)
- == (uguale)
- .˜= (diverso)
- & (AND)
- | (OR)
- ˜ (NOT)
Si noti la differenza fra il simbolo usato per l'assegnazione (=) ed il simbolo usato per il confronto (==).
Funzioni predefinite
Le funzioni in MATLAB operano su scalari o sui singoli elementi delle matrici. In quest'ultimo caso, il risultato è una matrice della stessa dimensione di quella cui è stata applicata la funzione. Ad esempio, il comando b=sqrt(a) crea una matrice b i cui elementi sono la radice quadrata degli elementi di a. Fanno eccezione le funzioni tipo max, min, sum, prod, mean, std, etc., che hanno come argomento una matrice e ritornano un vettore. Ad esempio, sum(a.^2) dà come risultato un vettore che contiene la somma dei quadrati degli elementi di ciascuna colonna di a.
Visualizzazione grafica e stampa
MATLAB può produrre sia grafici di funzioni monodimensionali che curve di
livello egrafici di funzioni a più dimensioni. Per una dimostrazione delle potenzialità grafiche di MATLAB, si può dare il comandodemo
.
Se x
e t
sono due vettori della stessa dimensione, il comando plot(t,x)
apre una finestra con il grafico di x
in funzione di t
. Ad esempio, i comandi t=0:0.01:2*pi;
x=sin(t);
y=cos(t);
plot(t,x,t,y);
creano una nuova finestra con il grafico delle funzioni x(t) = sin(t)
e y(t) = cos(t)
fra 0 e 2π. È possibile definire il titolo del grafico, le caratteristiche degli assi, posizionare del testo all'interno del grafico: a questo proposito, con il camando help
, si vedano le descrizioni dei comandi plot
, title
, xlabel
, ylabel
, gtext
, text
.
È inoltre possibile creare una copia su file del grafico, contenente i comandi necessari per la successiva stampa: il comando print
, la cui documentazione è ottenibile con il comando help print
, permette di gestire la maggior parte delle stampanti e dei linguaggi di descrizione grafica presenti nelmercato.M-files
Come accennato nell'introduzione, è possibile raggruppare una sequenza di comandi MAT-LAB in un file esterno, creato con un editor di testi qualsiasi, che deve avere estensione .m.file.m, dando il comando nome file dall'interno di MATLAB.
Se il nome del file è nomeverrà eseguita la sequenza dei comandi contenuti nel file stesso. È opportuno far precederei comandi di un M-file dal comando clear che annulla lo spazio delle variabili create fino a quel momento in MATLAB: questo affinché i risultati od i nomi di variabili preceden-temente utilizzati non interferiscano con quelli usati nel file .m. Per vedere quali sono, in ogni momento, le variabili definite in MATLAB e la loro dimensione, si usino i comandi who e whos. È inoltre conveniente poter aggiungere dei commenti nel file: a questo scopo, si può far precedere una riga dal carattere %, che forza MATLAB a non interpretare i caratteri successivi. Se un comando si estende oltre la lunghezza di una riga,
esso può essere continuato nella riga seguente interrompendo con tre caratteri di interpunzione: variabile_lunga = ... matrice_A.^2;
Funzioni esterne
È possibile aggiungere nuove funzioni al vocabolario di MATLAB. I comandi relativi ad una funzione devono essere contenuti in un file esterno, ancora con estensione .m. La prima riga del file deve contenere la lista dei parametri della funzione (che possono essere sia scalari che matrici) e la parola chiave function. Ad esempio, volendo scrivere una funzione che calcola la media, la potenza e la deviazione standard campionarie dei valori contenuti in una matrice, possiamo creare il file stats.m:
% STATS: calcola la media, la potenza e deviazione standard campionarie
% della matrice di ingresso
function [m, p, s] = stats(x)
n = prod(size(x));
m = sum(sum(x)) / n;
p = sum(sum(x.^2)) / n;
s = sqrt(p - m^2);
end
Per calcolare media, potenza e deviazione standard della matrice a, e porre il risultato nelle variabili media, pot, stdv, possiamo dunque invocare la
<pre>
.
funzione con il comando[media,pot,stdv]=stats(a)Si possono avere un qualsiasi numero di argomenti di uscita e di ingresso: questi ultimivengono passati alla funzione per valore e non possono essere modificati al suo interno. Sela funzione ha un solo argomento di uscita, le parentesi quadre possono essere omesse. Adesempio, la funzione precedente potrebbe essere riscritta come:% STATS: calcola la media, la potenza e deviazione standard campionarie% della matrice di ingressofunction y = stats(x)n = prod(size(x));y(1) = sum(sum(x)) / n;y(2) = sum(sum(x.^2)) / n;y(3) = sqrt(y(2) - y(1)^2);ende darebbe come risultato un vettore con i valori desiderati. Le variabili utilizzate all’internodella funzione e che non compaiono nella lista dei parametri sono locali alla funzione stessa,e possono pertanto avere lo stesso nome di variabili definite in altre procedure senza chesi abbiano pericolose interferenze.Si noti che le prime due linee del file sono dei commenti: esse vengono
Il testo formattato con i tag HTML è il seguente:
visualizzate all'interno di MATLAB, nel caso specifico, se si dà il comando help stats
. In realtà, molte delle funzioni predefinite di MATLAB sono esse stesse definite all'interno di M-files usando la sintassi appena vista.
help stats
. In realtà, molte delle funzioni predefinite di MATLAB sono esse stesse definite all'interno di M-files usando la sintassi appena vista.