Strumenti Utente

Strumenti Sito


roberto.alfieri:pub:matlab

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisione Revisione precedente
Prossima revisione
Revisione precedente
roberto.alfieri:pub:matlab [07/11/2019 09:47]
roberto.alfieri
roberto.alfieri:pub:matlab [11/11/2020 10:29] (versione attuale)
roberto.alfieri [Programmazione]
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 43: Linea 46:
  
   % 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
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 ​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 ​std=10  
 +hist(X,​10); ​        ​# Suddivide l'​intervallo del vettore in 10 intervallicalcola ​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'​);​
Linea 365: Linea 366:
 </​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 ]] (occorre la VPN)
roberto.alfieri/pub/matlab.1573116447.txt.gz · Ultima modifica: 07/11/2019 09:47 da roberto.alfieri