I'm having trouble with adding zero row vectors to a cell array and can't figure out why: (Only the last two for loops are relevant for the problem)
function C = SplitS(n)%Split a symetric group n, into each of it's m-cycles.
Q=0;R=zeros(1,n);%Create a row vector storing each of the cumulative sum of the number of m (column) cycles
for i = 1:n r=factorial(n)/(i*factorial(n-i)); Q=Q+r; R(i)=Q-n+1; %1st term is always n and should be 1
endQ=Q-n+1;C=cell(1,Q);C{1}='id';for j=1:length(Q)-1for k = R(j)+1:R(j+1) C{k}=zeros(1,j+1);endendend
I'm pretty sure that there's not a problem with indexing, but with adding the zero vectors to the empty cell array. For example, if I input n=3:
>> SplitS(3)ans = 1×6 cell array Columns 1 through 5 {'id'} {0×0 double} {0×0 double} {0×0 double} {0×0 double} Column 6 {0×0 double}>> ans{2}ans = []
However, what I want to return in this case is a cell array with 1*2 vectors of zeros in columns 2 to 4 and 1*3 zero vectors in rows 5 and 6. Any help much appreciated.
Best Answer