You can use ACCUMARRAY for this:
Anew = [unique(A(:,1)),...
cell2mat(accumarray(A(:,1),1:size(A,1),[],@(x){mean(A(x,2:3),2)}))]
A(:,1) (x) 2 3 (mean(A(x,2:3),1)). cell2mat . ,
Anew = [unique(A(:,1)), ...
accumarray(A(:,1),A(:,2),[],@mean), ...
accumarray(A(:,1),A(:,3),[],@mean)]
.
, . . , Anew , . fillval accumarray NaN.
Anew = [(1:max(A(:,1)))', ...
accumarray(A(:,1),A(:,2),[],@mean,NaN), ...
accumarray(A(:,1),A(:,3),[],@mean,NaN)]