I dont' really get what you are trying there, but I'll try to give you an idea, what you could experiment with...
First thing, the last line of your code will not work at all: D{loop}(12,1)=getData will, depending on the values and size of getData.
1. Matlab is capable of setting up multidimensional matrices, like A(ind1,ind2,ind3). For more information, have a alook at the help, keyword: Multidimensial Arrays. This way you can avvoid using cell arrays.
2. This here is quite strange to me:
DD{loop}=[12,1];
DD{loop}[12,1]=getDATA;
Line 1 sets component loop of DD to a vector with two values 12 and 1.In the next step,you are overwriting this component of DD with a vector that should have 12 components and they should be equal to getDATA. If getDATA is just one number, all 12 values will be set to this.
In order to run the script properly, I still need to know what B is.