Estrazione dati da una matrice
Prima di eseguire gli esercizi è necessario fare alcuni esempi di utilizzo dell'operatore " : " (due punti) che permette la generazione di un vettore. Nello specifico l'operatore sarà utilizzato per generare un vettore di indici.
Si prenda come riferimento il vettore riga di 8 elementi
>> v = [15 17 19 21 23 25 27 30];
Se si scrive nella COMMAND WINDOW v(1) viene restituto il primo elemento del vettore
>> v(1)
ans =
15
Se si scrive v(1:3) vengono restituiti i primi tre valori
>> v(1:3)
ans =
15 17 19
Se si scrive v(3:7) vengono restituiti gli elementi che vanno dall'indice 3 all'indice 7
>> v(3:7)
ans =
19 21 23 25 27
L'utilizzo diventa interessante quando si ha a che fare con una matrice. Si prenda come riferimento la matrice A di 3 righe e 5 colonne così definita:
>> A = [15 17 19 21 23; 25 27 29 35 40; 45 50 55 60 70]
A = 15 17 19 21 23 25 27 29 35 40 45 50 55 60 70
Se si scrive A(1,3) viene restituito l'elemento con riga=1 e colonna=3 (cioè 19)
>> A(1,3)
ans =
19
Se si scrive A(:,2) viene restituta la seconda colonna
>> A(:,2)
ans =
17
27
50
Se si scrive A (3,: ) viene restituita la terza riga
>> A(3,:)
ans =
45 50 55 60 70
Se si scrive A(3,2:5) vengono restituiti gli elementi della terza riga e colonna che va da 2 a 5
>> A(3,2:5)
ans =
50 55 60 70
Se si scrive A(1:2,1:4) vengono restituti gli elementi della prima e seconda riga colonna che va da 1 a 4
>> A(1:2,1:4)
ans =
15 17 19 21
25 27 29 35
Esercizio RISOLTO
Creare in Matlab la seguente matrice:
3 7 -4 12
-5 9 10 2
6 13 8 11
15 5 4 1
Soluzione:
>> A = [3 7 -4 12; -5 9 10 2; 6 13 8 11; 15 5 4 1]
A =
3 7 -4 12
-5 9 10 2
6 13 8 11
15 5 4 1
ESERCIZIO m.1
A partire dalla matrice A dell' esercizio risolto
- Creare un vettore v formato dagli elementi della seconda colonna di A
- Creare un vettore v formato dagli elementi della seconda riga di A
ESERCIZIO m.2
A partire dalla matrice A dell' esercizio risolto
- Creare una matrice B 4*3 formata da tutti gli elementi compresi tra la seconda e la quarta colonna di A
- Creare una matrice C 3*4 formata da tutti gli elementi compresi tra la seconda e la quarta riga di A
- Creare una matrice D 2*3 formata dagli elementi intersezione delle prime due righe e delle ultime tre colonne di A
Esercizio m.3
Il seguente prospetto illustra la paga oraria, le ore lavorate e la produzione (numero dei pezzi prodotti) settimanale di cinque operai.
scrivere un m-file di Matlab che definita la matrice A
>> A = [5 5.50 6.50 6 6.25; 40 43 37 50 45; 1000 1100 1000 1200 1100]
A =
1.0e+03 *
0.0050 0.0055 0.0065 0.0060 0.0063
0.0400 0.0430 0.0370 0.0500 0.0450
1.0000 1.1000 1.0000 1.2000 1.1000
mostri in output:
- Quanto guadagna un operaio in una settimana
- Qual è il salario settimanale totale per tutti gli operai
- Quanti pezzi vengono prodotti
- Qual è il costo medio per produrre un pezzo
- Quante ore occorrono inn media per produrre un pezzo
- Supponendo che i pezzi prodotti dai vari operai abbiano la stessa qualità, qual è l'operaio più efficiente? Qual è quello meno efficiente?