MATLAB: How to divide array, that result would be like dividing columns

arraydivision

Hello, Can somebody give a little explanation about matrix division? For example there are two arrays a (100×5) and b (100×5). If I try to left divide two columns;
c=a(:,1)\b(:,1);
Result is c(1×1), However if I try to divide both arrays:
C=a\b;
Result is c(5×5), why it is not c(1×5)? As I understand it is different when dividing columns vs dividing matrix.

Best Answer

All combination of columns are used.
a(:,1)\b(:,1) a(:,1)\b(:,2) a(:,1)\b(:,3) ...
a(:,2)\b(:,1) a(:,2)\b(:,2) a(:,2)\b(:,3) ...
You could do
arrayfun(@(COL) A(:,COL)\B(:,COL), 1:size(A,2))
Related Question