La funzione inline in matlab

La funzione inline in matlab

Questo articolo spiegherà l'utilizzo della funzione inline () per costruire oggetti della funzione in matlab. Esamineremo i diversi metodi che questa funzione fornisce e ti mostreremo come utilizzare ciascuno con immagini ed esempi pratici. Entreremo anche in dettaglio sugli argomenti di input e output e sul tipo di dati che ciascuno di questi argomenti accetta.

IMPORTANTE: MathWorks rimuoverà questa funzione dalla libreria MATLAB nelle versioni future. Pertanto, ti consigliamo di utilizzare funzioni anonime anziché quelle create con inline ().

Sintassi della funzione Matlab inline ()

f = inline (ex)
f = inline (ex, n)
f = inline (ex, arg1, arg2 ... argn)

Descrizione ed esempi della funzione Matlab inline ()

La funzione inline () di Matlab genera funzioni in linea dal codice. Inline restituisce una funzione in "func" che, quando chiamato, ha lo stesso comportamento e gli attributi di una funzione standard e restituisce il proprio output come risultato dell'espressione o della funzione specificata quando l'oggetto è stato creato. Una funzione creata con questo metodo può essere utilizzata ovunque nel codice senza richiedere ulteriori dichiarazioni. La funzione Inline () di Matlab fornisce due modi per creare queste funzioni. Uno è crearli da espressioni o formule matematiche definite dall'utente o create dall'utente. Un altro modo è usare espressioni che contengono funzioni dalla libreria MATLAB. Per creare una funzione usando questo metodo, dobbiamo dichiarare l'espressione esplicita sotto forma di stringhe di carattere negli argomenti di input di Inline (). Ora, vediamo come creiamo una funzione, "func", dall'espressione a + b:

Func = inline ('a + b')

In questo modo, abbiamo creato la funzione "func", che, quando chiamata, restituisce il risultato dell'aggiunta di A + B. Questo è il modo più semplice per creare una funzione inline () da un'espressione creata dall'utente.

Func = inline ('funzione (arg1, arg2)')

O da una funzione i cui argomenti di input sono esplicitamente dichiarati:

Func = inline ('function (arg1, arg2)', 'arg2', 'arg1')

Come puoi vedere nel caso precedente, sia l'espressione che gli argomenti di input in inline () sono dichiarati come vettori di carattere separati da virgola. La figura seguente mostra l'oggetto creato per l'espressione precedente:

Quando viene creata una funzione in linea utilizzando una funzione, gli argomenti di input vengono determinati riconoscendo un carattere alfanumerico minuscolo che non fa parte di una parola.

Gli argomenti di input per la funzione inline () sono i seguenti:

Exp: Questa è l'espressione di input. Il tipo di dati per "exp" è una stringa di caratteri.

arg1, arg2, arg ... n: Questi sono gli argomenti di input della funzione creata. Il tipo di dati per queste voci è stringhe di caratteri.

N: Questo scalare positivo indica il numero di argomenti di input.

Successivamente, guarda alcuni esempi pratici e immagini applicative della funzione Matlab inline ().

Esempio 1: per creare e utilizzare una funzione inline da un'espressione per calcolare il valore RMS di un'onda sinusoidale

In questo esempio, creeremo una semplice applicazione della console per calcolare il valore RMS di un'onda sinusoidale da una funzione creata con inline (). Per fare ciò, facciamo la funzione "RMS". Poiché l'onda è sinusoidale, calcoliamo il suo valore RMS usando la seguente formula:

RMS = VPK1.4142

Questa formula viene convertita in una funzione da inline (). Ogni volta che viene chiamato da qualsiasi parte dello script in "R", restituisce il valore RMS del valore immesso in "X".

Per creare la funzione RMS, chiamiamo inline (), inviandola come una stringa di caratteri argomenti di input contenente l'espressione esplicita della formula per trovare il valore RMS della tensione di picco a picco (VPP) "X". Una volta creata la funzione RMS per il nostro calcolo, utilizziamo la funzione prompt per immettere il VPP da cui vogliamo ottenere il valore RMS nella console di comando.

Rms = inline ('x./1.4142 ');
mentre 1
Clc ();
prompt = 'immettere vpp';
x = input (prompt);
r = rms (x);
disp (['rms is:', num2str (r)])
%Disp (R);
prompt = 'premere Invio per continuare o ctrl+c per uscire';
x = input (prompt);
FINE

Ora che abbiamo creato la nostra funzione RMS (x), possiamo usarla per calcolare i valori RMS delle onde sinusoidali in base alla loro tensione di picco. Una volta creata, questa funzione può essere chiamata da qualsiasi parte del codice.

Esempio 2: per creare e utilizzare una funzione online da una funzione

Ora, diamo un'occhiata a come puoi usare inline () per creare una funzione da una funzione nella libreria MATLAB. In questo esempio, creiamo un'applicazione console in cui creiamo la funzione "R" che restituisce il modulo di dividere il dividendo "A" con il divisore "B". Per fare ciò, utilizziamo la funzione mod () dalla libreria MATLAB:

r = inline ('mod (a, b)', 'a', 'b');
mentre 1
Clc ();
prompt = 'immettere dividendo';
a = input (prompt);
prompt = 'immettere divisore';
b = input (prompt);
d = a./B;
m = r (a, b);
Disp (['Il risultato è:', int2str (d), '. Il modulo è: ', num2str (m)])
prompt = 'premere Invio per continuare o ctrl+c per uscire';
x = input (prompt);
FINE

Alternativa più affidabile alla funzione Inline () di MATLAB

Come accennato, la funzione inline () è abolita in matlab. Quindi, ti consigliamo di creare le funzioni che useremo nel nostro codice come funzioni anonime con il carattere speciale "@". Successivamente, mostreremo brevemente come è possibile creare funzioni usando questo metodo.

Come creare una funzione in matlab usando un metodo alternativo per inline ()

Ora, guardiamo un esempio del modo più semplice per creare una funzione anonima usando il carattere speciale "@". Successivamente, esamineremo la sintassi per dichiarare una funzione usando questa modalità:

Nome =@ (argomenti di input) funzione

Il nome della funzione deve precedere il carattere "@". Quindi, gli argomenti di input devono essere dichiarati tra parentesi e separati da virgole se ce n'è più di una e quindi l'espressione. Successivamente, ripetiamo l'esempio 1 ma sostituiamo inline () con questo metodo per creare la funzione RMS:

Rms = @ (x) x./1.4142;
mentre 1
Clc ();
prompt = 'immettere vpp';
x = input (prompt);
r = rms (x);
disp (['rms is:', num2str (r)])
%Disp (R);
prompt = 'premere Invio per continuare o ctrl+c per uscire';
x = input (prompt);
FINE

Conclusione

Questo articolo ha spiegato come creare funzioni utilizzando la funzione Matlab inline (). La funzione inline () è uno dei numerosi strumenti che questo potente lingua di programmazione offre per la creazione di funzioni. Abbiamo incluso esempi pratici e immagini che mostrano come è possibile creare funzioni dalle formule matematiche inserite dal programmatore e dalle funzioni nella libreria MATLAB. Ti abbiamo anche mostrato alternative più affidabili per la creazione di funzioni, poiché Mathworks ha annunciato che la funzione inline () non verrà più utilizzata nelle versioni future. Speriamo che tu abbia trovato utile questo articolo di Matlab. Vedi altri articoli di suggerimento Linux per ulteriori suggerimenti e informazioni.