La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Esercitazione 2 – Generazione di variabili Matlab.

Presentazioni simili


Presentazione sul tema: "Esercitazione 2 – Generazione di variabili Matlab."— Transcript della presentazione:

1 Esercitazione 2 – Generazione di variabili Matlab

2 hist hist(a,100) a=rand(1,100000); hist(a)hist(b,100) b=rand(1,10000); hist(b) hist(a,100) a=randn(1,100000); hist(a)

3 Esempio 2d m=[100 0 2]; sigma=[10 10 1]; M=100000; for i = 1 : length(m) X(i,:)=rand(1,M)*(sigma(i)*sqrt(12))+m(i)-sigma(i)*sqrt(3); end Visualizzare gli istogrammi delle righe della matrice dellesempio 2c: figure(); hist(X(1,:)); figure(); hist(X(2,:)); figure(); hist(X(3,:)); figure(); subplot(1,3,1); hist(X(1,:)); subplot(1,3,2); hist(X(2,:)); subplot(1,3,3);hist(X(3,:));

4 Esempio 2e Ottimizzare il codice dellEsercizio 2d utilizzando un ciclo for: m=[100 0 2]; sigma=[10 10 1]; M=100000; figure(); for i = 1 : length(m) X(i,:)=rand(1,M)*(sigma(i)*sqrt(12))+m(i)-sigma(i)*sqrt(3); figure(); hist(X(i,:)); end m=[100 0 2]; sigma=[10 10 1]; M=100000; for i = 1 : length(m) X(i,:)=rand(1,M)*(sigma(i)*sqrt(12))+m(i)-sigma(i)*sqrt(3); end figure(); hist(X(1,:)); figure(); hist(X(2,:)); figure();hist(X(3,:));

5 Istruzione if if expression1 % is true % execute these commands elseif expression2 % is true % execute these commands else % the default % execute these commands end Esempio 5: cambiare media e varianza delle distribuzioni di MATLAB: m=[100 0 2]; sigma=[10 10 1]; M=100000; distribuzione = [g g u]; for i = 1 : length(m) if distribuzione(i) == u X(i,:)=rand(1,M)*(sigma(i)*sqrt(12))+m(i)-sigma(i)*sqrt(3); elseif distribuzione(i) == g X(i,:)= randn(1,M)*sigma+m; else disp(errore); end figure(); hist(X(i,:)); end

6 Funzioni function [output1, output2] = name (input1, input2, input3) (il nome della funzione deve avere lo stesso nome del file.m in cui viene salvata) [output1, output2] = name (input1, input2, input3); function [n] = doppio (num) n = 2 * num; x=15 x_t = doppio(x); Dalleditor si salva come doppio.m Sul workspace (o allinterno di unaltra funzione)

7 Esercizio Funzione per la generazione di variabili

8 Esercizio Trasformare il codice dellesercizio 2e in una funzione che abbia come ingressi il numero di colonne della matrice X, il vettore delle medie, il vettore delle varianze e il tipo di distribuzione. Luscita della funzione deve essere la matrice X. Una volta creata la funzione, questa deve essere richiamata in un file esterno e deve avere come ingressi i seguenti dati: Devono poi essere visualizzati gli istogrammi delle sue righe e calcolate la media e la varianza. media=[15 15 100]; sigma=[1 10 10]; M=100000; distribuzione = [g g u];

9 Definizione della funzione function [X] = generazione (M, media, sigma, distribuzione) Vogliamo creare una funzione che abbia come ingressi: il numero di osservazioni; il vettore delle medie il vettore delle deviazioni standard il tipo di distribuzione E che abbia come unica uscita la matrice X.

10 Il codice for i = 1 : length(m) if distribuzione(i) == u X(i,:)=rand(1,M)*(sigma(i)*sqrt(12))+m(i)-sigma(i)*sqrt(3); elseif distribuzione(i) == g X(i,:)= randn(1,M)*sigma+m; else disp(errore); end

11 Utilizzo della funzione X=generazione(M, media, sigma, distribuzione); for i = 1 : length(media) figure(); hist(X(:,i)); m_e(i) = mean(X(:,i)); s_e (i) = std(X(:,i)); end media=[15 15 100]; sigma=[1 10 10]; M=100000; distribuzione = [g g u];

12 Un altro esempio (da conservare) media=[0 0 0 0]; sigma=[1 1 1 10]; M=1000000; distribuzione = [u u u u];

13 Esercizio Dato il vettore: [3 4 2 0 5 3 5 5 2 4 3 2 6 1 4 4 4 1 2 5 100] calcolarne media e mediano. Escludere lultimo elemento del vettore e ripetere nuovamente loperazione. Costruire listogramma manualmente. (Utilizzare la funzione bar per graficarlo)


Scaricare ppt "Esercitazione 2 – Generazione di variabili Matlab."

Presentazioni simili


Annunci Google