如何在MATLAB中进行线程化? [英] How to do threading in MATLAB?

查看:110
本文介绍了如何在MATLAB中进行线程化?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在MATLAB中进行线程化?我想同时在两个变量上运行一个函数。我该怎么做?

解决方案

并行工具箱有一些工具可以帮助您。从Matlab帮助中查找下面的一些示例

  matlabpool%使用默认并行配置
spmd%默认情况下使用所有实验在池中
INP = load(['somedatafile'num2str(labindex)'.mat']);
RES = somefun(INP);
end

然后 RES 在实验室可以从客户端以 RES {1} 从实验室1, RES {2} 从实验室2等。

您也可以将 parfor 视为的。希望这有助于即使它不是你正在寻找的。

How to do threading in MATLAB? I want to run one function on two variables simultaneously. How do I do it?

解决方案

The parallel toolbox has some tools that might help you. Find below some example pasted from the Matlab help

matlabpool    % Use default parallel configuration
spmd          % By default uses all labs in the pool
    INP = load(['somedatafile' num2str(labindex) '.mat']);
    RES = somefun(INP);
end

Then the values of RES on the labs are accessible from the client as RES{1} from lab 1, RES{2} from lab 2, etc.

You might also look at parfor as a simple parallel replacement of for. Hope this helps even if it's not exactly what you're looking for.

这篇关于如何在MATLAB中进行线程化?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆