vuoi
o PayPal
tutte le volte che vuoi
M(5,5) = 10 # amplia la matrice fino ad avere 5 righe e 5 colonne e aggiunge l’elemento
Posso selezionare solo una riga o una colonna utilizzando “:” tra gli indici.
Es.
M[:,2] # prende tutte le righe ma solo la seconda colonna
M[3,:] # prende solo la terza riga con tutte le colonne
Stringhe
Per visualizzare una stringa di testo si possono utilizzare i comandi fprintf(“”) o disp(“”).
\t inserire una tabulazione orizzontale, \n crea una nuova riga verticale.
disp(“”) va a capo in automatico.
Per eseguire uno script .m salvato posso scrivere nalla Command Window il nome dello
script (senza estensione) e viene eseguito. 4
Quando richiamo uno script è come se leggessi riga per riga lo script e la eseguissi in
sequenza nel Command Window.
Script esterni
Per richiamare uno script esterno .m si utilizza il comando run(“”), passando il nome dello
script come parametro.
Es. run(“s02.m”)
Tale istruzione si può utilizzare anche come comando, senza parentesi tonde, specificando
solo il nome del file con estensione, oppure direttamente indicando il nome dello script
senza estensione.
Es.
run s02.m
s02
Ciclo for
Per eseguire diverse volte un’istruzione si utilizza il ciclo for, se si conosce
preventivamente il numero di iterazioni da effettuare. Occorre dichiarare il punto di
partenza, il punto di arriva ed eventualmente lo step di incremento.
Es.
for i=1:n
istruzione;
end
Functions
Per realizzare script generici e che si adattano dinamicamente al contesto di utilizzo, i file
script .m sono limitati. Si utilizzano i file di tipo function.
La sintassi di base di un file function è: keyword function seguita da un vettore degli
output dal nome del file e dai parametri in parentesi tonde.
Es. function [y1, y2, …, yn] = nomefun(x1, x2, …, xn)
function [area] = area_cerchio(raggio)
% calcola area di un cerchio, il cui raggio è un parametro di ingresso
area = 2*pi*raggio;
end
In caso di output multipli: 5
[out1, out2] = nomefun(param)
Per richiamare una function, MATLAB cerca il parametro nel Workspace globale se non
forniamo il valore numerico come parametro.
Il Workspace di una function è separato da quello di uno script (locale) dove sono
contenute i parametri formali definiti, utilizzati nei calcoli interni della function stessa.
Vengon, dunque, evitati conflitti tra le variabili nel Workspace globale degli script e locale
delle function.
Quando la function è memorizzata in un percorso diverso rispetto alla cartella di lavoro,
il comando da utilizzare è il seguente:
addpath(percorso)
Input utente
Per prelevare un input dall’utente utilizzare il comando input.
Es. n = input(“Inserire un valore per n”);
L’utilizzo degli script .m al posto della Command Window, serve affinchè si possa
richiamare una sequenza di istruzioni in una solta volta, che possono essere richiamati in
un secondo momento. Inoltre, nella Command Window se si commettono errori nel
codice diventa tedioso operare nella riga di comando, rispetto a uno script.
Se prima della definizione della funzione nel file function sono presenti dei commenti,
eseguendo il comando help + nome della funzione, questi vengono stampati a video. Ciò
è utile per comprendere il funzionamento della funzione, senza doverlo aprire.
Es.
FUNCTION:
% Calcola area dell'aula
%
% Input:
% b - base
% h - altezza
%
% Output:
% area - area dell'aula
% perimetro - perimetro dell'aula 6
% diagonale - diagonale dell'aula
function [area, perimetro, diagonale] = calcola_geometria_aula(b,h)
area = b*h; % calcola area
perimetro = (b+h)*2; % calcola perimetro
diagonale = sqrt(b^2+h^2); % calcola diagonale
end
MAIN:
fprintf("Calcola la geometria dell'aula\n"); % messaggio iniziale
b = input("Inserire un valore per la base b: ");
h = input("Inserire un valore per l'altezza h: ");
[area, perimetro, diagonale] = calcola_geometria_aula(b, h); % calcola geometrie
fprintf("L'area dell'aula è: %.2f mq.\n", area); % stampa area
fprintf("Il perimetro dell'aula è: %.2f m\n", perimetro); % stampa perimetro
fprintf("La diagonale dell'aula è: %.2f m\n", diagonale); % stampa diagonale
Funzioni locali, annidate ed esterne
Le funzioni locali sono funzioni secondarie che si trovano nello stesso file di uno script e
sono utili per organizzare il codice. Non sono visibili all’esterno del file, ma solo dalla
funzione principale (script main) o dalle altre funzioni locali presenti nello stesso file.
Così facendo, è possibile salvare più funzioni correlate in uno stesso file function, senza
dover creare un file separato per ognuna delle funzioni presenti.
Es.
FUNCTION
% Calcola la somma e il prodotto di due numeri (funzioni locali)
%
% input: a, b - operandi delle operazioni
% output: risultato - array che contiene somma e prodotto
% risultato delle operazioni 7