Wpadłem na pomysł, aby wymienić wszystkie NaNy w mojej macierzy, przechodząc przez każdy z nich i używając isnana. Podejrzewam jednak, że spowoduje to, że mój kod będzie działał wolniej niż powinien. Czy ktoś może zaproponować lepszą propozycję?Zastępowanie wszystkich NaN zerami bez przechodzenia przez całą macierz?
8
A
Odpowiedz
23
Załóżmy, że macierz jest:
A =
NaN 1 6
3 5 NaN
4 NaN 2
można znaleźć NaN
elementów i zastąpić je zera stosując isnan
takiego:
A(isnan(A)) = 0;
Wtedy twoje wyjście będzie:
A =
0 1 6
3 5 0
4 0 2
5
Jeśli x
to matryca następnie użyć funkcji isnan
do indeksowania tablicy:
x(isnan(x)) = 0
Jeśli zrobisz to w dwóch etapach, to chyba wyraźniej zobaczyć, co się dzieje. Najpierw utwórz tablicę wartości true/false, a następnie użyj tej opcji, aby ustawić wybrane elementy na zero.
bad = isnan(x);
x(bad) = 0;
Jest to dość podstawowe rzeczy. Dobrze by było przeczytać niektóre samouczki online na temat MATLAB, aby uzyskać szybki postęp.
4
Funkcja isnan
jest vectoriz ed, czyli:
>> A = [[1;2;NaN; 4; NaN; 8], [9;NaN;12; 14; -inf; 28 ]]
A =
1 9
2 NaN
NaN 12
4 14
NaN -Inf
8 28
>> A(isnan(A)) = 0
A =
1 9
2 0
0 12
4 14
0 -Inf
8 28
Powiązane problemy
- 1. Tekst staje się niezdefiniowany podczas przechodzenia przez macierz.
- 2. Jak znaleźć środkowy element na liście linków bez przechodzenia przez całą listę?
- 3. Uzyskiwanie wielu pól struktury w Matlab bez przechodzenia przez nie
- 4. DataFame Pandy: Zastępowanie NaN średnicą rzędu
- 5. Korzystanie z funkcji Logback bezpośrednio bez przechodzenia przez SLF4J
- 6. Zastępowanie UserControl przez właściwość
- 7. Powtarzanie przez macierz C
- 8. Python 3: Pomnożenie wektora przez macierz bez NumPy
- 9. sortowania całą macierz według jednego z kolumny w Matlab
- 10. Python - pobierz całą permutację listy bez powtórzeń
- 11. Tworzenie Merge Commit zastępowanie Ours przez nich
- 12. Zastępowanie wszystkich adresów URL w div
- 13. Jaka jest różnica między nan, NaN i NAN
- 14. dlaczego nan można zapobiegać przez powielone obliczenia?
- 15. Utrzymuj ekran przez całą moją aktywność
- 16. Alter tabeli bez blokowania całą tabelę
- 17. Macierz map ES6 na ciąg bez przecinka
- 18. Oblicz macierz podstawową bez korespondencji punktowej?
- 19. Jakie narzędzia służą do debugowania/przechodzenia przez wyrażenie regularne?
- 20. Initilize ArrayList zerami
- 21. Zastępowanie aktywności wykonywanej przez wbudowane typy UIActivity
- 22. Zastępowanie funkcji bez usuwania właściwości statycznych
- 23. numpy corrcoef - macierz korelacji obliczeniowej podczas ignorowania brakujących danych
- 24. data filtra zwraca NaN-NaN-NaN w AngularJS
- 25. Jak sprawić, by pudełko wypełniło całą stronę we wszystkich przeglądarkach?
- 26. Jak obsłużyć strukturę zagnieżdżoną podczas przechodzenia przez monadę stanu
- 27. Szybszy sposób przechodzenia przez każdy piksel obrazu w języku Python?
- 28. połączeń Python obiektu jako funkcji bez przechodzenia wywołującego obiektu
- 29. Jak załadować ciąg do obiektu FileStream bez przechodzenia na dysk?
- 30. parametry typu generyczne coraz ograniczony, bez przechodzenia prawdziwy typ
Wow, różnica między twoją odpowiedzią a akceptacją była 3 sekunda ... różnica głosów! – rayryeng