Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisione Revisione precedente Prossima revisione | Revisione precedente Prossima revisione Entrambe le parti successive la revisione | ||
roberto.alfieri:pub:matlab [11/11/2019 16:57] roberto.alfieri [Ambiente di Lavoro] |
roberto.alfieri:pub:matlab [03/11/2020 20:52] roberto.alfieri |
||
---|---|---|---|
Linea 21: | Linea 21: | ||
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/sites/default/files/2018-11/Avviorapido-licenza-TotalAcademicHeadcount-UtenteFinale.pdf | Avvio rapido ]] - |
+ | {{ 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]] - | ||
Linea 68: | Linea 71: | ||
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 | ||
Linea 95: | Linea 98: | ||
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 | ||
Linea 118: | Linea 123: | ||
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 ==== | ||
[[ 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,100)*10+5 ; # Crea un vettore di 20 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 ==== | ||
Linea 136: | Linea 149: | ||
<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> | ||
Linea 206: | Linea 219: | ||
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==== | ||
Linea 309: | Linea 310: | ||
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'); |