Prossima revisione | Revisione precedenteProssima revisioneEntrambe le parti successive la revisione |
roberto.alfieri:pub:matlab [31/10/2019 18:48] – creata roberto.alfieri | roberto.alfieri:pub:matlab [05/12/2019 11:29] – [Rappresentazione grafica] roberto.alfieri |
---|
L'Università di Parma ha acquistato la licenza TAH (Total Academic Headcount) di MathWorks, che consente l'installazione di Matlab (inclusi Simulink e una cinquantina circa di toolbox aggiuntivi) per personale e studenti dell'Ateneo. La licenza e' per il solo uso didattico. | L'Università di Parma ha acquistato la licenza TAH (Total Academic Headcount) di MathWorks, che consente l'installazione di Matlab (inclusi Simulink e una cinquantina circa di toolbox aggiuntivi) per personale e studenti dell'Ateneo. La licenza e' per il solo uso didattico. |
| |
{{:roberto.alfieri:user:studenti-how_to_install_and_activate_your_personal_copy_of_matlab-student.pdf| Installazione di Matlab per studenti UniPR}} | {{ https://si.unipr.it/pagina-base/matlab-luniversita-di-parma |
| | Installazione di Matlab per studenti UniPR}} |
| |
[[ https://www.gnu.org/software/octave/download.html | Octave download]] - | [[ https://www.gnu.org/software/octave/download.html | Octave download]] - |
| |
Esistono 2 modalita' di interazione: | Esistono 2 modalita' di interazione: |
* Command line: una sola finestra con l'interprete per l'esecuzione dei comandi {{:roberto.alfieri:user:windows_command_window.png?100| }} | * Command line: una sola finestra con l'interprete per l'esecuzione dei comandi |
| |
* Tramite IDE (Integrated Development Environment). Diverse finestre, tra cui l'interprete dei comandi, un editor, una finstra per esplorare il file-system e una per visualizzare le variabili nel Workspace. | * Tramite IDE (Integrated Development Environment). Diverse finestre, tra cui l'interprete dei comandi, un editor, una finstra per esplorare il file-system e una per visualizzare le variabili nel Workspace. |
{{:roberto.alfieri:user:matlab_ide_view.jpg?100|}} | |
| |
Nelle aule informatiche dell'Ateneo Octave parte in modalita' command-line, mentre Matlab in modalita' IDE. | Nelle aule informatiche dell'Ateneo Octave parte in modalita' command-line, mentre Matlab in modalita' IDE. |
| |
% Esercizi: | % Esercizi: |
% Il carattere e % serve per i commenti. In Octave funziona si puo' usare anche il carattere # | % Il carattere e % serve per i commenti. In Octave si puo' usare anche il carattere # |
c=3 # I numeri sono rappresentati unicamente in Floating Point a 64 bit (8 byte) | c=3 # I numeri sono rappresentati unicamente in Floating Point a 64 bit (8 byte) |
c # Mostra il contenuto della variabile c | c # Mostra il contenuto della variabile c |
MATLAB/Octave interagisce con il file-system per caricare programmi e dati, e | MATLAB/Octave interagisce con il file-system per caricare programmi e dati, e |
per salvare i risultati. | per salvare i risultati. |
| |
Vedi [[ https://it.mathworks.com/help/matlab/files-and-folders.html | File e cartelle]] | Vedi [[ https://it.mathworks.com/help/matlab/files-and-folders.html | File e cartelle]] |
| |
cd z: # cambia disco di lavoro in Z: (in ambiente windows) | cd z: # cambia disco di lavoro in Z: (in ambiente windows) |
mkdir newdir # crea la directory newdir | mkdir newdir # crea la directory newdir |
history #visulizza la storia dei comandi eseguiti (solo Octave) | history # visulizza la storia dei comandi eseguiti (solo Octave) |
diary on # attiva il salvataggio della sessione di comandi | diary on # attiva il salvataggio della sessione di comandi |
diary nomefile.txt # Scrive in nomefile.txt tutti i comandi eseguiti | diary nomefile.txt # Scrive in nomefile.txt tutti i comandi eseguiti |
type filename.m #visualizza il contenuto | type filename.m # visualizza il contenuto |
save filename.dat # Salva il Workspace | save filename.dat # Salva il Workspace |
load filename.dat # Carica il WS | load filename.dat # Carica il WS |
save -ascii file.dat c # Salva in formato ascii la variabile c | save -ascii file.dat c # Salva in formato ascii la variabile c |
| |
| |
==== Matrici ==== | ==== Matrici ==== |
| |
| Vedi [[https://it.mathworks.com/help/matlab/learn_matlab/matrices-and-arrays.html | matrices and arrays]] |
<code> | <code> |
A=[3 5; 7 9] # Crea una matrice 2x2 | A=[3 5; 7 9] # Crea una matrice 2x2 |
hold on # Mantieni il disegno corrente nel grafico (per plot sovrapposti) | hold on # Mantieni il disegno corrente nel grafico (per plot sovrapposti) |
hold off # Disattiva la funzione hold-on | hold off # Disattiva la funzione hold-on |
print('filename.png','-dpng'); # stampa su stampante o su file il plot | print('plot_matlab.png','-dpng'); # stampa su file il plot in formato png (MATLAB) |
| print('plot_matlab.pdf','-dpdf'); # stampa su file il plot in formato pdf (MATLAB) |
| print plot_matlab.png -dpng'; # stampa su file il plot in formato png (OCTAVE) |
| print plot_matlab.pdf -dpdf'; # stampa su file il plot in formato pdf (OCTAVE) |
| |
==== Distribuzione normale ==== | ==== Distribuzione normale ==== |
<code> | <code> |
# Esercizi: | # Esercizi: |
P=poissrnd(1.5,[1,10]) # genera di 10 numeri random in distribuzione di Poisson con Lambda=1.5 | P=poissrnd(1.5,[1,100]) # genera di 100 numeri random in distribuzione di Poisson con Lambda=1.5 |
mean(P) # calcola il valor medio | mean(P) # calcola il valor medio |
bar(P) # genera un plot a barre con la distribuzione dei 100 numeri | bar(P) # genera un plot a barre con la distribuzione dei 100 numeri |
hist(P) # genera un plot a barre con 10 classi di frequenza | hist(P) # genera un plot a barre con 10 classi di frequenza |
hist(P,4) # genera un plot a barre con 4 classi di frequenza | hist(P,4) # genera un plot a barre con 4 classi di frequenza |
[d,n]=hist(P,4) # scrive in dati e n i valori dei dati (d) e le relative classi (n) | [d,n]=hist(P,6) # scrive in dati e n i valori dei dati (d) e le relative classi (n) |
bar(n,d) # plot a barre con dati e frequenze | bar(n,d) # plot a barre con dati e frequenze |
x=[1:10] | x=[0:10] |
y = poisspdf(x,1.5); # determina la densità di probabilità per i valori in x con Lambda=1.5 | y = poisspdf(x,1.5); # determina la densità di probabilità per i valori in x con Lambda=1.5 |
plot(x,y,'+'); # plot della curva | plot(x,y,'+'); # plot della curva |
s=1; | s=1; |
X=m-3*s:1/100:m+3*s; | X=m-3*s:1/100:m+3*s; |
Y=normpdf(X,m,s) | Y=normpdf(X,m,s); |
%Y=gauss(X,m,s) | %Y=gauss(X,m,s); |
plot(X,Y); | plot(X,Y); |
xlabel('X'); | xlabel('X'); |