Czy istnieje polecenie w MATLAB, które pozwala znaleźć wszystkie elementy NaN (Nie-a-Number) w tablicy?Znajdź wszystkie elementy NaN wewnątrz tablicy
Odpowiedz
Właśnie znalazłem odpowiedź:
k=find(isnan(yourarray))
K będzie lista Nan elementów indeksów.
Podczas gdy isnan jest właściwym rozwiązaniem, po prostu wskażę sposób jego znalezienia. Użyj lookfor. Jeśli nie znasz nazwy funkcji w MATLAB, spróbuj lookfor.
lookfor nan
szybko daje nazwy niektórych funkcji, które pracują z Nans, jak również daje pierwszą linię ich pomocą bloków. Tutaj wymieniłby (między innymi)
ISNAN Prawdą jest, że nie jest liczbą.
który jest wyraźnie funkcją, której chcesz użyć.
+1 za nauczenie człowieka łowienia ryb! – Marc
Jak wspomniano, najlepszą odpowiedzią jest isnan() (chociaż +1 dla meta-odpowiedzi zrębków). Pełniejszy przykład jak używać go z logicznego indeksowania:
>> a = [1 nan;nan 2]
a =
1 NaN
NaN 2
>> %replace nan's with 0's
>> a(isnan(a))=0
a =
1 0
0 2
isnan (a) zwraca logiczną tablicę, tablicę prawdziwej & fałszywego tej samej wielkości co z „prawdziwej” wszędzie tam jest nan, który może być używany do index into a.
Przyjąłem twoją odpowiedź, ponieważ pokazałeś mi, jak zastąpić NaN wartością 0, co jest nieocenione dla mojego celu. – Graviton
- 1. Znajdź duplikat macierzy wewnątrz tablicy
- 2. znajdź wszystkie minimalne elementy dwuwymiarowej tablicy w Matlab
- 3. Usuń wszystkie elementy wewnątrz linelayout
- 4. Pomnożyć wszystkie elementy w tablicy
- 5. Swift dodać wszystkie elementy z tablicy razem
- 6. Prototyp: znajdź wszystkie elementy z określoną klasą?
- 7. Znajdź tablicę (byte []) wewnątrz innej tablicy?
- 8. Jak odbarwiać wszystkie elementy tablicy naraz?
- 9. Instrukcje SSE, aby dodać wszystkie elementy tablicy
- 10. Zmień wszystkie elementy tablicy zawierające określony ciąg
- 11. Linq Zaznacz wszystkie elementy pasujące do tablicy
- 12. Wyświetl wszystkie elementy w tablicy json
- 13. Znajdź wszystkie elementy, które używają wspólnego Sublayout w sitecore 6.2.0
- 14. Znajdź wszystkie elementy, które nie zawierają określonego ciągu znaków
- 15. Znajdź wszystkie elementy o określonej wartości atrybutu w jquery
- 16. Boyer-Moore-Horspool Algorytm Wszystkie mecze (Znajdź tablicę bajtów wewnątrz tablicy bajtów)
- 17. R - znajdź elementy w tablicy znaków zawierającej ciąg znaków
- 18. Znajdź zduplikowane elementy z dplyr
- 19. znajdź elementy z pozycją: atrybut
- 20. Znajdź wszystkie punkty o współrzędnych całkowitych wewnątrz czworościanu
- 21. Android: jak zrobić wszystkie elementy wewnątrz LinearLayout tego samego rozmiaru?
- 22. Jquery Usuń wszystkie elementy obsługi zdarzeń wewnątrz elementu
- 23. jQuery wybierz wszystkie elementy wewnątrz poszczególnych elementów nadrzędnych
- 24. XPath - Znajdź elementy według nazw atrybutów
- 25. Znajdź wszystkie elementy, których właściwość kolekcji zawiera elementy z innej listy.
- 26. Jak wyświetlić wszystkie elementy dwuwymiarowej tablicy w Visual Studio 2010?
- 27. Usuń wszystkie elementy z tablicy pasujące do określonego ciągu
- 28. Jak mogę usunąć wszystkie elementy zerowe w tablicy Swift?
- 29. Jak przekonwertować wszystkie elementy tablicy na liczbę całkowitą w JavaScript?
- 30. Jak dodać wszystkie elementy tablicy String do wektora w Javie?
W Matlab często nie potrzebujesz wywoływać find() w tablicy logicznej, ponieważ tablice logiczne mogą być używane bezpośrednio zamiast indeksów dla większości dalszych operacji, patrz na przykład http: //blogs.mathworks .com/loren/2006/08/09/istota-indeksowania/ – Mikhail
Są chwile, kiedy potrzebujesz tylko tablicy logicznej, i są chwile, kiedy potrzebujesz indeksów. Zgadzam się nie wykonywać niepotrzebnych operacji, jednak PO nie wyjaśnił, czego chciał. Ta odpowiedź jest poprawna. – MatlabDoug