str2doubleq等同于MATLAB内置的Str2double函数,将Char或CellStr数组转换为适当的双数组。内置str2double的缺点是当数据集变大时变得非常慢。
str2doubleq利用了c++快速字符串处理能力。此外,如果您有一个支持新的c++ 11标准的编译器,或者万博1manbetx您的计算机上安装了Boost库,您可以使用多线程算法。如果数据集足够大,多线程算法可以很好地扩展。
函数被编程为与str2double完全相同的行为。
来自某些市场数据解析问题的原始需求来自必须实时完成的问题。现在Matlab可以像传统的字符串解析问题那样快速作为传统的编程语言。
安装:
*将文件str2doubleq.cpp拷贝到硬盘的某处。(例如C: \ Test \ str2doubleq.cpp)
*启动Matlab并编译源文件,生成机器依赖的二进制文件。如果您还没有选择编译器,则需要首先执行此操作(在命令窗口中运行mex -setup)。
*编译源文件时键入mex
测试(例如墨西哥人C: \ \ str2doubleq.cpp)
*放置生成的str2doubleq。Mexw32(32位)或str2doubleq。梅克斯w64 (64-bit) to Matlab's scope (set path- folder group)
*如果你想进一步提高性能,那么取消注释str2doubleq.cpp(包含#define USE_PARALLEL_ALGORITHM)的第35行。记住,您需要有足够现代的编译器或Boost (http://www.boost.org/)安装了。
现在你可以在matlab中使用这个函数。运行testcases脚本test_str_to_double_performance。M(包含在zip文件中)
引用作为
定量的家伙(2021)。快速字符串到双重转换(//www.tianjin-qmedu.com/matlabcentral/fileexchange/28893-fast-string-to-double-conversion), MATLAB中央文件交换。检索.