Sono riuscito a trovare una soluzione Come un idiota non avevo pensato che il massimo numero di zeri a sinistra corrispondeva al numero più piccolo convertito il decimale. Quindi incollo la mia soluzione nel caso in cui serva a qualcuno.
Ci tengo a specificare che il mio input non era un singolo vettore binario ma una matrice di numeri binari così realizzata
A = [1 1 0 0 1 0 0 1; 1 0 1 0 1 1 0 0 ; 0 0 0 0 0 0 0 0 ; 1 0 0 0 0 1 0 1]
e così via per una dimensione totale di 774x8
quindi la soluzione è stata scritta per una matrice a voi
function matriceRuotata = shift2maxzerosleft(matriceBinaria)
%Prende in input un matrice Binaria
%Ruota la matrice binaria in modo da ottenere il massimo numero di zeri a
%sinistra.
%Restituisce la matrite ruotata
[xsize,ysize] = size(matriceBinaria);
for i=1:1:xsize
A1 = matriceBinaria(i,1:8);
Atemp = A1;
x = num2str(A1);
x(isspace(x)) = '';
y = bin2dec(x);
mintemp = y;
for j=1:1:8
A1 = A1([2:end 1]);
x2 = num2str(A1);
x2(isspace(x2)) = '';
y2 = bin2dec(x2);
if( y2 < mintemp )
mintemp = y2;
Atemp = A1;
end
end
if i == 1
matriceRuotata = Atemp;
else
matriceRuotata = [matriceRuotata;Atemp];
end
end