如何在matlab中创建一个空数组?

时间:2012-05-31 15:50:11

标签: matlab

我正在尝试初始化一个空数组,该数组本身包含5个空数组。但是matlab似乎只是创建了一个简单的空数组变量。以下是我尝试过的两种语法。如果有可能在matlab中有任何想法吗?

bins = [ []; []; []; []; []  ];

bins = repmat([], 5, 1)

3 个答案:

答案 0 :(得分:4)

deal对于这样的作业来说是一个很好的功能:

[bins{1:5}] = deal([]);

这会创建一个单元格数组bins,其中每个元素bins{i}都包含一个空数组。

答案 1 :(得分:3)

MATLAB只有矩阵,即(可能是多维的)数值类型(或字符或逻辑值)数组。要将一个变量中的其他结构分组,请尝试cell array,例如

bins = { []; []; []; []; []  };

然后,您必须使用大括号访问外部数组的元素,例如bins{2}代替bins(2)

答案 2 :(得分:0)

初始化这个的另一个技巧:

>> bins = {}      %# just to make sure `bins` wasn't used before
>> bins{5} = []
bins = 
    []    []    []    []    []