La funzione isnumerica in matlab

La funzione isnumerica in matlab
Dopo aver conosciuto il tipo di dati, invieremo gli argomenti di input di una funzione, che è essenziale nella programmazione. Può evitare errori o comportamenti imprevisti a causa dell'incompatibilità dei dati.

In questo articolo di Linux, imparerai come utilizzare la funzione Matlab isNumeric () per determinare se una matrice è numerica. Spieghiamo tutto ciò che devi sapere sull'uso di questa funzione: i suoi argomenti di input e output, il tipo di dati che accetta, ecc.

Inoltre, troverai immagini ed esempi pratici con frammenti di codice e chiamate di funzione con diversi tipi di dati e array.

Sintassi della funzione Matlab isNumeric ()

r = isnumeric (x)

Descrizione della funzione Matlab isNumeric ()

La funzione isnumeric () restituisce un risultato logico in "r" uguale a 1 se la "x" scalare o tutti gli elementi del vettore o della matrice dei suoi argomenti di input hanno valori numerici. Un logico 0 risulterà se lo scalare o qualsiasi elemento di un vettore o una matrice non ha dati non numerici.

Il "è .. ."Le funzioni sono un insieme di funzioni MATLAB per determinare il tipo di dati di un array.

Come determinare se uno scalare è numerico con la funzione isnumerica () di Matlab

In questo esempio, vedremo come utilizzare la funzione isNumeric () per determinare se uno scalare è numerico. Per fare ciò, utilizziamo la console del comando MATLAB e creiamo la "x" scalare assegnandolo un valore, un carattere o un altro tipo di dati. Quindi, chiamiamo la funzione isNumeric () e inviamo "x" come argomento di input. L'output "R" è il valore logico 1 se è numerico e 0 se non lo è. La seguente immagine è uno snippet di codice che mostra i risultati quando inviamo un valore numerico e un carattere come argomenti di input:

x = 88;
r = isnumeric (x)
x = 'a';
r = isnumeric (x)

Come determinare se i valori in un vettore sono numerici con la funzione isnumerica () di matlab

Ora vedremo come determinare se i valori negli elementi di un vettore sono numerici. Per fare ciò, creiamo il vettore "x" sulla riga di comando e chiamiamo la funzione isnumeric () come segue:

x = [8, -9, 58, 62, 0, 77];
r = isnumeric (x)

Come mostrato nella figura seguente, isNumeric () restituisce un singolo risultato logico determinato da tutti gli elementi vettoriali:

Come determinare se i valori in un array sono numerici con la funzione isnumerico () di matlab

In questo esempio, vedremo come determinare se i valori negli elementi di un array sono numerici. Per fare ciò, creiamo l'array "x" sulla riga di comando e chiamiamo la funzione isnumeric ().

x = [8, -9, 58, 62;
55, 84, nan, 99;
44, 'J', 56, 'o';
74, 14, INF, NAN];
r = isnumeric (x)

Come mostrato nella figura seguente, isNumeric () restituisce un singolo risultato logico determinato da tutti gli elementi dell'array:

La funzione isnumerica di matlab nei condizionali se

Come spiegato in precedenza in questo articolo, queste funzioni sono ampiamente utilizzate nelle espressioni condizionali poiché ci consentono o meno di eseguire operazioni in base al tipo di dati di un certo array, che evita gli errori di compatibilità dei dati. Questo può essere visto nel codice per molte funzioni nella libreria MATLAB in cui l'elaborazione specifica eseguita dipende dal tipo di dati inviati negli argomenti di input.

In questo esempio, creeremo una funzione che svolge due operazioni di base, la divisione di A di B, che restituisce anche il risultato di questa operazione da un lato e il resto dopo la divisione dall'altro, che è una funzione con Due ingressi e due output. Successivamente, vedremo il codice di questa funzione.

Funzione [d, r] = Expg_1 (a, b)
d = a ./ B;
r = mod (a, b);
FINE

Crea uno script, incolla questo frammento e salvalo come "Expg_1". Quindi, dalla riga di comando MATLAB, inserisci diversi tipi di dati in "A" e "B" e chiama la funzione "Expg_1".

Come mostrato nella figura precedente, le operazioni di divisione e la funzione mod () forniscono i seguenti messaggi di errore quando inseriamo dati non numerici come stringhe in A o B.

"Operatore"./'non è supportato per gli operandi di tipo' stringa '."

"Controlla il tipo di dati sugli argomenti errato o l'argomento mancante nella MOD" MOD "Call to Funct '."

La soluzione migliore per evitare questi errori o risultati imprevisti è utilizzare i condizionali all'inizio della funzione in cui la condizione del tipo di dati determina se la funzione continua a eseguire o meno. Nel seguente codice, vediamo la soluzione a questo problema implementando la condizione "if" con una logica di corto circuito, in cui la funzione procede con l'esecuzione delle espressioni matematiche solo se "a" e "b" contengono valori numerici.

Funzione [d, r] = Expg_1 (a, b)
Se isNumeric (a) && isNumeric (B)
% Funziona solo se "a" e "b" sono numerici.
d = a ./ B;
r = mod (a, b);
FINE
FINE

Ora sostituiamo il codice della funzione Expg_1 con quello sotto.

Possiamo anche invertire il risultato di isNumeric () e utilizzare la logica di corto circuito "o" per impostare un reso nella funzione prima di eseguire le operazioni matematiche che genererebbe un errore. Successivamente, guardiamo il codice per generare il ritorno condizionale.

Funzione [d, r] = Expg_1 (a, b)
Se ~ isNumeric (a) || ~ isnumeric (b)
% Se "A" o "B" non sono numerici, la funzione restituisce.
ritorno;
FINE
% Eseguito solo se "a" e "b" sono numerici
d = a ./ B;
r = mod (a, b);
FINE

Con questi due modi di utilizzare isNumeric () nelle condizioni "if", raggiungiamo che la funzione Expg_1 esegue le operazioni matematiche solo se i dati di input sono compatibili.

Conclusione

Come abbiamo visto, questa funzione è un'eccellente aggiunta ai condizionali, che ci consente di eseguire il codice solo quando il tipo di dati è compatibile. Questo è molto utile quando creiamo le nostre funzioni per eseguire formule matematiche, poiché possiamo filtrare i dati di input e elaborarli solo se i dati sono numerici. In questo articolo, abbiamo spiegato come usare isNumeric () in matlab. Abbiamo fornito una descrizione completa della funzione, della sua sintassi, struttura, input, output, tipi di dati e array che accetta. Speriamo che tu abbia trovato utile questo articolo di Matlab. Vedi altri articoli di suggerimento Linux per ulteriori suggerimenti e informazioni.