mam (7,6) logiczny układ, taki jak:Znalezienie wektora w obrębie wektora
validY2_A =
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 1 0 0
1 0 0 1 1 0
1 1 1 0 0 1
1 1 1 0 1 1
0 1 1 1 1 1
że chce utworzyć grupę (1,6) logiczny wektor 'contig', który pokazuje, czy powyższa macierz ma 3 sąsiadujące w każdej kolumnie. Na przykład, wynik ten byłby:
wynajęcia =
[1, 1, 1, 0, 0 ,1];
Próbowałem strfind ale istnieją dwa problemy z tym, pierwszym jest to, iż jest tablicą kolumn (transpozycji albo didn W ogóle nie pomoże lub wymagałoby użycia dodatkowego kodu do tymczasowego użycia. Drugą kwestią jest to, że ponieważ jest to tablica logiczna, jeśli zmienię ją na ciąg znaków, wszystkie wartości stają się prawdziwe lub fałszywe i próbują je uzyskać do pracy jest również bezowocne.Czy istnieje metoda wyszukiwania wektora kolumna, aby znaleźć inny, specyficzny wektor kolumna istnieje w dowolnym miejscu w nim? Chcę przeszukać każdą kolumnę dla [1; 1; 1];
Dzięki
+1, ale powinien zastąpić 'imfilter' z' conv2', ponieważ może nie mieć dostępu do narzędzia do przetwarzania obrazu – Dan
bardzo ładne podejście z 'imfilter'. Jeśli 'validY2_A' jest macierzą logiczną, to aby działać, musi zostać przekonwertowane na double first, w przeciwnym razie' t' jest również macierzą logiczną. Podczas testowania musiałem zmienić to na: 't = imfilter (double (validY2_A), ones (3,1));' –
Dziękuję bardzo, ale czy możesz wyjaśnić, co dokładnie robi conv2 lub imfilter? Patrzę na matrycę t i nie rozumiem, co się dzieje i jak powstają obliczenia wynikowe. – TheMcCleaver