Le funzioni in Matlab: differenze tra le versioni
(→Doppio di un numero) |
(→Ordinamento di un vettore) |
||
Riga 54: | Riga 54: | ||
=== Ordinamento di un vettore === | === Ordinamento di un vettore === | ||
− | + | Riprendiamo l'esempio relativo al [http://www.vitoantoniobevilacqua.it/wiki/index.php?title=Diagrammi_di_flusso_e_Codice_Matlab#Ordinamento_degli_elementi_di_un_vettore Selection Sort] | |
Innanzitutto è necessario dichiarare e definire la funzione. A tal proposito, supponendo che la funzione che stiamo creando si chiami doppio, è necessario creare un file .m che abbia lo stesso nome della funzione. In questo caso, quindi, il seguente blocco di codice sarà contenuto all'interno del file doppio.m | Innanzitutto è necessario dichiarare e definire la funzione. A tal proposito, supponendo che la funzione che stiamo creando si chiami doppio, è necessario creare un file .m che abbia lo stesso nome della funzione. In questo caso, quindi, il seguente blocco di codice sarà contenuto all'interno del file doppio.m |
Versione delle 10:19, 7 dic 2016
Vitoantonio Bevilacqua vitoantonio.bevilacqua@poliba.it
Antonio Brunetti antonio.brunetti@poliba.it
Gianpaolo Francesco Trotta gianpaolofrancesco.trotta@poliba.it
Sommario. Il presente paragrafo si riferisce alle lezioni del I Modulo di Informatica : Fondamenti di Informatica per il nuovo corso di laurea triennale in Ingegneria dei Sistemi Medicali del Dipartimento di Ingegneria Elettrica e dell'Informazione del Politecnico di Bari.
Parole chiave: Funzioni, Dichiarazione di una funzione, Chiamata di una funzione.
ATTENZIONE !!! - PAGINA IN ALLESTIMENTO
Indice
Introduzione
È possibile unire gruppi di istruzioni per formare delle "funzioni" usate per evitare di replicare porzioni di codice sorgente più volte. Invocare una funzione significa mandare in esecuzione la porzione di codice che la costituisce. Se una funzione è invocata più volte, allora la porzione di codice è eseguita più volte: il vantaggio è dunque quello di poter avere tante chiamate ma una sola porzione di codice.
Dichiarazione e definizione di una funzione
In Matlab è possibile dichiarare una funzione nel seguente modo:
function [y1,...,yN] = nomeFunzione (x1,...,xM)
Il codice precedente dichiara una funzione chiamata nomeFunzione che accetta come ingresso (dominio) M variabili x1,...,xM e restituisce come uscita (codominio) N variabili y1,...,yN.
Chiamata di una funzione
Una volta dichiarato il prototipo e definita la funzione, è possibile richiamare la stessa in qualsiasi script (avendo cura di rispettare il dominio e il codominio definito). Per esempio, nel seguente blocco di codice è richiamata la funzione nomefunzione:
[y1,...,yN] = nomeFunzione (x1,...,xM);
Esempi Applicativi
Doppio di un numero
Si vuole realizzare una funzione che sia in grado di calcolare il doppio di un numero.
Innanzitutto è necessario dichiarare e definire la funzione. A tal proposito, supponendo che la funzione che stiamo creando si chiami doppio, è necessario creare un file .m che abbia lo stesso nome della funzione. In questo caso, quindi, il seguente blocco di codice sarà contenuto all'interno del file doppio.m
function [ D ] = doppio ( A )
% Doppio funzione per raddoppiare il valore una variabile
% Non ci sono ulteriori dettagli
D = 2*A;
end
Di seguito, invece, uno script di esempio in cui si va a richiamare la funzione che abbiamo appena definito.
%% Script per la dimostrazione di una chiamata di funzione
A = 3;
A = doppio(A);
% A questo punto, la chiamata a disse mostrerà il valore di A raddoppiato, quindi 6
disp(A);
Ordinamento di un vettore
Riprendiamo l'esempio relativo al Selection Sort
Innanzitutto è necessario dichiarare e definire la funzione. A tal proposito, supponendo che la funzione che stiamo creando si chiami doppio, è necessario creare un file .m che abbia lo stesso nome della funzione. In questo caso, quindi, il seguente blocco di codice sarà contenuto all'interno del file doppio.m
function [ D ] = doppio ( A )
% Doppio funzione per raddoppiare il valore una variabile
% Non ci sono ulteriori dettagli
D = 2*A;
end
Di seguito, invece, uno script di esempio in cui si va a richiamare la funzione che abbiamo appena definito.
%% Script per la dimostrazione di una chiamata di funzione
A = 3;
A = doppio(A);
% A questo punto, la chiamata a disse mostrerà il valore di A raddoppiato, quindi 6
disp(A);