Instead of returning [A1, A2, A3, A4, A5, A6] seperatly redifine your function to return AA.
Where, AA = [A1 A2 A3 A4 A5 A6];
when assigning to a variable from a function which returns an array of values, variables are assigned to in order of the returned values.
function [x, y] = func %a function
z = func; %assign return value of func to z
In this case z contains only the value of x.
This is the reason for your error.
If you are not allowed to change your function, you can do the following,
[A1, A2, A3, A4, A5, A6] = MyFun(M(:,[1:4 8:9],:) );
M(:,[1:4 8:9],:) = [A1 A2 A3 A4 A5 A6];