2014-05-08 222 views
0

我在MATLAB这样的2x2x1 3D矩阵(VAL):Matlab的3D矩阵扩展

val(:,:,1) = 

    195 1386 
    27 10 

val(:,:,2) = 

    196 138 
    217 102 

,我想补充

val(:,:,3) = 

    196 138 
    217 102 
    217 102. 

像往常一样,MATLAB提供了尺寸不匹配错误。在添加第3(3x2)矩阵之前,我应该怎样做我的val矩阵?

+0

原始2x2x2矩阵应该发生什么?如何填补缺失的行?由0s还是由NaNs? – yuk

+0

这种大小的矩阵根本不可能。每个切片必须具有相同的大小。也许一个2d矩阵的单元格是一个解决方案?你能指望什么? – Daniel

+0

Okey如果它不可能与调整大小矩阵,我尝试与单元格。 – ekrem777

回答

1

鉴于你原来的数组:

val(:,:,1) = [ 
    195 1386 
    27 10 ]; 
val(:,:,2) = [ 
    196 138 
    217 102 ]; 

您需要定义一个第三排。东西与NaN填充它,例如:

val(end+1,:,:) = NaN; 

这样,尺寸将匹配当你添加新的切片:

val(:,:,3) = [ 
    196 138 
    217 102 
    217 102 ]; 
0

您的阵列不能有空白点。

对于更改尺寸,您应该考虑使用结构或单元格。