OHL*_*ÁLÁ 5 performance matlab date
有没有人知道更快的方法将日期字符串(2010-12-12 12:21:12.123)转换为数字?
Yai*_*man 18
分析内置的Matlab函数并提取感兴趣的内部功能通常是教学的.
在你的特定情况下,
dtstr2dtnummx({'2010-12-12 12:21:12.123'},'yyyy-MM-dd HH:mm:ss')
Run Code Online (Sandbox Code Playgroud)
比以下快3倍(占30%的时间):
datenum({'2010-12-12 12:21:12.123'},'yyyy-mm-dd HH:MM:SS')
Run Code Online (Sandbox Code Playgroud)
其中dtstr2dtnummx是一个内部函数(我的Windows机器上的C:\ Program Files\Matlab\R2011a\toolbox\matlab\timefun\private\dtstr2dtnummx.mexw32).
要访问此内部函数,只需使用该addpath函数将其文件夹添加到Matlab路径,或将dtstr2dtnummx.mexw32文件复制到Matlab路径上已有的另一个文件夹.
请注意,dtstr2dtnummx和datenum之间的字符串格式不同,所以要小心!
对于那些感兴趣的人,上面的文件夹包含其他有趣的日期转换功能,所以探索和享受!
Note 5/5/2011:我现在发表了一篇文章,在http://undocumentedmatlab.com/blog/datenum-performance/上扩展了这个答案