1 / 20

Matlab

Matlab. Esercitazione 1 - Introduzione. Matlab. Contenuto cartella corrente. Current Directory. MATrix LABoratory. Variabili correnti. editor. Command window. Comandi recenti. Matrici. MATLAB tratta tutte le variabili come matrici

dakota
Download Presentation

Matlab

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Matlab Esercitazione 1 - Introduzione

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

  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]; 1 2 3 1 2 3 v_colonna = [1; 2; 3]; 1 2 3 4 5 6 7 8 9 matrice = [1 2 3; 4 5 6; 7 8 9];

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

  5. Help Contents getting started • Matrices and arrays • Expressions • Working with matrices • Generating matrices • More about • Linear algebra • Arrays • Graphics (per approfondire sui grafici) • Using basic plotting functions Printabledocumentation

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

  7. Estrazione di sotto-matrici 1 2 3 1 0 1 2 4 3 1 2 3 1 0 1 2 4 3 1 1 2 A = A (:,:) = A (: ,1) = A (1 ,:) = 1 2 3 A (3,2) = 4 A (6) = 4 A (1 ,3) A (3)

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

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

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

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

  12. Esempio 2b 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; 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)

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

  14. Esempio 2c Ottimizzare il codice dell’Esercizio 2b utilizzando un ciclo for: 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); 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

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

  16. Plot closeall figure(); 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, ’.’) subplot(1,3,1);plot(y);subplot(1,3,2);plot(y, ’.’);subplot(1,3,3); stairs(y)

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

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

  19. Esempio 2d Visualizzare gli istogrammi delle righe della matrice dell’esempio 2c: 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,:)); 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; 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,:)); 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

More Related