ho un (7,6) array logico, come il seguente:Trovare un vettore all'interno di un vettore
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
voglio creare una (1,6) vettore logico 'contig' che mostra se la matrice precedente ha 3 contigue in ogni colonna. Ad esempio, il risultato di questo sarebbe:
contig =
[1, 1, 1, 0, 0 ,1];
Ho provato strfind ma ci sono due problemi con questo, il primo è che è un array di colonne (trasposizione sia didn non è affatto d'aiuto o richiederebbe un sacco di codice aggiuntivo da utilizzare temporaneamente.Il secondo problema è che poiché è un array logico, se lo cambio in una stringa, i valori diventano tutti veri o falsi e cercano di ottenerlo Anche lavorare è stato infruttuoso: esiste un metodo per cercare un vettore di colonne per scoprire se esiste un altro vettore di colonna specifico all'interno di esso? Voglio cercare ogni colonna per [1; 1; 1];
Grazie
+1 ma dovrebbe sostituire 'imfilter' con' conv2' in quanto potrebbe non avere accesso alla casella degli strumenti di elaborazione delle immagini – Dan
approccio molto carino con 'imfilter'. Se 'validY2_A' è una matrice logica, per funzionare ha bisogno di essere convertita in doppia prima, altrimenti' t' è anche una matrice logica. Durante il test ho dovuto cambiarlo con questo: 't = imfilter (double (validY2_A), ones (3,1));' –
Grazie mille, anche se puoi spiegare esattamente cosa fa conv2 o imfilter? Sto osservando la matrice t e non capisco cosa sta succedendo e come vengono effettuati i calcoli risultanti. – TheMcCleaver