如何在 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;
假设我们有一个元胞数组,称为 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;