sim関数のMATLAB 式を評価するワークスペースについて

14 visualizzazioni (ultimi 30 giorni)
KO
KO il 9 Set 2020
Risposto: KO il 9 Set 2020
sim関数の入力引数で入力出来る'SrcWorkspace' — MATLAB 式を評価するワークスペースについて、'base'と'current'の使用方法はわかったのですが、’parent’の使用方法がわかりません。’parent’はどこのワークスペースを使するのでしょうか。

Risposta accettata

stozaki
stozaki il 9 Set 2020
Modificato: stozaki il 9 Set 2020
KO様
sim が記述される関数が呼び出される”親となる関数”のワークスペースが、"parent" となります。
シンプルな具体例としては次のような形となります。(AはSimulinkモデルで使用されていて、ベースワークスペースで定義されていないパラメータとします)
  1. mysim関数において、Aはmysimの関数ワークスペースに定義されます。
  2. mysubsim関数を呼び出してsimを実行しますが、その際に親となる関数mysimのワークスペースで定義したAを参照したいのでsimの引数'SrcWorkspace'の値を'parent'とします。
% main function
function mysim
A = 1;
mysubsim; % サブ関数呼び出し
end
% sub function
function mysubsim
sim(bdroot(gcs),'SrcWorkspace','parent'); % シミュレーション実行
%%% テスト用
ret = evalin('caller','A');
disp(ret); % Aの値がコマンドウィンドウに出力されます
%%% テスト用(END)
end
この際、'parent'を使わないで'current'を使うと、mysubsim関数の関数ワークスペースしか参照できないので、エラーとなります。
上記お試しください。
stozaki

Più risposte (1)

KO
KO il 9 Set 2020
stozaki様
ご回答ありがとうございます。
例題もわかりやすく、勉強になりました。
ありがとうございます。

Categorie

Scopri di più su Logical in Help Center e File Exchange

Prodotti


Release

R2017b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!