Funzione di ritorno in matlab

Funzione di ritorno in matlab
Quando chiamiamo funzioni per elaborare i dati in MATLAB, le dinamiche di tale processo dipendono spesso da diversi fattori, come il tipo di dati inviati e i risultati dei thread all'interno della stessa funzione. Questi fattori condizionali possono causare il ritorno della funzione al suo punto di chiamata prima che venga eseguita completamente. Per evitare l'esecuzione del codice necessario, i processi di dati incompatibili con la funzione o semplicemente perché è stato ottenuto il risultato finale, MATLAB offre la funzione return () a tale scopo.

Il seguente articolo spiega in dettaglio l'uso della funzione di ritorno in MATLAB.

Questa funzione fa parte della maggior parte dei linguaggi di programmazione di tutti i tempi e la sua sintassi e operazione sono le stesse per tutti loro. Di seguito, ti mostreremo come utilizzare questa funzione in Matlab con esempi pratici e immagini.

Sintassi della funzione di ritorno in MATLAB

ritorno;

Descrizione della funzione di restituzione di Matlab

Il reso termina la funzione attualmente eseguita e restituisce il flusso del programma al codice da cui è stata chiamata la funzione. Quando viene chiamata una funzione in matlab, il flusso del programma ci salta, lo esegue completamente e ritorna per continuare sulla riga successiva della chiamata. Tuttavia, a volte è necessario terminare la funzione da qualche parte invece di eseguirla accuratamente. Per questo motivo, Matlab, come la maggior parte dei linguaggi di programmazione, fornisce la funzione di ritorno a questo scopo. Questi rendimenti apportano benefici significativi al programma, come la velocità, evitando l'esecuzione di frammenti di codice non necessari. Forniscono inoltre stabilità nell'esecuzione del programma poiché una funzione può essere terminata in base alle condizioni stabilite dal programmatore dell'utente per chiamare il reso. Ad esempio, se il tipo di dati di input è incompatibile con la funzione, nessuno eseguirà e tornerà alla riga successiva del programma che lo chiamava.

Questi rendimenti sono generalmente inseriti all'interno della funzione in condizionali "if", "switch" o altri tipi di condizioni di salto in cui una variabile, risultato, tipo di dati, ecc., determina se l'esecuzione della funzione dovrebbe continuare o se dovrebbe terminare e tornare alla funzione da cui è stata chiamata. Successivamente, vedremo alcuni esempi pratici di creazione di funzioni con ritorni per aiutarti a comprendere meglio l'uso di questa risorsa.

Come abortire l'esecuzione di una funzione con "restituzione" in matlab se i parametri di input sono fuori portata

In questo esempio, creeremo una semplice applicazione console per mostrarti come restituire; Funziona in matlab. Questa applicazione è composta da due parti; La prima è l'applicazione in cui inseriamo i valori tramite la console, consulta i risultati e chiamiamo la funzione "return_example ()". Ecco il codice per questa sezione:

mentre 1
prompt = 'immettere valore e premere Invio. Ctrl+c to ust ';
x = input (prompt); % Valore di input
Clc (); % Console chiara
return_example (x); % Funzione return_example () chiamata
FINE

La seconda parte di questo codice è la funzione "return_example ()". Questa funzione è costituita da una "if" condizionale con logica di corto circuito che analizza i parametri di "X". Se sono fuori portata da 0 a 100, visualizza il seguente messaggio sullo schermo: "X" fuori porta, restituisce "e ritorna alla riga successiva della chiamata alla funzione" return_example ", interrompendo la piena esecuzione di la funzione.

Crea uno script, incolla il codice completo e premi "Esegui". Immettere vari valori utilizzando la console di comando e premere Invio. È inoltre possibile impostare i punti di interruzione sulle righe 13 e 17 per interrompere l'esecuzione a questo punto e controllare il flusso del programma.

Risultato della funzione = return_example (x)
if (x 100) % x è fuori portata da 0 a 100
Disp '"x" fuori portata, ritorna alla riga successiva "return_example" chiamata "
ritorno; % Return termina return_example ()
fine % e ritorna alla riga successiva della chiamata
% Se il valore di "x" rientra nell'intervallo specificato, la funzione
% return_example () continua qui.
Disp '"x" in gamma, funzione eseguita completamente'
FINE

Se i parametri di "x" sono all'interno dell'intervallo specificato nel condizionale "if", la funzione return_example () verrà eseguita completamente. Altrimenti, la sua esecuzione verrà interrotta e tornerà al codice da cui è stato chiamato.

La seguente immagine mostra cosa succede quando si inserisce un valore all'interno dell'intervallo specificato. In questo caso, la funzione return_example viene eseguita completamente. Come puoi vedere, il flusso del programma viene interrotto al punto di interruzione della riga 17.

La seguente immagine mostra cosa succede se si inserisce un valore al di fuori dell'intervallo specificato. In questo caso, la funzione return_example viene interrotta da "return" e il flusso del programma ritorna alla riga successiva della chiamata return_example (). Come puoi vedere, il flusso del programma viene interrotto al punto di interruzione nella riga 13.

Come abortire l'esecuzione di una funzione con "restituzione" in matlab se i tipi di dati di input non sono compatibili

Nell'esempio precedente, ti abbiamo mostrato come interrompere l'esecuzione di una funzione e restituire il flusso del programma al codice che lo chiamava. Ciò si ottiene posizionando come condizione per esso un intervallo di valori predeterminato nella "se" condizionale che abbiamo inserito all'interno del codice della funzione return_example ().

Nell'esempio seguente, creeremo anche un'applicazione della console e utilizzeremo la funzione di ritorno per interrompere la funzione return_example2 se il tipo di dati di input inviato nella chiamata è incompatibile con quelli accettati dalla funzione.

Come nell'esempio precedente, creeremo un'applicazione console composta da due blocchi. Il primo blocco è per l'immissione dei dati, visualizzare i risultati e chiamare la funzione return_example2 (); Il secondo blocco è per questa funzione. Ora, guardiamo il codice completo per il seguente esempio:

mentre 1
prompt = 'immettere valore e premere Invio. Ctrl+c to ust ';
x = input (prompt, “s”); % Valore di input
Clc (); % Console chiara
return_example2 (x); % Funzione return_example () chiamata
FINE
funzione return_example2 (x)
Se isnan (str2double (x)) % se x non è numerico
Disp 'Il tipo di dati non è supportato, ritorna alla chiamata di riga successiva'
ritorno; % Return termina return_example2 ()
fine % e ritorna alla riga successiva della chiamata
% Se il valore di "x" è all'interno dei tipi di dati specificati, la funzione
% return_example () continua qui.
Disp 'Il valore immesso è numerico, funzione eseguita completamente'
FINE

A differenza dell'esempio precedente, il tipo di dati di input inserito dalla console di comando è una stringa, che viene convertita in un valore numerico utilizzando str2Double () all'interno della funzione return_example2 (). Se il risultato è un valore non numerico, la funzione viene terminata con "return". Se, d'altra parte, il valore immesso è numerico, la funzione return_example2 () continua con la sua esecuzione.

La seguente immagine mostra il risultato nella finestra della console di comando quando viene inserito un valore numerico:

La seguente immagine mostra il risultato nella finestra della console di comando quando viene immesso un valore non numerico o incompatibile con la funzione return_example ():

Conclusione

In questo articolo, abbiamo spiegato come questa funzione semplice ma molto utile funzioni in Matlab. Per una migliore comprensione, abbiamo incluso due esempi pratici in cui creiamo semplici applicazioni di console che utilizzano "restituzione" per determinare l'aborte o la piena esecuzione di una funzione basata su diverse condizioni. Abbiamo anche incluso immagini che mostrano come questi esempi funzionano nell'ambiente Matlab. Speriamo che tu abbia trovato utile questo articolo di Matlab. Controlla altri articoli di suggerimento Linux per ulteriori suggerimenti e informazioni.