matlab使用eval函数批量处理大量命名相似矩阵

matlab批量处理大量矩阵:
大家好,我现在有大概上千个矩阵,按同一个步骤进行处理,要怎么实现呢。例如:
A=[45 2 3;45 3 3;45 4 8;47 2 1;47 3 6;47 4 9;51 2 8;51 3 6;51 4 7];
index=unique(A(:,1));
for i=1:length(index)
mid = find(A(:,1)==index(i));
B = A(mid,:);
eval(['m',num2str(index(i)),'=','B']);
end
上面得到矩阵三个矩阵,将其中一个矩阵进行以下处理
a = [0;diff(m45(:,2))];
b = (m45(:,3)./20).^3;
c =a.*b.*3;
m45 = [m45 c];
怎么样可以让三个矩阵进行同样的操作呢,再把新得到的三个矩阵合并为为一个新的矩阵呢。
谢谢各位了