如何在 MATLAB 中为元胞数组的元胞数组创建 FIFO 队列?

How to create a FIFO queue to a cell array of cell arrays in MATLAB?

假设我们有一个元胞数组,称为 Q,一个 <1x3256 元胞>,每个元胞都是一个如下所示的元胞数组,例如:

Q{1}{1}

答案=

 0   451     0

等问题是,我想创建一个 FIFO 队列以便 "clear" 每个单元格并将每个单元格的内容发送到另一个函数(在上面的单元格中,值 0 451 0),每次一个一个地发送。必须且仅使用 FIFO 队列,因为它是特定算法实现的一部分。 如果可能的话,我宁愿不在 Matlab 中使用 Java,比如 LinkedList,因为我已经阅读过其他主题。

我如何使用这个由元胞数组构成的元胞数组创建 FIFO 队列?有什么想法吗?非常感谢任何帮助。

取第一个值

input = Q(1);  % or Q{1} depending on requirements

清除第一个值:

Q(1) = []; % Q will now be, e.g. 1x3255 cell
% Q(1) is now the old Q(2)

这需要是 () 而不是 {} - 后者只会清空 Q(1) 的内容(Q 将保留 1 x 3256)。

要将附加值添加到队列末尾:

Q(end+1) = newdata;