matlab - 提高使用 datenum 函数的循环效率?

标签 matlab octave

当 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/

相关文章:

r - R 中的图像函数需要永远运行

image - 使用blockproc或im2col在图像上重叠滑动窗口?

algorithm - 机器学习 : Supervised learning to learn & predict next RSA code

matlab - 由于矢量化时内存不足,因此加快了 for 循环的速度

octave - 无法在 Windows 10 下使用 Octave 4.0.0 图形工具包功能

matrix - 将模式应用于 Octave 中的矩阵

algorithm - 使用霍夫变换进行椭圆检测

MATLAB:在不使用循环的情况下提取矩阵的多个部分

matlab - matlab 有三元运算符吗?

matlab - 定义二维坐标的两个数组,作为数组索引