La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Esercitazione 1 - Introduzione Matlab. MATrix LABoratory Command window Current Directory Comandi recenti Variabili correnti Contenuto cartella corrente.

Presentazioni simili


Presentazione sul tema: "Esercitazione 1 - Introduzione Matlab. MATrix LABoratory Command window Current Directory Comandi recenti Variabili correnti Contenuto cartella corrente."— Transcript della presentazione:

1 Esercitazione 1 - Introduzione Matlab

2 MATrix LABoratory Command window Current Directory Comandi recenti Variabili correnti Contenuto cartella corrente editor

3 Matrici  MATLAB tratta tutte le variabili come matrici  I vettori sono forme speciali di matrici con una sola riga o colonna  Gli scalari sono trattati come vettori con una sola riga e una sola colonna v_riga = [1 2 3]; v_colonna = [1; 2; 3]; matrice = [1 2 3; 4 5 6; 7 8 9]; 1 2 3 123123 4 5 6 7 8 9

4 Istruzioni frequenti clear all clc close all % commento % per un codice più ordinato... help ; F9 CTRL invio ; F9 CTRL invio

5 Help Contentsgetting started  Matrices and arrays  Expressions  Working with matrices Generating matrices  More about Linear algebra Arrays  Graphics (per approfondire sui grafici) Using basic plotting functions Printable documentation

6 Operatori Addizione (+)a + b Sottrazione (-) a - b Assegnamento (=)a = b Potenze (^ o.^) a^b o a.^b Moltiplicazione (* o.*) a*b o a.*b Divisione (/ o./) a/b o a./b 1 2 3 1 0 1 2 4 3 A = 1 2 2 2 3 1 0 1 2 B = 5 11 10 1 3 4 8 17 15 A * B = 1 4 6 2 0 1 0 3 8 A.* B = Trasposizione (‘)a’

7 Estrazione di sotto-matrici 1 2 3 1 0 1 2 4 3 A =A (:,:) = 1 2 3 1 0 1 2 4 3 A (:,1) = 112112 A (1,:) =1 2 3 A (3,2) = 4A (6) = 4 A(1) A(1,1) A(4) A(1,2) A(7) A(1,3) A(2) A(2,1) A(5) A(2,2) A(8) A(2,3) A(3) A(3,1) A(6) A(3,2) A(9) A(3,3) A(1) A(1,1) A(2) A(1,2) A(3) A(1,3) A(4) A(1,4) A (1,3)A (3)

8 Operazioni su scalari x = 25r = sqrt(x);r = 5 y = - 2.6sign(y) floor(y) abs(y) -3 round(y) -3 ceil(y) -2 2.6 floor(abs(y)) 2 x = 10,9845739; dec=2; n=((1/10^dec)*sign(x))*floor(abs(x*(10^dec)) Esempio1 : troncare un numero decimale a dec cifre dopo la virgola:

9 Operazioni su vettori e matrici size (A) length (A) 1 2 3 1 0 1 2 4 3 A = 3x3 9 min (A) max (A) 1 0 1 2 4 3 max (A(:))4 mean(A(:)), std(A(:)), var(A(:)), … sum(A(:)), abs(A(:)) sum (A) [4 6 7] sum (A(:)) 17 v = 1 3 2 mean(v)2 std(v) 1 size (v) [1 3]length (v)3 min (v) 1max (v) 3 sort (v) [1 2 3] sum (v) 6

10 Matrici “notevoli” zeros (3) 0 0 0 ones (1,3) rand (1,3)0.8147 0.9134 0.2785distribuzione uniforme [0 1] randn(1,3) distribuzione gaussiana a media nulla [1 1 1] linspace(a, b, n) ab n Esempio 2a: costruire una matrice con diverse distribuzioni sulle righe: X=zeros(3,100) %inizializzazione X(1, :) = rand(1,100); X(2, :) = rand(1, 100); X(3, :) = randn(1, 100) n=100; X=zeros(3,n) %inizializzazione X(1, :) = rand(1, n); X(2, :) = rand(1, n); X(3, :) = randn(1, n)

11 Distribuzione uniforme ab m m=1; sigma=10; M=10000 X=rand(1,M)*(sigma*sqrt(12))+m-sigma*sqrt(3) Esempio 3: 01 rand

12 Esempio 2b m=[1 0 2]; sigma=[10 10 1]; M=100000 X(1,:)=rand(1,M)*(sigma(1)*sqrt(12))+m(1)-sigma(1)*sqrt(3) X(2,:)=rand(1,M)*(sigma(2)*sqrt(12))+m(2)-sigma(2)*sqrt(3) X(3,:)=rand(1,M)*(sigma(3)*sqrt(12))+m(3)-sigma(3)*sqrt(3) Costruire una matrice con distribuzioni uniformi con diverse medie e varianze: riga 1: media = 1, varianza = 10; riga 2: media = 0, varianza = 10; riga 3: media = 2, varianza = 1;

13 Istruzione for for x = 1: p : M % comandi end x=[1 1]; for i = 3:10 x(i)= sum(x); end 1 1 2 4 8 16 32 64

14 Esempio 2c Ottimizzare il codice dell’Esercizio 2b utilizzando un ciclo for: 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 m=[100 0 2]; sigma=[10 10 1]; M=100000; X(1,:)=rand(1,M)*(sigma(1)*sqrt(12))+m(1)-sigma(1)*sqrt(3); X(2,:)=rand(1,M)*(sigma(2)*sqrt(12))+m(2)-sigma(2)*sqrt(3); X(3,:)=rand(1,M)*(sigma(3)*sqrt(12))+m(3)-sigma(3)*sqrt(3);

15 Distribuzione gaussiana 0 m=40; sigma=10; M=10000; X=randn(1,M)*sigma+m; Esempio: m

16 Plot close all figure(); subplot(1,3,1);plot(y);subplot(1,3,2);plot(y, ’.’);subplot(1,3,3); stairs(y) x=1:0.1:20; y=sin(x); plot(x,y); x=rand(1,100) plot(x, ’.’); y=sort(x); figure(); plot(y); figure(); plot(y, ’.’); figure(); plot(y); hold on plot(y, ’.’)

17 subplot 1 6 6 5 5 4 4 3 3 2 2 subplot(2,3,1);plot(a) subplot(2,3,2);plot(b)... subplot(2,3,6);plot(f) 12 subplot(1, 2, 1); plot(a); subplot(1, 2, 2); plot(b);

18 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)

19 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 dell’esempio 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,:));

20 Esempio 2e Ottimizzare il codice dell’Esercizio 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); subplot(1,3,i); 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(); subplot(1,3,1); hist(X(1,:)); subplot(1,3,2); hist(X(2,:)); subplot(1,3,3);hist(X(3,:));


Scaricare ppt "Esercitazione 1 - Introduzione Matlab. MATrix LABoratory Command window Current Directory Comandi recenti Variabili correnti Contenuto cartella corrente."

Presentazioni simili


Annunci Google