matlab - 在matlab parfor循环中保存命令

标签 matlab parallel-processing

我试图在 parfor 循环中保存一个矩阵。我知道 matlab 不允许这样做,需要创建一个单独的程序。一些谷歌搜索建议创建一个单独的函数,比如 parfor 如下:

  function parsave(fname, x,y)

    save(fname, 'x', 'y')

   end

我遇到的问题是,程序似乎在完成所有迭代之前就停止了,没有任何错误(即,它保存了大约一半的文件)。我有很多小文件(大约 1M)。这可能是问题所在吗?

提前致谢

最佳答案

直接在 parfor 中调用 save 违反了透明度要求。相反,您需要将变量传递给另一个可以调用保存的函数。

一个例子 Matlab provides是以下。

将以下内容保存为“parsave.m”:

    function parsave(fname, x,y)
    save(fname, 'x', 'y')
    end

然后运行它:

    parfor ii = 1:4
    x = rand(10,10);
    y = ones(1,3);
    parsave(sprintf('output%d.mat', ii), x, y);
    end

关于matlab - 在matlab parfor循环中保存命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12152229/

相关文章:

matlab - 具有各种维度字段的结构的逻辑索引

matlab - 根据速度计算加速度峰值

matlab - 设置默认渲染器

node.js - 使用异步 fs.appendFile(file, text, callback) 附加 txt 文件的并行进程是个好主意吗

Java8 Parallel Stream 花时间求和值

python - Python 中的多处理(HoG 功能) - 返回空数组

c++ - 我应该并行化哪些循环,外部循环还是内部循环

matlab - append 和 x = [x, element] 的区别

arrays - 查找结构数组的最大值

c - OpenMP 令人尴尬的并行循环,没有加速