Zawartość
Zerowe wartości w macierzy MATLAB (oprogramowanie do obliczeń naukowych) mogą utrudniać analizę danych. Statystyki lub przetwarzanie sygnałów mogą generować nonsensowne wyniki, a grafika może być trudna do odczytania, gdy reprezentowane są wartości zerowe. Wyodrębnij je - usuń je z tablicy - pozwoli Ci pracować z przydatnymi danymi, aby osiągnąć wymierne rezultaty.
Instrukcje
Wyodrębnianie wartości null może pomóc w tworzeniu przydatnych wykresów danych (Thinkstock / Comstock / Getty Images)-
Skopiuj oryginalną tablicę do innej zmiennej. Jeśli musisz użyć tablicy tak jak przed usunięciem zer, możesz użyć tej nowej zmiennej.
Jeśli tablica nazywa się M, na przykład, przypisz jej nową zmienną o nazwie Mzeros. Aby to zrobić, wpisz „Mzeros = M” (bez cudzysłowów) w wierszu poleceń „MATLAB”.
-
Zapisz oryginalną tablicę do pliku tekstowego, jeśli potrzebujesz jej później, korzystając z funkcji „dlmwrite” w „MATLAB”. Jeśli pamięć zmiennych zostanie przypadkowo usunięta lub przepisana, możesz ponownie załadować oryginalne dane z pliku tekstowego.
Na przykład, jeśli oryginalna tablica jest przechowywana w zmiennej Mzeros, wpisz „dlmwrite („ Mzeros.dat ”, Mzeros)”, aby zapisać do Mzerosa w pliku tekstowym o nazwie Mzeros.dat.
Możesz pominąć ten krok, jeśli Twoje dane są już zapisane w pliku tekstowym.
-
Zdecyduj, czy chcesz zachować tablicę o tym samym rozmiarze i formacie. Zachowaj to, jeśli wiersze i kolumny mają określone znaczenie (na przykład każdy wiersz reprezentuje inny test eksperymentalny, a każda kolumna reprezentuje inną ilość miary). Aby zachować ten sam rozmiar i format, zamień każdą wartość zero na wartość NaN (reprezentującą „nie liczbę”).
Aby zastąpić zero wartości NaN w tablicy o nazwie M, wprowadź „M (M == 0) = NaN”. Pamiętaj, aby wprowadzić M == 0 z dwoma znakami równości. To polecenie powie „MATLAB”, aby znalazł wszystkie elementy M równe zero i zastąpił je NaN.
Wszystko w tablicy pozostanie w tej samej pozycji (ten sam wiersz i kolumna), ale wszystkie zera będą teraz NaN. Ponieważ większość funkcji „MATLAB” ignoruje wartości NaN, można umieścić dane na wykresach i przeanalizować je, nawet jeśli NaNs nie istnieją, osiągając znaczące wyniki.
-
Możesz całkowicie usunąć elementy zerowe (zamiast zastępować je wartościami NaN), jeśli tablica jest prostą listą wartości, bez znaczących wierszy i kolumn. Aby usunąć elementy puste w tablicy o nazwie M, wpisz „M (M == 0) = []” (bez cudzysłowów). Pamiętaj, aby wprowadzić M == 0 z dwoma znakami równości. To polecenie powie „MATLAB”, aby znalazł wszystkie elementy równe zero i zastąpił je []. [] Reprezentuje „pusty”. Zastąpienie wartości [] spowoduje usunięcie elementu.
Jeśli M jest tablicą dwuwymiarową, będzie teraz wektorem kolumny, zawierającym wszystkie niezerowe elementy oryginalnego M, w znaczeniu kolumny. Na przykład, jeśli M był tablicą dwóch wierszy i dwóch kolumn:
[1 6 0 3 2 0 7 4]
teraz będzie
[1 2 6 7 3 4]
Jeśli M jest wektorem (tylko wiersz lub kolumna), będzie teraz krótkim wektorem. Na przykład, jeśli M wynosi [1 2 0 3], będzie teraz [1 2 3].
Tablica zmieni rozmiar i format po usunięciu elementów zerowych. Ale jeśli nie ma wartości NaN, możesz analizować dane nawet z funkcjami „MATLAB”, które nie ignorują tych wartości.
Uwaga
- Upewnij się, że wartości zerowe nie mają znaczenia przed ich usunięciem. Jeśli mają na myśli cokolwiek w danych, ich usunięcie może spowodować błędne wyniki.
- Jeśli twoja tablica jest zbyt duża, skopiowanie jej do innej zmiennej może wymagać dużo pamięci, pozostawiając „MATLAB” powolne i niespokojne. Upewnij się, że jest zapisany w jednym pliku tekstowym i nie kopiuj go do innej zmiennej.
- Niewiele jest funkcji, które nie ignorują NaNs i mogą z nich powrócić z błędami lub bezsensownymi wynikami. Sprawdź dokumentację „MATLAB” dla każdej funkcji używanej w analizie danych.
Czego potrzebujesz
- Dane liczbowe
- Komputer
- MATLAB