29-01-2025 - Computer science basics - Matlab, cycles [EN]-[IT]

image.png


~~~ 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

Sort:  

How come I am just hearing about this for the first time in computer science

Matlab course keeps getting wider everyday…
It’s more interesting though

thanks for stopping by and leaving a comment. Unfortunately I have to tell you that I will write more about Matlab, but now my knowledge of this topic is almost over. !LOLZ

I was fired from the keyboard factory yesterday.
I wasn't putting in enough shifts.

Credit: reddit
@bisolamih, I sent you an $LOLZ on behalf of stefano.massari

(1/8)
Delegate Hive Tokens to Farm $LOLZ and earn 110% Rewards. Learn more.

Avete mai scritto un programma usando i cicli "for" e "while"? Oppure avete usato i cicli if, elseif, else?

Sì, mi è capitato di usarli tutti quanti (meno forse elseif, che su python è elif): sono uno dei pochi strumenti che sono in grado di utilizzare in realtà 😅

Comunque non sapevo che sapessi programmare! Che linguaggi conosci? :)

Ciao arc7, in realtà io non sono un programmatore. Anche se in passato è vero, ho studiato diversi linguaggi di programmazione.però stiamo parlando di cose veramente primitive. Iniziai a fare qualche piccolo programma con il linguaggio turbo Pascal ed il linguaggio Basic. La mia esperienza con la programmazione è andata avanti ma utilizzando poi fogli elettronici, quindi direi che non possiamo più chiamarla programmazione. Mi dispiace averti illuso ma non sono un programmatore, oggi non posso essere definito così. Per quanto riguarda Matlab, l’ho usato sopratutto per fare calcoli matriciali complessi, ma solo per curiosità personale. Invece da quel che leggo, tu si che sei un programmatore. !ALIVE

!discovery 20

Grazie Liberty per il tuo costante supporto. Con questo articolo volevo mostrare anche che Matlab è sia un programma che un linguaggio di programmazione. Ho visto diverse discussioni su questo, c’è che dice che questo software sia un programma, c’è chi afferma che questo software invece sia un linguaggio di programmazione. Con tutti gli sviluppi degli ultimi 15 anni che questo software ha subito, in realtà oggi è veramente entrambe le cose. !DHEDGE


This post was shared and voted inside the discord by the curators team of discovery-it
Join our Community and follow our Curation Trail
Discovery-it is also a Witness, vote for us here
Delegate to us for passive income. Check our 80% fee-back Program