~~~ La versione in italiano inizia subito dopo la versione in inglese ~~~
ENGLISH
29-01-2025 - Computer science basics - Matlab, cycles [EN]-[IT]
With this post I would like to give a brief instruction about the topic mentioned in the subject
(code notes: X_54)
Matlab, cycles
In Matlab, a cycle is defined as the iterative structure that contains the section of code that must be repeated.
Loops in MATLAB are used to repeat a block of code multiple times, thus reducing the need to manually write repetitive instructions. This feature is useful in many situations, for example when you need to perform operations on large amounts of data, calculate numerical series or perform iterative simulations.
Some structures used for these cycles are widespread structures in most programming languages.
The Matlab Iteration Structure
The Matlab iteration structure has 5 fundamental characteristics:
1-It allows you to re-execute a part of the program multiple times based on a
counter and a termination condition
2-An iterative structure is used to repeat actions
3-The iterative structure contains the section of code that must be
repeated
4-A loop is an iterative control structure used to repeat
the execution of a set of instructions a certain number of times
5-Each repetition of the loop is called an iteration or step
There are operational structures in which the number of iterations is known a priori and others are not. For example, the for loop has a known number of iterations, while the while loop does not. In the while loop the number of iterations is not known a priori and the loop ends when a specific condition is satisfied
Iterative and conditional constructs
It is possible to nest for loops and conditional statements, paying attention to the fact that both must always be accompanied by the relative final end clause. These are the iterative and conditional constructs
Loops in Matlab are used to:
-Automate repetitive operations
-Work with vectors, matrices or arrays
-Solve iterative problems
-Dynamic conditions
Exercise:
Let's try an exercise on loops.
Below is the Matlab code that takes an array x as input and returns the element with the maximum value as output.
function massimo = trovaMassimo(x)
% FINDMASSIMO Returns the maximum element of an array.
% massimo = trovaMassimo(x) returns the maximum value of the array x.
% Check if array is empty
if isempty(x)
error('The input array is empty.')
end
% Calculate maximum value
maximum = max(x);
end
Here is an example of usage
x = [3, 7, 1, 9, 4];
maximumValue = findMax(x);
disp(['Maximum value is: ', num2str(maxValue)]);
Code Description
01-First Block
Checking the Array: The function checks if the array is empty. If it is, it throws an error.
02-Second Block
Calculating the Maximum: Uses the built-in MATLAB function max to find the maximum value of the array.
03-Third Block
Returning the Result: The maximum value is returned to the caller.
Conclusions
Matlab loops are essential for automating repetitive processes and working with large amounts of data.
Question
Have you ever written a program using "for" and "while" loops? Or have you used if, elseif, else loops?
[ITALIAN]
29-01-2025 - Basi di informatica - Matlab, i cicli [EN]-[IT]
Con questo post vorrei dare una breve istruzione a riguardo dell’argomento citato in oggetto
(code notes: X_54)
Matlab, i cicli
In Matlab viene definito ciclo la struttura iterativa che contiene la sezione di codice che deve essere ripetuta.
I cicli in MATLAB servono a ripetere un blocco di codice più volte, riducendo così la necessità di scrivere manualmente istruzioni ripetitive. Questa funzionalità è utile in molte situazioni, ad esempio quando si devono eseguire operazioni su grandi quantità di dati, calcolare serie numeriche o eseguire simulazioni iterative.
Alcune strutture usate per questi cicli sono strutture diffuse nella maggior parte dei linguaggi di programmazione.
La struttura di iterazione di Matlab
La struttura di iterazione di Matlab ha 5 caratteristiche fondamentali:
1-Consente di rieseguire una parte di programma più volte sulla base di un
contatore e di una condizione di termine
2-Una struttura iterativa viene usata per ripetere le azioni
3-La struttura iterativa contiene la sezione di codice che deve essere
ripetuta
4-Un ciclo è una struttura iterativa di controllo utilizzata per ripetere
l’esecuzione di un insieme di istruzioni un certo numero di volte
5-Ciascuna ripetizione del ciclo è detta iterazione o passo
Ci sono strutture operative in cui il numero di iterazioni è noto a priori e altre no. Ad esempio il ciclo for ha un numero di iterazioni noto, mentre il ciclo while no. Nel ciclo while il numero di iterazioni non è noto a priori e il ciclo termina quando viene soddisfatta una specifica condizione
Costrutti iterativi e condizionali
È possibile annidare i cicli for e le istruzioni condizionali prestando attenzione al fatto che entrambi devono essere sempre accompagnati dalla relativa clausola finale end. Questi sono i costrutti iterativi e condizionali
I cicli in Matlab si usano per:
-Automatizzare operazioni ripetitive
-Lavorare con vettori, matrici o array
-Risolvere problemi iterativi
-Condizioni dinamiche
Esercizio:
Proviamo a fare un esercizio sui cicli.
Qui di seguito è riportato il codice Matlab che prende in ingresso un array x e restituisce in uscita l’elemento con valore massimo.
function massimo = trovaMassimo(x)
% TROVAMASSIMO Restituisce l'elemento massimo di un array.
% massimo = trovaMassimo(x) restituisce il valore massimo dell'array x.
% Controllo se l'array è vuoto
if isempty(x)
error('L''array in ingresso è vuoto.')
end
% Calcolo del valore massimo
massimo = max(x);
end
Qui di seguito un esempio di utilizzo
x = [3, 7, 1, 9, 4];
valoreMassimo = trovaMassimo(x);
disp(['Il valore massimo è: ', num2str(valoreMassimo)]);
Descrizione del codice
01-Primo blocco
Controllo dell'array: La funzione verifica se l'array è vuoto. Se lo è, genera un errore.
02-Secondo blocco
Calcolo del massimo: Utilizza la funzione MATLAB incorporata max per trovare il valore massimo dell'array.
03-Terzo blocco
Restituzione del risultato: Il valore massimo viene restituito al chiamante.
Conclusioni
I cicli di Matlab sono fondamentali per automatizzare processi ripetitivi e lavorare con grandi quantità di dati.
Domanda
Avete mai scritto un programma usando i cicli "for" e "while"? Oppure avete usato i cicli if, elseif, else?
THE END