当 DJI 矩阵有 21000 行时,以下循环在 Octave 中运行大约需要 700 秒,在 matlab 中运行需要 22 秒。我怎样才能提高这方面的效率?
for i=1:length(DJI) DJI2(i,1)=datenum(char(DJI(i,2)),'yyyy-mm-dd'); end
最佳答案
你记得预分配 DJI2 吗?
更重要的是,您根本不需要循环。 datenum
对数组进行操作。
尝试这个:
DJI2=datenum(char(DJI(:,2)),'yyyy-mm-dd');
关于matlab - 提高使用 datenum 函数的循环效率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/346855/