Come definire una funzione in Matlab

MATLAB

In questa lezione impareremo come definire una funzione in Matlab. Le Funzioni ci danno la possibilità di estendere le potenzialità di MATLAB. È possibile creare nuove funzioni specifiche per il problema che poi assumono lo stesso status delle altre funzioni di MATLAB. Le variabili in un file di funzione sono locali per impostazione predefinita. Tuttavia, dalla versione 4.0 di Matlab ci è permesso di utilizzare una variabile da dichiarare globale.

Le Funzioni sono M-file che possono accettare argomenti d’entrata e forniscono argomenti di uscita. Il nome dell’M-file e della funzione deve essere lo stesso. Le Funzioni operano su variabili definite nel workspace proprio, separato dal workspace a cui si accede all’ingresso di MATLAB, cio`e le variabili usate all’interno della funzione sono locali.

Vediamo come scrivere una una funzione con parametri in ingresso e parametri in uscita. Si voglia costruire una funzione che, dati i lati ”a” e ”b” di un rettangolo fornisca l’area ”A”, il perimetro ”p” e la diagonale ”d”. Indichiamo con (a; b) la lista d’ingresso (parentesi tonde) e con [A; p; d] la lista d’uscita (parentesi quadre) (si noti la virgola fra i parametri).

function [ A , p , d ] =rettang ( a , b )
A = a * b;
p = 2 * ( a + b );
d =sqrt ( a^2 + b^2 );

Si noti che non c’e’ confusione tra la lettera A e la a perche’ MATLAB distingue le lettere maiuscole dalle minuscole. Questa function, salvata con il nome rettang.m puo’ essere richiamata da un altro modulo o direttamente dalla finestra comandi ad esempio con il comando:

[area; perim; diag] =rettang(2; 3)

Quindi la sintassi e’ la seguente:

function [lista d'uscita] = nome (lista d’ingresso)

L’uso delle funzioni ci permette di racchiudere un algoritmo complesso in un singolo script allo scopo di riutilizzare lo stesso magari in un’altra applicazione. Nella programmazione procedurale si fa largo uso delle funzioni, e spesso è possibile utilizzare delle funzioni già disponibili, magari recuperate su internet in modo da semplificarci il lavoro.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>