24-01-2025 - Computer science basics - Matlab, functions and files [EN]-[IT]
~~~ La versione in italiano inizia subito dopo la versione in inglese ~~~
ENGLISH
24-01-2025 - Computer science basics - Matlab, functions and files [EN]-[IT]
With this post I would like to give a brief instruction on the topic mentioned in the subject
(code notes: X_59-58-57)
Matlab, functions and files
For Matlab, files are containers of information. We can also say that for Matlab, files are sequences of bytes to which a name is associated.
Files continue to exist independently of the program as they are stored on mass storage. Furthermore, access to these files is also allowed to multiple programs.
Files can be of two types:
-Binary files
-Text files
Binary files are a sequence of bytes, while text files are a sequence of characters.
Let's remember that Matlab is a programming language and an interactive computing environment.
The sequences of instructions are provided to Matlab through an editor window.
function
Matlab allows the user to create their own functions.
-Functions allow the user to define their own functions
-A function is an m-file written separately from the main (or main)
-The file must have the .m extension and the name in which the function is saved
must be the same as the name of the function itself
-Do not rename existing functions and to avoid this you can use the
command
Exercises
Exercise with vector and binary file
Let's take Matlab and now try to write a vector of nine elements in a binary file. Below we will see how to do it.
1- First we define the vector of nine elements
vector = [1, 2, 3, 4, 5, 6, 7, 8, 9];
2 - The second step is to open a binary file for writing
fileID = fopen('vector.bin', 'w');
3 - We proceed with writing the vector in the binary file
fwrite(fileID, vector, 'double');
4 - The last operation to perform is to close the file
fclose(fileID);
Exercise with script and matrix
Below we will see the script that must be typed to request the insertion of a 3x3 matrix and calculate the determinant.
How do we create this script?:
-We use disp to ask the user to insert the values of the 3x3 matrix.
-We initialize a 3x3 matrix of zeros with zeros(3, 3).
-We use two for loops to request the insertion of each element of the matrix.
-We display the matrix inserted with disp.
-We calculate the determinant of the matrix with the det function.
-We display the determinant with fprintf.
Below is the complete script.
% Request the insertion of the 3x3 matrix
disp('Insert the values of the 3x3 matrix:');
matrix = zeros(3, 3); % Initialize the matrix
for i = 1:3
for j = 1:3
prompt = sprintf('Element (%d,%d): ', i, j);
matrix(i, j) = input(prompt);
end
end
% Display the entered matrix
disp('The entered matrix is:');
disp(matrix);
% Calculate the determinant of the matrix
determinant = det(matrix);
% Display the determinant
fprintf('The determinant of the matrix is: %f\n', determinant);
Exercise with a function
Below we will see an exercise that demonstrates the use of a function
The MATLAB script shown below is used to create a function that, given three integers as input, calculates the sum, the product, the maximum and the minimum:
function [sum, product, maximum, minimum] = CalcolaOperazioni(a, b, c)
% Calculate the sum of the three numbers
sum = a + b + c;
Calculate the product of the three numbers
product = a * b * c;
Find the maximum of the three numbers
maximum = max([a, b, c]);
Find the minimum of the three numbers
minimum = min([a, b, c]);
end
To use this function you can think of saving it in a file called CalcolaOperazioni.m and then calling it from another script or from the MATLAB command window.
Here is an example of how to call this function:
% Define the three integers
a = 5;
b = 10;
c = 3;
% Call the function CalcolaOperazioni
[sum, product, maximum, minimum] = CalcolaOperazioni(a, b, c);
% Display the results
fprintf('Sum: %d\n', sum);
fprintf('Product: %d\n', product);
fprintf('Maximum: %d\n', maximum);
fprintf('Minimum: %d\n', minimum);
What we have done is define the function CalcolaOperazioni that takes three integers as input and returns the sum, product, maximum and minimum.
Matlab gives us the ability to save the function in a file called CalcolaOperazioni.m.
What we will then have to do is define the three integers and call the function to calculate the results.
At the end we will be able to see the results displayed using fprintf.
Conclusions
Matlab, not only allows you to do complex calculations of linear algebra or analytical geometry, but also to save the calculation structures just created to a file.
Question
Have any of you used Matlab at school or university?
[ITALIAN]
24-01-2025 - Basi di informatica - Matlab, funzioni e file [EN]-[IT]
Con questo post vorrei dare una breve istruzione a riguardo dell’argomento citato in oggetto
(code notes: X_59-58-57)
Matlab, funzioni e file
Per Matlab i file sono contenitori di informazioni. Possiamo anche dire che per Matlab i file sono sequenze di byte a cui viene associato un nome.
I file continuano ad esistere indipendentemente dal programma in quanto vengono memorizzati sulla memoria di massa. Inoltre l’accesso a questi file è consentito anche a più programmi.
I file possono essere di due tipologie:
-File binari
-File testuali
I file binari sono una sequenza di byte, mentre i file testuali sono una sequenza di caratteri.
Ricordiamo che Matlab è un linguaggio di programmazione e un ambiente di calcolo interattivo.
Le sequenze di istruzioni vengono fornite a Matlab tramite una finestra di editor.
function
Matlab consente all’utente di creare le proprie funzioni.
-Le function consentono all’utente di definire le proprie funzioni
-Una function è un m-file scritta a parte rispetto al main (o principale)
-Il file deve avere estensione .m e il nome in cui viene salvata la funzione
deve essere uguale al nome della function stessa
-Non rinominare funzioni esistenti e per evitare ciò si può utilizzare il
comando
Esercizi
Esercizio con vettore e file binario
Prendiamo Matlab e proviamo ora a scrivere un vettore di nove elementi in un file binario. Qui di seguito vedremo come si fa.
1- Per prima cosa definiamo il vettore di nove elementi
vettore = [1, 2, 3, 4, 5, 6, 7, 8, 9];
2 - Il secondo passaggio è quello di aprire un file binario per scrittura
fileID = fopen('vettore.bin', 'w');
3 - Si procede con lo scrivere il vettore nel file binario
fwrite(fileID, vettore, 'double');
4 - L’ultima operazione da eseguire è chiudere il file
fclose(fileID);
Esercizio con script e matrice
Qui di seguito vedremo lo script che bisogna digitare per richiedere l’inserimento di una matrice 3x3 e calcolare il determinante.
Come facciamo per creare questo script?:
-Utilizziamo disp per chiedere all'utente di inserire i valori della matrice 3x3.
-Inizializziamo una matrice 3x3 di zeri con zeros(3, 3).
-Utilizziamo due cicli for per richiedere l'inserimento di ciascun elemento della matrice.
-Visualizziamo la matrice inserita con disp.
-Calcoliamo il determinante della matrice con la funzione det.
-Visualizziamo il determinante con fprintf.
Qui di seguito lo script completo.
% Richiedi l'inserimento della matrice 3x3
disp('Inserisci i valori della matrice 3x3:');
matrice = zeros(3, 3); % Inizializza la matrice
for i = 1:3
for j = 1:3
prompt = sprintf('Elemento (%d,%d): ', i, j);
matrice(i, j) = input(prompt);
end
end
% Visualizza la matrice inserita
disp('La matrice inserita è:');
disp(matrice);
% Calcola il determinante della matrice
determinante = det(matrice);
% Visualizza il determinante
fprintf('Il determinante della matrice è: %f\n', determinante);
Esercizio con una function
Qui di seguito vedremo un esercizio che mostra l’uso di una function
Lo script MATLAB mostrato qui di seguito serve per creare una funzione che, dati tre numeri interi in ingresso, calcoli la somma, il prodotto, il massimo ed il minimo:
function [somma, prodotto, massimo, minimo] = calcolaOperazioni(a, b, c)
% Calcola la somma dei tre numeri
somma = a + b + c;
Calcola il prodotto dei tre numeri
prodotto = a * b * c;
Trova il massimo dei tre numeri
massimo = max([a, b, c]);
Trova il minimo dei tre numeri
minimo = min([a, b, c]);
end
Per utilizzare questa funzione si può pensare di salvarla in un file chiamato calcolaOperazioni.m e poi chiamarla da un altro script o dalla command window di MATLAB.
Ecco un esempio di come chiamare questa funzione:
% Definisci i tre numeri interi
a = 5;
b = 10;
c = 3;
% Chiama la funzione calcolaOperazioni
[somma, prodotto, massimo, minimo] = calcolaOperazioni(a, b, c);
% Visualizza i risultati
fprintf('Somma: %d\n', somma);
fprintf('Prodotto: %d\n', prodotto);
fprintf('Massimo: %d\n', massimo);
fprintf('Minimo: %d\n', minimo);
Quello che abbiamo fatto è stato definire la funzione calcolaOperazioni che prende tre numeri interi come input e restituisce la somma, il prodotto, il massimo e il minimo.
Matlab ci da la possibilità di salvare la funzione in un file chiamato calcolaOperazioni.m.
Quello che poi dovremo fare sarà definire i tre numeri interi e chiamare la funzione per calcolare i risultati.
Alla fine potremo vedere visualizzati i risultati utilizzando fprintf.
Conclusioni
Matlab, non solo consente di fare calcoli complessi di algebra lineare o geometria analitica, ma anche di salvare su file le strutture di calcolo appena create.
Domanda
Qualcuno di voi a scuola o all'università ha usato Matlab?
THE END
The part of using Matlab to save calculations is really good
So people don’t forget formulas and the likes
You understood very well. With Matlab you set formulas only once and then you can also save them in a file
God knows that it took me several years to finally love mathematics