Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedenteUltima revisioneEntrambe le parti successive la revisione |
roberto.alfieri:pub:matlab [28/11/2019 10:24] – [Rappresentazione grafica] roberto.alfieri | roberto.alfieri:pub:matlab [11/11/2020 10:29] – [Programmazione] 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. |
| |
| [[ https://si.unipr.it/sites/default/files/2018-11/Avviorapido-licenza-TotalAcademicHeadcount-UtenteFinale.pdf | Avvio rapido ]] - |
{{ https://si.unipr.it/pagina-base/matlab-luniversita-di-parma | {{ https://si.unipr.it/pagina-base/matlab-luniversita-di-parma |
| Installazione di Matlab per studenti UniPR}} | | 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]] - |
columns(A) #Determina il numero di colonne (solo Octave) | columns(A) #Determina il numero di colonne (solo Octave) |
length(A) #Dimensione massima della matrice | length(A) #Dimensione massima della matrice |
| r=8 |
| c=4 |
zeros(r,c) #Matrice rxc di 0 | zeros(r,c) #Matrice rxc di 0 |
ones(r,c) #Matrice rxc di 1 | ones(r,c) #Matrice rxc di 1 |
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('plot_matlab.png','-dpng'); # stampa su file il plot in formato png con MATLAB | 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 con MATLAB | print('plot_matlab.pdf','-dpdf'); # stampa su file il plot in formato pdf (MATLAB) |
print plot_octave.png -dpng # stampa su file il plot in formato png con OCTAVE | print plot_matlab.png -dpng'; # stampa su file il plot in formato png (OCTAVE) |
print plot_octave.pdf -dpdf # stampa su file il plot in formato pdf con OCTAVE | print plot_matlab.pdf -dpdf'; # stampa su file il plot in formato pdf (OCTAVE) |
| |
==== Distribuzione normale ==== | ==== Distribuzione normale ==== |
[[ https://it.wikipedia.org/wiki/Distribuzione_normale | Distribuzione Normale ]] (wp) | [[ https://it.wikipedia.org/wiki/Distribuzione_normale | Distribuzione Normale ]] (wp) |
<code> | <code> |
X=randn(r,c) #Matrice rxc di casuali con distribuzione normale (mean=0, std=1) | c=2 |
m=mean(A) #Valor medio di ogni colonna di A | r=10 |
s=std(A) #Deviazione standard di ogni colonna A | RN=randn(r,c) #Matrice rxc di casuali con distribuzione normale (mean=0, std=1) |
std(A(:,2)) #Std della seconda colonna | m=mean(RN) #Valor medio di ogni colonna di X |
normpdf(X,m,s) #Densita' di prob. per ogni elemento di X, con mean=m e std=s | s=std(RN) #Deviazione standard di ogni colonna X |
X=abs(rand(1,20))*10 ; # Crea un vettore di 20 numeri casuali tra 0 e 10 | std(RN(:,2)) #Std della seconda colonna |
Y=hist(X,10); # Suddivide l'intervallo del vettore in 10 intervalli e calcola le frequenze | # |
| X=[-3.14:0.1:3.14] |
| Y=normpdf(X,m,s) #Densita' di prob. per ogni elemento di X, con mean=m e std=s |
| plot(X,Y) |
| # |
| X=randn(1,200)*10+5 ; # Crea un vettore di 200 numeri random con distribuzione normale, con valor medio=5 e std=10 |
| hist(X,10); # Suddivide l'intervallo del vettore in 10 intervalli, calcola e disegna le frequenze |
</code> | </code> |
==== Distribuzione di Poisson ==== | ==== Distribuzione di Poisson ==== |
<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 | bar(x,y) |
</code> | </code> |
| |
z=[c,'mondo'] #Concatena 2 (o piu') stringhe | z=[c,'mondo'] #Concatena 2 (o piu') stringhe |
| |
==== Cell Array ==== | |
| |
I Cell Arrays sono delle collezioni di matrici multidimensionali di qualunque tipo di dato, | |
come ad esempio matrici numeriche e stringhe, oppure matrici numeriche di diverse dimensioni. | |
| |
I cells array vengono rappresentati con la funzione cell() oppure parentesi graffe {}. | |
| |
Ad esempio, il seguente comando crea una array 1x3 composta da 2 array numerici e una stringa: | |
| |
C={[1,2,3], [4,5], "ciao"} | |
| |
C(1,2)=[6,7] sovrascrive il secondo array | |
| |
====Script==== | ====Script==== |
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'); |
</code> | </code> |
| |
[[http://www.fis.unipr.it/~roberto.alfieri/didattica/matdid/prog/octave/ | altri esercizi ]] | [[http://didattica-linux.unipr.it/home/alfieri/matdid/LABI/octave/ | altri esercizi ]] |