通常我根据数据类型使用cell()
、zeros()
或ones()
进行预分配,但是预分配表的最佳方法是什么,因为它可以容纳各种数据结构?
我说的是 Matlab 2013b 中添加的table()
功能。
显然,我可以使用这样的代码保留内存:
T = table(cell(x,y))
但是当我的表应该包含各种数据类型时,我遇到了问题。想象一下,我现在想填写一列整数,或者像我的情况一样,用包含字符串、整数和浮点数的观察值填充每一行。T
当您不想告诉 Matlab 表中存储了哪些数据时,它应该如何知道要分配多少内存?我认为除了"不要这样做"之外,您的问题没有很好的答案。如果您知道每列中存储的内容,请创建变量并随时添加行。
或者在预分配的矩阵/单元格中创建数据,并在最后从它们创建表格。