Introduzione alle funzioni MATLAB
Le funzioni MATLAB sono scritte con varie righe di codice che mettono in relazione una variabile con un'altra variabile e ogni output è correlato esattamente a un input particolare che costituisce una parte importante di qualsiasi linguaggio di programmazione. In ambiente MATLAB, sono memorizzati in un determinato file come file di script, ecc. Possono accettare più di un argomento di input e possono anche restituire più di un argomento di output. Operano sulle variabili definite nel loro spazio di lavoro predefinito, noto come spazio di lavoro locale.
Tipi di funzioni in MATLAB
In Matlab, le funzioni possono essere create o definite utilizzando la sintassi seguente:
function (o1, o2, …, oN) = myfun(i1, i2, i3, …, iN)
Qui il mio divertimento è il nome della funzione che accetta gli argomenti di input i1, i2..iN e restituisce l'output o1, o2… on. L'istruzione precedente dovrebbe essere di prima linea mentre si dichiara la funzione. Esistono alcune regole che devono essere seguite per i nomi di funzioni validi e per il salvataggio della funzione:
- Il nome della funzione che inizia con alfabeti e può contenere numero, caratteri o caratteri di sottolineatura è considerato valido.
- È possibile salvare la funzione in un file di funzione che contiene le definizioni di funzione e il nome del file deve corrispondere al primo nome di funzione nel file.
- Possiamo anche salvare la funzione che contiene definizioni e comandi di funzioni. Le funzioni dovrebbero essere presenti alla fine del file e il nome del file di script non può avere lo stesso nome della funzione nel file.
La parola chiave end dovrebbe essere usata per indicare la fine della funzione. È necessario quando una funzione nel file contiene una funzione nidificata o una funzione utilizzata è una funzione locale all'interno dello script e del file di funzione. Le funzioni funzionano negli script in R2016b o versioni successive. Esistono diversi tipi di funzioni utilizzate in MATLAB. Sono i seguenti:
1. Funzione anonima
È la funzione che non è memorizzata in un file di programma ma è associata alla variabile il cui tipo di dati è function_handle. È definito in una singola istruzione e ha un numero qualsiasi di argomenti di input o output. La sintassi può essere scritta come:
Espressione (argomento)
Esempio:
(x, y) x*y;
res1=mul(2, 3)
res2=mul(4, 3)
res3=mul(4, 5)
Quando eseguiamo l'output otteniamo il seguente risultato:
RES1 = 6
res2 = 12
res3 = 20
Siamo in grado di scrivere funzioni anonime senza input o input e output multipli. Se la funzione non ha input, possiamo usare parentesi vuote per chiamare la funzione anonima. Alcuni esempi sono
1. curr= @() datestr(now);
d = curr()
Output: d= 22-Oct-2019 11:02:47curr= @() datestr(now);
d = curr()
Output: d= 22-Oct-2019 11:02:47
2. (x, y)(x+y);
x=4
y=7
z=myfun(x, y)
Output: z=11 (x, y)(x+y);
x=4
y=7
z=myfun(x, y)
Output: z=11
2. Funzioni locali
Qualsiasi file di funzione contiene una funzione primaria che appare nella prima riga del codice. Sono visibili alle funzioni in altri file e possono essere richiamati dalla riga di comando. Altre funzioni presenti nel file sono chiamate funzioni locali. Non possono essere richiamati dalla riga di comando e vengono visualizzati in una funzione principale o principale e funzioni scritte nello stesso file. Sono anche conosciute come sotto-funzioni. Sono equivalenti alle subroutine utilizzate in un altro linguaggio di programmazione. Possono anche essere scritti in file di script purché compaiano dopo l'ultima riga del codice di script.
function (avg, med) = mystats(y)
a= length(y);
avg = mymean(y, a);
med = mymedian(y, a);
end
function a = mymean(v, n) ---- Example of a local function
a = sum(v)/n;
end
3. Funzioni nidificate
Le funzioni definite all'interno di un'altra funzione o funzione genitore sono chiamate funzioni nidificate. Possono utilizzare o modificare le variabili definite nella funzione padre. Sono definiti nell'ambito della funzione e possono accedere all'area di lavoro in cui sono definiti. Esistono alcuni requisiti che ogni funzione nidificata dovrebbe seguire:
- Tutte le funzioni non richiedono l'istruzione end. Tuttavia, per annidare qualsiasi istruzione di fine funzione dovrebbe essere scritta per ogni funzione.
- Non è possibile definire funzioni nidificate all'interno di alcuna istruzione di controllo come if-else, switch case, ecc.
- Le funzioni nidificate possono essere chiamate direttamente per nome o utilizzando qualsiasi handle di funzione.
function current
nestfun1
nestfun2
function nestfun1
x = 7;
end
function nestfun2
x = 4;
end
4. Funzioni private
Sono le funzioni che sono visibili solo a un gruppo limitato di funzioni. Risiedono in sotto-funzioni e sono indicate con la parola chiave "privato". Sono visibili solo alle funzioni presenti nella cartella principale o alle funzioni nella cartella immediatamente sopra la sottocartella privata. Sono utili quando vogliamo limitare l'ambito della funzione. Non è possibile chiamare le funzioni private dalla riga di comando o dalle funzioni esterne alla cartella principale.
Codice :
function priv
disp(“Hello “)
Cambia la cartella che contiene una cartella privata e cambia il nome del file da presentare
funzione presente
priv
Cambia la cartella in qualsiasi posizione e chiama la funzione attuale
presente
Uscita: "Ciao"
Conclusione - Funzioni MATLAB
Le funzioni MATLAB possono essere utilizzate per diverse attività e scenari. Costituiscono parte integrante di qualsiasi linguaggio di programmazione. È possibile accedervi a livello globale utilizzando variabili globali o utilizzando funzioni private se si desidera che alcune informazioni o contenuti siano privati. Sono utilizzati in ogni organizzazione per le esigenze aziendali per soddisfare le esigenze.
Articoli consigliati
Questa è una guida alle funzioni MATLAB. Qui discutiamo dell'introduzione delle funzioni MATLAB e dei tipi di funzioni. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -
- Funzioni di Bessel in MATLAB
- Funzioni anonime in Matlab
- Funzioni matematiche in C #
- Funzioni di trasferimento in Matlab
- Compilatore Matlab | Applicazioni del compilatore Matlab
- Esempi di Matlab AND Operator
- Guida completa allo switch case in PowerShell