如何在matlab中创建空数组?

如何在matlab中创建空数组?,matlab,Matlab,我试图初始化一个空数组,它本身包含5个空数组。但matlab似乎只是创建了一个简单的空数组变量。以下是我尝试过的两种语法。如果可以在matlab中使用,有什么想法吗 bins = [ []; []; []; []; [] ]; bins = repmat([], 5, 1) MATLAB只有矩阵,即(可能是多维的)数字类型(或字符或逻辑值)数组。若要将其他结构分组到一个变量中,请尝试a,例如 然后,您必须使用花括号访问外部数组的元素,例如bins{2},而不是bins(2)deal对于这样

我试图初始化一个空数组,它本身包含5个空数组。但matlab似乎只是创建了一个简单的空数组变量。以下是我尝试过的两种语法。如果可以在matlab中使用,有什么想法吗

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

bins = repmat([], 5, 1)

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


然后,您必须使用花括号访问外部数组的元素,例如
bins{2}
,而不是
bins(2)

deal
对于这样的赋值是一个很好的函数:

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

这将创建一个单元格数组
bin
,其中每个元素
bin{i}
包含一个空数组

初始化此项的另一个技巧:

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

完全预分配一个2D阵列如何?在这种情况下,
交易
中的
[]
本身需要是m个空格。如果数组中的值本身可能为0(否则您无法区分数据中的零或阻止您分配到该位置的错误),则使用空成员初始化它而不是使用
会更好。
>> bins = {}      %# just to make sure `bins` wasn't used before
>> bins{5} = []
bins = 
    []    []    []    []    []