在MATLAB中缓慢读取

| 这是我的MATLAB程序的概要分析运行的结果。我需要运行数十万次(〜100,000次)此模拟。 因此,我需要一种更快的方式来读取Excel文件。 规格:Excel文件的大小为10000x2,每个模拟运行都从5个单独的Excel文件中读取一张这样的工作表。 更新:我将xlsread置于基本模式,并且通过将输入合并到一个文件中来减少了调用次数。下一个目标是立即xlswrite。啊,那种下沉的感觉。 :| 注意:尽管使用dlmread写入CSV文件的速度非常快(大约20倍),但我需要使用.xls文件提供的单独图纸的舒适性。     
已邀请:
        如果您需要Excel工作表作为输出,我认为您将无法从xlswrite中花很多时间。 并行化如何? 您可以使用并行计算工具箱吗?或者,如果您的机器支持,则可以运行两个MATLAB实例。如果是这样,您可以考虑两种方法: 让第一个过程执行xlsread部分,模拟部分,然后写入mat文件/纯二进制文件/ CSV,这是最快的方法,同时又可以保持数据完整性。让另一个过程使用xlswrite将matfiles /中间数据文件转换为Excel。 具有N个MATLAB实例/工作者(N取决于您的物理机器容量)。跨N个工作程序并行化整个读取过程-写入部分。注意,我不确定当N个工作人员调用Excel时Excel将如何缩放! (xlswrite使用activeX / MS Excel写入数据)。 与任何并行方法一样,您的工作量会因模拟的复杂性与所需的文件I / O及其性能而异。     

要回复问题请先登录注册