【发布时间】:2012-02-14 15:37:32
【问题描述】:
我正在以 1000Hz 的频率在眼动追踪系统上运行解决方案。数据以 X 和 Y 凝视位置坐标的形式来自眼动仪。我正在尝试将这两个坐标添加到数组的末尾。
我目前的解决方案如下:
gazePositionArray = [];
while gazeDataIsAvailable
[x y] = getNewCoordinates;
gazePositionArray = [gazePositionArray; x y];
end
问题出在第四行。为了更新数组,它复制旧数组的内容并在末尾添加新坐标。这很好,例如,对于记录的前 30 秒,但阵列中存在的数据越多,计算机必须执行的处理才能创建新阵列(30 秒后系统试图复制 30,000每秒 1000 次的数据行 - 每次迭代都会越来越多)
有没有办法在 MATLAB 数组的末尾追加一行,而系统不必将整个数组复制到自身中?
【问题讨论】: