~~~ La versione in italiano inizia subito dopo la versione in inglese ~~~
ENGLISH
21-01-2025 - Computer science basics - Matlab, arrays and functions [EN]-[IT]
With this post I would like to give a brief instruction about the topic mentioned in the subject
(code notes: X_62)
Matlab, arrays and functions
MATLAB: Array
In MATLAB, an array is a fundamental data structure that allows you to store and manipulate a collection of data. Arrays can be of various types, such as vectors (one-dimensional), matrices (two-dimensional) or multidimensional arrays.
Matlab is particularly useful when we want to perform linear algebra calculations because it allows you to create vectors and perform operations between the vectors themselves.
A MATLAB function that concerns vectors is size(x).
size(x) returns a row vector with two values [i j] equal to the number of rows and the number of columns of x respectively.
Let's try to write a code and read it.
Let's take the code as an example:
V = [1 2 3 4 5 6];
W = [10 20];
V(end-1:end)= W
V = 1 2 3 4 10 20
v(3:4) = []
V = 1 2 3 4 10 20
V = [1 2 3 4 5 6];
Z = [V W]
z = 1 2 3 4 5 10 20
assign a row vector
Let's analyze the following command:
v = [1 2 3 4 5 6];
This command assigns a row vector to v.
In essence it creates a vector of 6 elements
assign a row vector (another example)
w = [10 20];
This command is similar to the previous one and assigns a row vector to W
In this case we have created a vector with two elements.
Replacements
The command line V(end-1:end)= W means that you want to replace the penultimate (end-1) and the last (end) element of V with the values of W.
So, since V was a row vector as described [1 2 3 4 5 6], the 5 and 6 will be replaced, so V will become V = 1 2 3 4 10 20
Removal
The command line V(3:4) = [] means that you want to remove the elements of V that are in position 3 and 4.
Since V was V = 1 2 3 4 10 20, after the removal described above it will become
V = [1 2 10 20]
Reinitialize
Now create the following line in the code
V = [1 2 3 4 5 6];
means that we are going to reinitialize V by bringing it back to the value described in the first line of code.
Concatenation
The last line that expresses a command is
Z = [V W];
This concatenates the vectors V and W and will give as a result the new vector line Z
Z = [1 2 3 4 5 6 10 20]
Example with vector
Let's take as an example the vector V = [1 5 3 2 4]
Here are some operations performed with Matlab.
Sum
sum = sum(V)
In our case the sum will be …
15
Product
product = prod(V)
In our case the product will be …
120
Extract the maximum among the elements
maximum = max(V)
In our case the maximum will be …
5
Extract the minimum among the elements
minimum = min(V)
In our case the minimum will be …
1
Sort the elements of the vector
sorted vector = sort(v)
In our case the result will be …
1 2 3 4 5
Conclusions
Matlab is both a program and a programming language and is widely used to perform linear algebra and analytical geometry calculations. Matlab greatly speeds up those complex calculations that occur between vectors or matrices.
Question
Have you ever tried to perform operations with vectors? Have you ever tried to perform the same operations with Matlab?
[ITALIAN]
21-01-2025 - Basi di informatica - Matlab, array e funzioni [EN]-[IT]
Con questo post vorrei dare una breve istruzione a riguardo dell’argomento citato in oggetto
(code notes: X_62)
Matlab, array e funzioni
MATLAB: Array
In MATLAB, un array è una struttura di dati fondamentale che consente di memorizzare e manipolare una collezione di dati. Gli array possono essere di vari tipi, come vettori (monodimensionali), matrici (bidimensionali) o array multidimensionali.
Matlab è particolarmente utile quando vogliamo svolgere calcoli di algebra lineare in quanto permette di creare vettori e fare delle operazioni tra i vettori stessi.
Una funzione di MATLAB che riguarda i vettori è size(x).
size(x) restituisce un vettore riga con due valori [i j] uguali rispettivamente al numero di righe e al numero di colonne di x.
Proviamo a scrivere un codice e a farne la lettura.
Prendiamo come esempio il codice:
V = [1 2 3 4 5 6];
W = [10 20];
V(end-1:end)= W
V = 1 2 3 4 10 20
v(3:4) = []
V = 1 2 3 4 10 20
V = [1 2 3 4 5 6];
Z = [V W]
z = 1 2 3 4 5 10 20
assegna un vettore riga
Analizziamo il seguente comando:
v = [1 2 3 4 5 6];
Questo comando assegna un vettore riga a v.
In sostanza crea un vettore di 6 elementi
assegna un vettore riga (altro esempio)
w = [10 20];
Questo comando è analogo al precedente e assegna un vettore riga a W
In questo caso abbiamo creato un vettore con due elementi.
Sostituzioni
La rig di comando V(end-1:end)= W significa che si vuole sostituire il penultimo (end-1) e l'ultimo (end) elemento di V con i valori di W.
Quindi, siccome V era un vettore riga cos’ descritto [1 2 3 4 5 6], il 5 ed il 6 verranno sostituiti, quindi V diventerà V = 1 2 3 4 10 20
Rimozione
La riga di comando V(3:4) = [] significa che si vogliono rimuovere gli elementi di V che si trovano nella posizione 3 e 4.
Siccome V era V = 1 2 3 4 10 20, dopo la rimozione qui sopra descritta diventerà
V = [1 2 10 20]
Reinizializza
Andando ora a creare nel codice la seguente riga
V = [1 2 3 4 5 6];
significa che andiamo a reinizializzare V riportandolo al valore descritto nella prima riga di codice.
Concatenazione
L’ultima riga che esprime un comando è
Z = [V W];
Questo concatena i vettori V e W e darà come risultato il nuovo vettore riga Z
Z = [1 2 3 4 5 6 10 20]
Esempio con vettore
Prendiamo come esempio il vettore V = [1 5 3 2 4]
Qui di seguito alcune operazioni eseguite con Matlab.
Somma
somma = sum(V)
Nel nostro caso la somma sarà …
15
Prodotto
prodotto = prod(V)
Nel nostro caso il prodotto sarà …
120
Estrarre il massimo tra gli elementi
massimo = max(V)
Nel nostro caso il massimo sarà …
5
Estrarre il minimo tra gli elementi
minimo = min(V)
Nel nostro caso il minimo sarà …
1
Ordinare gli elementi del vettore
vettore ordinato = sort(v)
Nel nostro caso il risultato sarà …
1 2 3 4 5
Conclusioni
Matlab è sia un programma che un linguaggio di programmazione ed è ampiamente usato per fare calcoli di algebra lineare e geometria analitica. Matlab velocizza tantissimo quei calcoli complessi che avvengono tra vettori o tra matrici.
Domanda
Avete mai provato a fare delle operazioni con i vettori? Avete mai provato a fare le stesse operazioni con Matlab?
THE END