Si, ok. Dipende dalla convenzione che vuoi usare sul segno. Cioe' se ad esempio vuoi mettere solo un bit di segno davanti fai una funzione:
function ret = binari(decimale)
if decimale >= 0
ret = strcat('0',dec2bin(decimale));
else
ret = strcat('1',dec2bin(-decimale));
end
e questo ti ritorna la stringa voluta col bit di segno davanti. Altrimentri se usi la rappresentazione in complemento a due c'è un modo molto compatto per farlo:
sia Nbit il numero di bit con cui descrivi il numero, allora
binario = dec2bin(mod(decimale,2^Nbit),Nbit)
questo funziona perché se il numero decimale è negativo la funzione mod() ti calcola il suo complemento a 2^Nbit, cioè 2^Nbit+decimale, che è proprio la convenzione usata nel complemento a due.