Simulink モデルでいくつかのアクションを実行する .m ファイルがあり、現在使用されているモデルがモデル全体であるかサブシステムであるかを確認したいと考えています。これを確認するための特定の構文または関数はありますか? Simulink システムに応じて異なるアクションを実行できるようにする必要があります。
質問する
2389 次
4 に答える
1
いつでもbdrootを使用して最上位システムの名前を取得し、文字列比較を使用してサブシステムがあるかどうかを確認できます。
sysname = 'f14/Actuator Model';
istoplevel = strcmp(bdroot(sysname), sysname);
于 2012-09-13T03:46:00.180 に答える
1
isEntireModel = isequal( get_param( gcs, 'Type' ), 'block_diagram' );
于 2012-09-12T15:32:46.083 に答える
0
モデルを開いた後、これを試すことができますか、またはシステム名に置き換えてください[またはgcs
で使用する前に必ずロードしてください]:load_system
open_system
h=find_system(gcs,'FindAll',1,'SearchDepth',1,'BlockType','SubSystem');
if isempty(h)
disp('Has Subsystems');
else
disp('No Subsystems');
end
h=find_system(gcs,'FindAll',1,'SearchDepth',1,'BlockType','ModelReference');
if isempty(h)
disp('Has Models');
else
disp('No Models');
end
于 2012-09-16T16:34:44.643 に答える
0
簡単な方法は、モデル名が vdp だとすると、次のようになります。
bdIsLoaded('vdp')
于 2014-12-08T18:46:26.083 に答える