Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoSavio Simona Modificato 10 anni fa
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,:));
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.