keyboard()
a=3                      % allocazione di una variabile "a" di valore pari a 3
a=3,
a=3;                     % il ";" blocca l'output del risultato sullo schermo
%
echo on                   % abilita la stampa a video dei comandi eseguiti
a=3;
echo off                  % disabilita la stampa a video dei comandi eseguiti
%
pause                     % crea una pausa all'esecuzione del programma, che riprende premendo un tasto qualsiasi
%
sqrt(-1)                  % Matlab tratta anche numeri complessi
%
V=[0 2 5];                % allocazione di un vettore riga "V" di valori 0, 2 e 5
V(1)                      % il primo elemento ha indice "1", come in linguaggio Fortran (in linguaggio C avrebbe indice "0") 
W=V';                     % allocazione del vettore colonna W pari al trasposto di V
Y = [W' V]                % concatenazione di due vettori
A=[0 1 2; 1 3 3; 2 3 2];  % allocazione della matrice 3x3 A
A                         % in questo modo si visualizza il contenuto di una variabile
A(2,3)                    % visualizza l'elemento alla riga 2 e colonna 3
A(2,:)                    % visualizza tutta la riga 2
A(2,1:2)                  % visualizza il primo ed il secondo elemento della riga 2
A(2,[1 3])                % visualizza il primo ed il terzo elemento della riga 2
A = zeros(3,4)            % crea una matrice 3x4 di zeri;
A = ones(3,5)             % crea una matrice 3x5 di uni;
A = eye(4)                % crea la matrice identità di ordine 4;
v = [1 3 4 6];
diag(v)                   % crea una matrice diagonale, con "v" sulla diagonale principale 
%
s = 'Padova'
s(3)                      % le stringe di caratteri vengono trattate come vettori
s2 = ['Università' 'di' s]  % concatenazione di stringhe
sqrt(2)
sc = 'sqrt(2)'
eval(sc)                  % è possibile costruire "run-time" un comando, metterlo in una stringa ed eseguirlo con "eval"
x = 3;                    % definisco la variabile "x" e le assegno un valore 
sc = '2*x + 100'          % la stringa "sc" contiene la definizione di una funzione dell'incognita "x"
eval(sc)                  % valuto la funzione contenuta in "sc" nel valore dell'incognita precedentemente assegnato
%
size(v)                   % "size" ritorna le dimensioni della struttura dati indicata
size(A)
length(v)                 % "length" ritorna il numero di elementi contenuti nella struttura dati indicata
length(A)
%
% quando l'istruzione è molto lunga, può essere spezzettata in più righe inserendo all fine di ogni riga incompleta la
% direttiva di concatenazione "..."; ciò rende molto più leggibile un programma, ad es. :
A = [ 1 0 0 0 0 0; ...
      0 4 0 0 0 0; ...
      0 0 3 0 0 0; ...
      0 0 0 7 0 0; ...
      0 0 0 0 1 0; ...
      0 0 0 0 0 2 ];
% mostra immediatamente che si tratta di una matrice diagonale, diversamente da:  
A = [ 1 0 0 0 0 0; 0 4 0 0 0 0; 0 0 3 0 0 0; 0 0 0 7 0 0; 0 0 0 0 1 0; 0 0 0 0 0 2 ];
%
whos                      % è il comando che visualizza il nome e la dimensione delle variabili del workspace
help whos                 
% "help <comando>" fornisce l'help in linea di <comando>
save esperimenti.mat A v  % salva nel file "esperimenti.mat" le strutture dati "A" e "v"
save esperimenti.mat      % salva nel file "esperimenti.mat" tutte le strutture dati definite nel workspace
load esperimenti.mat                     % carica nel workspace le strutture dati salvate nel file "esperimenti.mat"
save -ascii esperimenti.txt  %  stessa cosa ma in un file di testo.
load esperimenti.txt
%NB:  quit                      % esce dall'ambiente matlab/octave
%
% Attenzione alla differenza tra "precisione" della rappresentazione
% interna di un numero e "visualizzazione" data dal workspace: di default
% il workspace utilizza quattro cifre significative dopo la virgola, sulle
% quali arrotonda il numero da visualizzare; per avere una visualizzazione
% che riflette l'accuratezza della rappresentazione interna e' necessario
% usare il comando "format long" (di default e' "format short"). Esempio:
n1 = 3.9999999999;
n1     % visualizza "4.0000"
n2 = 4.0000000000;
n2     % visualizza "4" ; sembra uguale ad "n1", ma...
n2-n1  % la differenza tra i due non e' nulla
format long
n1     % ora e' tutto chiaro.
%
format short g    % notazione scientifica/ingegneristica
n1
%
a = ones(150,1)    % quando il risultato da visualizzare ha u listato molto lungo....
more on            % con "more" viene visualizzato a pezzi (si avanza premendo un tasto), come in Linux/Unix "more" o "less"
more off           % disabilita la modelità di visualizzazione "more"

