主要内容

金宝appSimulink.sdi.sendWorkerRunToClient

並列ワカで作成された実行をシミュレションデタンスペクタに送信

説明

金宝appSimulink.sdi.sendWorkerRunToClientは,ワカによって最後に生成された実行をクラアントmatlab®に送信し,実行をシミュレションデタンスペクタにンポトします。

金宝appSimulink.sdi.sendWorkerRunToClient (运行は,运行に対応する実行をクライアントMATLABに送信し,実行をシミュレーションデータインスペクターにインポートします。

すべて折りたたむ

この例では,並列ワ,カ,を使用して作成された実行を金宝appSimulink.sdi.sendWorkerRunToClientを使用して手動でシミュレションデタンスペクタに送信する方法にいて説明します。

設定

この例では,ゲμを変化させて,vdpモデルの複数のシミュレ,ションを実行します。並列シミュレ,ションを設定するには,μ値のベクトルを定義し,手動による并行计算工具箱のサポート用にシミュレーションデータインスペクターを設定します。

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

並列ワ,カ,の初期化

parpool(并行计算工具箱)を使用して4の並列ワカのプルを開始します。この例ではifステ,トメント内のparpoolを呼び出すため,作成するのは並列プ,ルのみです(まだない場合)。spmd(并行计算工具箱)を使用してすべてのワ,カ,に共通の初期化コ,ドを実行できます。たとえば,vdpモデルを読み込み,クライアントMATLABのシミュレーションデータインスペクターに送信できる実行にログを記録する信号を選択します。parfor内のsim卡でシミュレーションを実行する場合にデータの同時実行の問題を回避するには,各ワーカーに一時ディレクトリを作成します。シミュレ,ションが完了した後,別のSPMDブロックが一時ディレクトリを削除します。

P = gcp(“nocreate”);如果isempty (p) parpool (4);结束
使用“本地”配置文件启动并行池(parpool)…连接4个工人。
spmd加载系统并选择要记录的信号load_system (“vdp”) 金宝appSimulink.sdi.markSignalForStreaming (“vdp / x1”, 1“上”) 金宝appSimulink.sdi.markSignalForStreaming (“vdp / x2”, 1“上”为工作线程上的模拟创建临时目录workDir = pwd;addpath(workDir) tempDir = tempname;mkdir (tempDir) cd (tempDir)结束

parforを使用した並列シミュレ,ションの実行

並列ワカからシミュレションデタンスペクタにデタをストリミングするには,parfor(并行计算工具箱)を使用して並列シミュレ,ションを実行しなければなりません。各ワ,カ,はμの異なる値を使用してvdpシミュレ,ションを実行します。金宝app仿真软件はparforル,プの内容にアクセスできないため,変数MuValがワ,カ,のワ,クスペ,スで定義されます。この場合,assigninを使用してvdpモデルで内容を表示できます。

parfor(指数= 1:4)在工作人员的基本工作区中设置Mu的值assignin (“基地”“MuVal”MuVals(指数));修改模型中Mu的值,进行模拟set_param (的vdp /亩“获得”“MuVal”) sim卡(“vdp”

デタにアクセスしてクラアントmatlabに実行を送信

クライアントMATLABで使用する場合と同じ方法で,ワーカーでシミュレーションデータインスペクターのプログラムによるインターフェイスを使用できます。この例では,金宝appSimulink.sdi.Runオブジェクトを作成し,标签プロパティを使用したシミュレ,ションで使われたμの値を付加します。

将元数据附加到运行id = S金宝appimulink.sdi.getAllRunIDs;lastIndex =长度(id);runID = 金宝appSimulink.sdi.getRunIDByIndex(lastIndex);parRun = 金宝appSimulink.sdi.getRun(runID);parRun。标签= strcat('Mu = 'num2str (MuVals(指数)));将运行发送到客户端MATLAB上的仿真数据检查器金宝appSimulink.sdi.sendWorkerRunToClient结束

一時ディレクトリを閉じてシミュレションデタンスペクタで実行を表示

シミュレ,ションが完了したら,別のspmdセクションを使用してワ,カ,で作成された一時ディレクトリを削除します。各シミュレ,ションで,金宝appSimulink.sdi.sendWorkerRunToClientはすべてのワカからシミュレションデタンスペクタに実行をンポトしました。デ,タを表示して実行プロパティを確認し,シミュレ,ション中に使われたμの値を確認できます。

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

入力引数

すべて折りたたむ

シミュレションデタンスペクタにンポトする実行に対応する実行idまたは金宝appSimulink.sdi.Runオブジェクト。

バ,ジョン履歴

R2018aで導入