主要内容

金宝appSimulink.sdi.sendWorkerRunToClient

寄上创建并行运行工人检查员的模拟数据

描述

例子

金宝appSimulink.sdi.sendWorkerRunToClient发送运行最近由工人到客户机MATLAB生成®检查员和进口仿真的运行数据。

金宝appSimulink.sdi.sendWorkerRunToClient (运行)发送相对应的运行运行客户端MATLAB和进口运行仿真数据检查。

例子

全部折叠

这个例子展示了如何使用金宝appSimulink.sdi.sendWorkerRunToClient发送运行使用并行工人手工仿真数据创建的检查员。

设置

这个例子中几个模拟运行vdp模型中,不同的值,μ。并行仿真设置,定义一个向量的μ模拟值和配置数据检查手册并行计算工具箱支持。金宝app

%启用手动并行计算工具箱支持金宝app金宝appSimulink.sdi.enab金宝applePCTSupport (“手动”);%选择几个μ值MuVals = (1 2 3 4);

初始化并行的工作

使用parpool(并行计算工具箱)开始的四个平行的工人。这个例子中调用parpool里面一个if语句所以你只创建一个平行池如果你不已经有一个了。您可以使用spmd(并行计算工具箱)运行初始化代码所有工人。例如,加载vdp模型和选择我们可以发送信号记录运行检查员在客户机上MATLAB仿真数据。为了避免数据模拟时并发问题sim卡parfor每个工人,创建一个临时目录中。模拟完成后,另一个spmd块删除临时目录。

gcp (p =“nocreate”);如果isempty (p) parpool (4);结束
开始平行池(parpool)使用“本地”概要文件…连接到4工人。
spmd%加载系统并选择信号记录load_system (“vdp”)S金宝appimulink.sdi.markSignalForStreaming (“vdp / x1”,1“上”)S金宝appimulink.sdi.markSignalForStreaming (“vdp / x2”,1“上”)%为仿真对工人创建临时目录workDir = pwd;目录(workDir) tempDir = tempname;mkdir (tempDir) cd (tempDir)结束

运行并行模拟与parfor

从并行流数据工人检查员仿真数据,你必须运行并行模拟使用parfor(并行计算工具箱)。每个工人运行vdp模拟的不同的值μ。金宝app仿真软件不能访问的内容parfor循环,所以变量MuVal定义在工人的工作空间,在那里vdp模型可以看到,使用assignin

parfor(指数= 1:4)%设置值μ的工人的基本工作空间assignin (“基地”,“MuVal”MuVals(指数));%修改模型和模拟中的μ的值set_param (的vdp /亩,“获得”,“MuVal”)sim卡(“vdp”)

访问数据和发送到客户机MATLAB运行

可以使用模拟数据检查员编程接口的工人一样你会在客户端MATLAB。这个示例创建了一个金宝appSimulink.sdi.Run对象和高度的价值μ用于仿真的标签财产。

%将元数据附加到运行id = S金宝appimulink.sdi.getAllRunIDs;lastIndex =长度(IDs);runID = 金宝appSimulink.sdi.getRunIDByIndex (lastIndex);parRun = 金宝appSimulink.sdi.getRun (runID);parRun。标签= strcat(“μ= 'num2str (MuVals(指数)));%将运行检查员在客户机上MATLAB仿真数据金宝appSimulink.sdi.sendWorkerRunToClient结束

关闭临时目录并查看检查员在仿真运行数据

使用另一个spmd部分删除临时目录上创建工人们一旦模拟完成。在每个仿真,金宝appSimulink.sdi.sendWorkerRunToClient从所有的工人导入到检查员的模拟数据。您可以查看数据并检查运行属性的值μ期间使用模拟。

spmd%删除临时目录cd (workDir)删除文件夹(tempDir,“年代”)rmpath (workDir)结束金宝appSimulink.sdi.view

输入参数

全部折叠

运行ID或金宝appSimulink.sdi.Run对象对应于您想要导入到运行仿真数据检查员。

版本历史

介绍了R2018a