La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 a lezione - laboratorio a.a 2004-2005 Corso di Laurea Ingegneria MECCANICA.

Presentazioni simili


Presentazione sul tema: "1 a lezione - laboratorio a.a 2004-2005 Corso di Laurea Ingegneria MECCANICA."— Transcript della presentazione:

1 1 a lezione - laboratorio a.a 2004-2005 Corso di Laurea Ingegneria MECCANICA

2 Desktop del MATLAB Launch Pad : ai tools, demos, e docum. dei prodotti MathWorks istallati sul computer. 4 zone che consentono un facile accesso: workspace : alle variabili memorizzate. Command History : ai comandi eseguiti nel Command Windows.

3 Command Windows, finestra di lavoro, viene usato per inserire variabili ed eseguire file function e M- file Current Directory: ai file memorizzati nella directory di lavoro.

4 La directory di lavoro La directory di default è c:\matlab6p1\work Se si vuole usare unaltra directory: –si va nella directory desiderata utilizzando current directory –si inserisce la directory desiderata nel path

5 Come visualizzare il Path Per visualizzare il path si può: – digitare il comando path – si può selezionare con il mouse dallambiente di calcolo la voce File e dal menu a tendina che compare la voce Set path.

6 Come utilizzare il Path Per aggiungere una directory al path preesistente selezionare con il mouse la voce File …. Set path …… Add Folder …

7 Matlab Windows Le tre finestre di lavoro del MATLAB: Comandi utili: clc:ripulisce la finestra Command windows clf :ripulisce la finestra Graphic windows quit o exit: per uscire da MATLAB Command windows Graphic windows Edit windows

8 Command Windows Utilizzo interattivo » 3*5^13 ans = 3.6621e+009 » 3*5^13 ans = 3.6621e+009 » help magic MAGIC Magic square. MAGIC(N) is an N-by-N matrix constructed from the integers 1 through N^2 with equal row, column, and diagonal sums. » help magic MAGIC Magic square. MAGIC(N) is an N-by-N matrix constructed from the integers 1 through N^2 with equal row, column, and diagonal sums. Help online Workspace whos

9 Introduzione al MATLAB »MATrix LABoratory La MATRICE - la chiave per comprendere MATLAB –nessun dimensionamento –trattata nel suo insieme –operazioni più naturali possibili Gli elementi di una matrice possono essere sia dei numeri che dei caratteri

10 Array numerici I dati sono memorizzati in Double-Precision Floating-Point » x=4 x = 4 » c=[1,2;3,4]; » x=[-1.6 sqrt(4) (7+5)*4/3] x = -1.6000 2.0000 16.0000 » x=4 x = 4 » c=[1,2;3,4]; » x=[-1.6 sqrt(4) (7+5)*4/3] x = -1.6000 2.0000 16.0000 ; indica la fine di una riga o la soppressione di un output Virgola/Spazio: gli elementi sono sulla stessa riga Qualunque espressione Matlab può essere usata come elemento di una matrice

11 Array numerici » x=[-1.6 sqrt(4) (7+5)*4/3]; » x(5)=abs(x(1)) x = -1.6000 2.0000 16.0000 0 1.6000 » x=0:7 x = 0 1 2 3 4 5 6 7 » y=0:0.5:3; » z=7:-1:0; » x=linspace(0,7,15); » rand(1,4) ans = 0.8913 0.7621 0.4565 0.0185 » x=[-1.6 sqrt(4) (7+5)*4/3]; » x(5)=abs(x(1)) x = -1.6000 2.0000 16.0000 0 1.6000 » x=0:7 x = 0 1 2 3 4 5 6 7 » y=0:0.5:3; » z=7:-1:0; » x=linspace(0,7,15); » rand(1,4) ans = 0.8913 0.7621 0.4565 0.0185 Elementi non definiti sono posti a zero Gli elementi di una matrice si possono individuare mediante numeri allinterno di parentesi tonde Senza assegnazione esplicita: ogni entità è memorizzata in ans Loperatore : crea vettori di elementi equispaziati

12 La matrice A = Righe (m) Colonne (n) Matrice Rettangolare: Vettore : m x 1 array 1 x n array Matrice: m x n array Scalare : 1 x 1 array Matrice Rettangolare: Vettore : m x 1 array 1 x n array Matrice: m x n array Scalare : 1 x 1 array 1 2 3 4 5 1234512345

13 Come individuare gli elementi di una matrice A = 1 2 3 4 5 1234512345 >> A=magic(5); A(3,2) = A(8) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 A(3,1) A(3) A([4,5],[2,3]) A(4:5,2:3)

14 Come estrarre elementi da una matrice A = 1 2 3 4 5 1234512345 Si vogliono estrarre gli elementi dellultima colonna. >> A=magic(5);

15 Come estrarre gli elementi dellultima colonna >> A=magic(5); >> A([1,2,3,4,5],5) >> A(1:5,5) >> A(:,5) >> A(21:25)' ans = 15 16 22 3 9 Loperatore : crea vettori di elementi equispaziati Loperatore : individua tutte le righe

16 Esercizio 1 Data la matrice A=ones(5) a) estrarre la seconda riga e la terza colonna; b) sostituire lultima riga di A con il vettore r=[3 3 3 3 3]. » A=ones(5); a.» p=A(2,:);q=A(:,3); b.» r=[1 1 1 1 1]; » A(end,1:5)=r; %oppure A(end,:)=r; %oppure A(end,:)=[1 1 1 1 1];

17 Formato delloutput Comando format

18 Array di Stringhe » str1= Questa e una stringa di prova; » str2= che contiene 58 elementi ; » str=[str1 str2] str = Questa e una stringa di prova che contiene 58 elementi » str=[str1;str2] str = Questa e una stringa di prova che contiene 58 elementi » str1= Questa e una stringa di prova; » str2= che contiene 58 elementi ; » str=[str1 str2] str = Questa e una stringa di prova che contiene 58 elementi » str=[str1;str2] str = Questa e una stringa di prova che contiene 58 elementi Loperatore () delimita larray di stringhe Loperatore [ ] serve a concatenare gli array di stringhe

19 Regole per i nomi delle variabili I nomi devono cominciare con una lettera possono contenere lettere, cifre e il carattere _ Matlab distingue il Maiuscolo dal Minuscolo

20 Esercizio 2 1.Costruire un vettore x costituito da 10 numeri progressivi (es. da 21 a 30). 2.Si calcoli la somma delle componenti del vettore x e, quindi, della prima ed ultima componente. 3.Si costruisca un vettore p, le cui prime 10 componenti siano le stesse di x, mentre lundicesima e la dodicesima siano rispettivamente la somma e la differenza delle prime due componenti.

21 Soluzione Esercizio 2 1. » x=21:30; % oppure x=linspace(21,30,10); 2. » sum(x) % somma delle componenti » x(1)+x(10) % oppure x(1)+x(end) % oppure » n=length(x); » x(1)+x(n) 3. » p=x; » p(11)=x(1)+x(2); » p(12)=x(1)-x(2); % oppure p=[x x(1)+x(2) x(1)-x(2)]; % oppure » q=[x(1)+x(2) x(1)-x(2)]; » p=[x q] 1. » x=21:30; % oppure x=linspace(21,30,10); 2. » sum(x) % somma delle componenti » x(1)+x(10) % oppure x(1)+x(end) % oppure » n=length(x); » x(1)+x(n) 3. » p=x; » p(11)=x(1)+x(2); » p(12)=x(1)-x(2); % oppure p=[x x(1)+x(2) x(1)-x(2)]; % oppure » q=[x(1)+x(2) x(1)-x(2)]; » p=[x q]

22 Variabili predefinite pi i, j eps realmin realmax ans » pi ans = 3.14159265358979 » eps ans = 2.220446049250313e-016 » realmin ans = 2.225073858507201e-308 » realmax ans = 1.797693134862316e+308 » pi ans = 3.14159265358979 » eps ans = 2.220446049250313e-016 » realmin ans = 2.225073858507201e-308 » realmax ans = 1.797693134862316e+308

23 Variabili non numeriche predefinite NaN (Not a Number) Inf » 0/0 Warning: Divide by zero. ans = NaN » b=1/0 Warning: Divide by zero. b = Inf » 0/0 Warning: Divide by zero. ans = NaN » b=1/0 Warning: Divide by zero. b = Inf

24 Funzioni di utilità zeros(m,n): matrice mxn con tutti elem. = 0 ones(m,n): matrice mxn con tutti elem. = 1 rand(m,n): matrice mxn con elem. random uniformemente distribuiti magic(n): matrice magica di dimensioni nxn eye (n): matrice identità di dimensioni nxn tril(A): matrice triang. infer. estratta da A triu(A): matrice triang. super. estratta da A diag(A): vettore contenente la diagonale di A

25 Esercizio 3 1.a) Data la matrice A=[1 2 3; 4 5 6; 7 8 9] estrarre la seconda riga e la terza colonna. b) Sostituire lultima riga di A con il vettore i=[1 3 7]. 2. Estrarre la diagonale della matrice A data in 1. e creare una matrice diagonale avente sulla diagonale gli elementi della diagonale di A. 3. Costruire una matrice 5x5 che abbia tutti 2 sulla diagonale principale e rispettivamente 1 e -1 sulle codiagonali superiore e inferiore.

26 Soluzione Esercizio 3 1.» A=[1 2 3;4 5 6;7 8 9]; » p=A(2,:);q=A(:,3); » i=[1 3 7]; » A(3,1:3)=i; %oppure A(end,:)=i; %oppure A(3,:)=[1 3 7]; 2.» b=diag(A); » c=diag(b); %oppure c=diag(diag(A)); 3.» n=5; » I1=ones(n,1); » I2=ones(n-1,1); » A=diag(2*I1)+1*diag(I2,1)-1*diag(I2,-1) 1.» A=[1 2 3;4 5 6;7 8 9]; » p=A(2,:);q=A(:,3); » i=[1 3 7]; » A(3,1:3)=i; %oppure A(end,:)=i; %oppure A(3,:)=[1 3 7]; 2.» b=diag(A); » c=diag(b); %oppure c=diag(diag(A)); 3.» n=5; » I1=ones(n,1); » I2=ones(n-1,1); » A=diag(2*I1)+1*diag(I2,1)-1*diag(I2,-1)

27 Esercizio 4 Data la matrice A=[10 2 3 1; 2 8 1 1; 3 1 7 0; … 1 1 0 3] calcolarne il determinante; costruire la matrice L, triangolare inferiore, estratta da A (tril) ; costruire la matrice U, triangolare superiore, estratta da A ( triu ); costruire la matrice T, tridiagonale con gli stessi elementi di A sulla diagonale e le codiagonali ( diag ).

28 Soluzione Esercizio 4 » det(A) » L=tril(A) » U=triu(A) » T1=diag(A,-1) » T2=diag(A) » T3=diag(A,1) » T=diag(T1,-1)+ diag(T2)+diag(T3,1) » det(A) » L=tril(A) » U=triu(A) » T1=diag(A,-1) » T2=diag(A) » T3=diag(A,1) » T=diag(T1,-1)+ diag(T2)+diag(T3,1)

29 Operazioni su vettori

30 Esempio di operazione su vettori » a=magic(3) a = 8 1 6 3 5 7 4 9 2 » b1=a*a b1 = 91 67 67 67 91 67 67 67 91 » b2=a.*a b2 = 64 1 36 9 25 49 16 81 4

31 Esercizio 5 1.Calcolare il quadrato dei singoli elementi della matrice magica 5x5. 2.Calcolare il prodotto elemento per elemento tra la matrice magica 5x5 e la matrice di elementi random 5x5. 3.Costruire due vettori: il primo x, contiene i numeri pari da 1 a 10, il secondo y, contiene i numeri dispari da 1 a 10. Calcolare il prodotto dei due vettori x, y ed il prodotto delle singole componenti.

32 Soluzione Esercizio 5 1. » A=magic(5) » A.^2 2. » B=magic(5).*rand(5) 3. » x=2:2:10; » y=1:2:10; » z=x*y; %(z=x*y è una matrice) » z=x.*y; 1. » A=magic(5) » A.^2 2. » B=magic(5).*rand(5) 3. » x=2:2:10; » y=1:2:10; » z=x*y; %(z=x*y è una matrice) » z=x.*y;


Scaricare ppt "1 a lezione - laboratorio a.a 2004-2005 Corso di Laurea Ingegneria MECCANICA."

Presentazioni simili


Annunci Google