Cell arrays are a little tricky in Matlab. Consider this example. C=num2cell(rand(2,3)) C = [0.4565] [0.8214] [0.6154] [0.0185] [0.4447] [0.7919] C{1,2} % this is the contents of this cell (could be a vector or a string) ans = 0.8214 C{1:2,2} % this is the contents of these cells - returns multiple answers! ans = 0.8214 ans = 0.4447 A = C(1:2,2) % this is a slice of the cell array ans = [0.8214] [0.4447] A{1} % A is itself a cell array ans = 0.8214 >> C(1:2,2)=0 % can't assign a scalar to a cell array C(1:2,2)=0 ??? Conversion to cell from double is not possible. >> C(1:2,2)={0;0} % can assign a cell array to a cell array C(1:2,2)={0;0} C = [0.4565] [0] [0.6154] [0.0185] [0] [0.7919] BTW, I use cell arrays for evidence for 2 reasons: 1. [] indicates missing values 2. it can easily represent vector-valued nodes The following example makes this clear C{1,1} = [] C{2,1} = rand(3,1) C = [] [0] [0.6154] [3x1 double] [0] [0.7919] Hope this helps, Kevin