Funkcja isnumeryczna w MATLAB

Funkcja isnumeryczna w MATLAB
Po znajomości typu danych wyślemy argumenty wejściowe funkcji, która jest niezbędna w programowaniu. Może uniknąć błędów lub nieoczekiwanego zachowania z powodu niezgodności danych.

W tym artykule z podpowiedzi Linuksa dowiesz się, jak korzystać z funkcji MATLAB isnumeric (), aby ustalić, czy macierz jest numeryczna. Wyjaśniamy wszystko, co musisz wiedzieć o korzystaniu z tej funkcji: jej argumenty wejściowe i wyjściowe, rodzaj danych, które przyjmuje, itp.

Ponadto znajdziesz zdjęcia i praktyczne przykłady z fragmentami kodu i wywołani funkcji z różnymi typami danych i tablicami.

Składnia funkcji MATLAB isnumeric ()

r = isnumeric (x)

Opis funkcji MATLAB isnumeric ()

Funkcja isnumeric () zwraca logiczny wynik „r” równy 1, jeśli skalar „x” lub wszystkie elementy wektora lub macierzy jego argumentów wejściowych mają wartości liczbowe. Logiczny 0 spowoduje, jeśli skalar lub jakikolwiek element wektora lub macierzy nie ma danych niewistotnych.

„Jest… .”Funkcje to zestaw funkcji MATLAB do określania rodzaju danych tablicy.

Jak ustalić, czy skalar jest numeryczny z funkcją ISnumeric () Matlaba

W tym przykładzie zobaczymy, jak użyć funkcji isnumeric (), aby ustalić, czy skalar jest numeryczny. Aby to zrobić, używamy konsoli polecenia MATLAB i tworzymy skalar „x”, przypisując jej wartość, znak lub inny typ danych. Następnie nazywamy funkcję isnumeric () i wysyłamy „x” jako argument wejściowy. Wyjście „r” jest wartością logiczną 1, jeśli jest numeryczna i 0, jeśli nie jest. Poniższy obraz to fragment kodu, który pokazuje wyniki, gdy wysyłamy wartość liczbową i znak jako argumenty wejściowe:

x = 88;
r = isnumeric (x)
x = „a”;
r = isnumeric (x)

Jak ustalić, czy wartości w wektorze są numeryczne z funkcją ISnumeric () MATLAB

Teraz zobaczymy, jak ustalić, czy wartości w elementach wektora są numeryczne. Aby to zrobić, tworzymy wektor „x” w wierszu poleceń i wywołujemy funkcję isnumeric () w następujący sposób:

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

Jak pokazano na poniższym rysunku, isnumeric () zwraca pojedynczy wynik logiczny określony przez wszystkie elementy wektorowe:

Jak ustalić, czy wartości w tablicy są numeryczne z funkcją isnumeric () MATLAB

W tym przykładzie zobaczymy, jak ustalić, czy wartości w elementach tablicy są numeryczne. Aby to zrobić, tworzymy tablicę „x” w wierszu poleceń i wywołujemy funkcję isnumeric ().

x = [8, -9, 58, 62;
55, 84, Nan, 99;
44, „J”, 56, „O”;
74, 14, Inf, Nan];
r = isnumeric (x)

Jak pokazano na poniższym rysunku, isnumeric () zwraca pojedynczy wynik logiczny określony przez wszystkie elementy tablicy:

Funkcja isnumeryczna MATLAB w warunkach, jeśli

Jak wyjaśniono wcześniej w tym artykule, funkcje te są szeroko stosowane w wyrażeniach warunkowych, ponieważ pozwalają nam lub nie pozwalają nam wykonywać operacji zgodnie z typem danych określonej tablicy, co pozwala uniknąć błędów kompatybilności danych. Można to zobaczyć w kodzie wielu funkcji w bibliotece MATLAB, w której wykonane określone przetwarzanie zależy od rodzaju danych wysyłanych w argumentach wejściowych.

W tym przykładzie utworzymy funkcję, która wykonuje dwie podstawowe operacje, podział A przez B, który również zwraca wynik tej operacji z jednej strony, a resztę po podziale z drugiej, która jest funkcją z funkcją dwa wejścia i dwa wyjścia. Następnie zobaczymy kod tej funkcji.

funkcja [D, R] = expl_1 (a, b)
D = a ./ B;
r = mod (a, b);
koniec

Utwórz skrypt, wklej ten fragment i zapisz go jako „expl_1”. Następnie, z wiersza polecenia MATLAB, wprowadź różne typy danych w „A” i „B” i wywołać funkcję „Expl_1”.

Jak pokazano na poprzednim rysunku, funkcja podziału i funkcja mod () podają następujące komunikaty o błędach, gdy wprowadzamy dane nie-numeryczne, takie jak ciągi w a lub b.

„Operator”./„nie jest obsługiwany dla operandów typu„ string ”."

„Sprawdź niepoprawny typ danych argumentu lub brakujący argument w wywołaniu, aby funkcjonować„ mod ”."

Najlepszym rozwiązaniem, aby uniknąć tych błędów lub nieoczekiwane wyniki, jest użycie warunków warunkowych na początku funkcji, w której warunek typu danych określa, czy funkcja nadal wykonywa. W poniższym kodzie widzimy rozwiązanie tego problemu, wdrażając „jeśli” warunkowe z logiką i zwarciem, w której funkcja przebiega z wykonywaniem wyrażeń matematycznych tylko wtedy, gdy „a” i „b” zawierają wartości liczbowe.

funkcja [D, R] = expl_1 (a, b)
Jeśli isnumeric (a) && isnumeric (b)
% To działa tylko wtedy, gdy „A” i „B” są numeryczne.
D = a ./ B;
r = mod (a, b);
koniec
koniec

Teraz zastępujemy kod funkcji expl_1 na poniżej.

Możemy również odwrócić wynik isnumeric () i użyć logiki zwarcia „lub”, aby skonfigurować zwrot w funkcji przed wykonaniem operacji matematycznych, które wygenerowałyby błąd. Następnie spójrzmy na kod do generowania warunkowego zwrotu.

funkcja [D, R] = expl_1 (a, b)
Jeśli ~ isnumeric (a) || ~ isnumeric (b)
% Jeśli „A” lub „B” nie są numeryczne, funkcja zwraca.
powrót;
koniec
% Wykonano tylko wtedy, gdy „A” i „B” są numeryczne
D = a ./ B;
r = mod (a, b);
koniec

Z tymi dwoma sposobami używania isnumeric () w „jeśli”, osiągamy, że funkcja expl_1 wykonuje operacje matematyczne tylko wtedy, gdy dane wejściowe są kompatybilne.

Wniosek

Jak widzieliśmy, ta funkcja jest doskonałym dodatkiem do warunków, co pozwala nam wykonywać kod tylko wtedy, gdy typ danych jest kompatybilny. Jest to bardzo przydatne, gdy tworzymy nasze funkcje do wykonywania formuł matematycznych, ponieważ możemy filtrować dane wejściowe i przetwarzać je tylko wtedy, gdy dane są numeryczne. W tym artykule wyjaśniliśmy, jak używać isnumeric () w MATLAB. Podaliśmy pełny opis funkcji, jej składni, struktury, wejść, wyjść, typów danych i tablic, które akceptuje. Mamy nadzieję, że ten artykuł Matlab był pomocny. Więcej wskazówek i informacji można znaleźć w innych artykułach dotyczących Linuksa.