mam macierz:Jak skutecznie usuwać zera z macierzy (nie-rozrzedzonej)?
x = [0 0 0 1 1 0 5 0 7 0];
trzeba usunąć wszystkie zera, tak jak poniżej:
x = [1 1 5 7];
Matryce ja użyciem są duże (1x15000) i trzeba to zrobić wielokrotność razy (5000+), więc efektywność jest kluczowa!
To nie na liczbach ujemnych Spróbuj 'abs (x) <= tolerance' – KitsuneYMG
Tolerancja x <= wyklucza ujemne liczby zmiennoprzecinkowe. Prawdopodobnie będziesz musiał rozszerzyć porównanie na x> = tolerancja i x <= tolerancja. Operator logicznego i matlab ucieka mi w tej chwili. –
Poprawiłem odpowiedź, aby usunąć dowolną wartość wystarczająco zbliżoną do zera z ujemnego lub dodatniego kierunku. – gnovice