gpt4 book ai didi

excel - MATLAB 中 xlsread 速度慢

转载 作者:行者123 更新时间:2023-12-02 22:17:00 27 4
gpt4 key购买 nike

这是我的 MATLAB 程序的分析模拟运行结果。我需要运行此模拟数十万次(约 100,000 次)。

The abnormally slow xlsread

因此我需要一种更快的方法来读取 Excel 文件。

规范:Excel 文件由 10000x2 个单元格组成,每次模拟运行都会从 5 个单独的 Excel 文件中读取一张这样的工作表。

更新:我将 xlsread 置于基本模式,并通过将输入合并到单个文件中来减少调用次数。现在下一个目标是 xlswrite。啊,那种沉沦的感觉。 :|

Updated Profile Summary

注意:虽然写信给 CSV使用 dlmread 读取文件速度非常快(大约 20 倍),我需要使用 .xls 文件提供的单独工作表的舒适感。

最佳答案

如果您需要 Excel 工作表作为输出,我认为您无法从 xlswrite 中获取太多信息。

并行化怎么样?

您可以访问并行计算工具箱吗?或者,如果您的机器支持,您也可以运行 MATLAB 的两个实例。如果是这样,您可以考虑两种方法:

  1. 让第一个进程执行 xlsread 部分、模拟部分,然后写入 mat 文件/纯二进制文件/CSV,无论是最快的还是保持数据完整性的。让另一个进程使用 xlswrite 将 matfiles/中间数据文件转换为 Excel。

  2. 拥有 N 个 MATLAB 实例/工作线程(N 取决于您的物理机容量)。跨 N 个工作线程并行执行整个读取-处理-写入部分。注意,我不确定 Excel 在被 N 个工作人员调用时会如何扩展! (xlswrite使用activeX/MS Excel写入数据)。

与任何并行方法一样,您的效果将根据模拟的复杂性与所需文件 I/O 及其性能的不同而有所不同。

关于excel - MATLAB 中 xlsread 速度慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6173198/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com