Una soluzione più generale potrebbe consistere nell'incapsulare il ciclo for che hai definito all'interno di un ciclo for che iteri sulle righe della matrice B.
Dal momento che si conosce in anticipo la dimensione finale della matrice di output, conviene inizializzarla (associargli la corrispettiva quantità di memoria) prima di eseguire i cicli for.
In questo caso, i valori calcolati vengono opportunamente inseriti nella matrice di output ad ogni iterazione, calcolando l'offset delle colonne ad ogni iterazione.
E' anche utile inserire un controllo sul numero di colonne di A e B.
% Get the number of rows and columns of A and B
[row_a,col_a]=size(A)
[row_b,col_b]=size(B)
% Check for the consistency of the matrices A and B
if(col_a ~= col_b)
disp('Error: the number of columns of A and B must be the same')
return
end
% Initialize the output matrix
AA_=nan(row_a,col_a*row_b);
% Assign the values to the output matrix
for i=1:row_b
for j=1:col_b
AA_(:,(j+(i-1)*row_a))=A(:,j)-B(i,j);
end
end