Simulink 모델에 대해 몇 가지 작업을 수행하는 .m 파일이 있는데 현재 사용중인 모델이 전체 모델 또는 하위 시스템인지 확인하고 싶습니다. 이것을 확인하는 특정 구문이나 함수가 있습니까? Simulink 시스템에 따라 동작을 다르게 수행 할 수 있어야합니다.현재 Simulink 시스템 모델 또는 서브 시스템이 MATLAB에 있습니까
1
A
답변
1
당신은 항상 당신이없는 시스템이나 서브 시스템이 있는지 확인하기 위해 최고 수준의 시스템 및 사용 문자열 비교의 이름을 가져
bdroot을 사용할 수 있습니다
:
sysname = 'f14/Actuator Model';
istoplevel = strcmp(bdroot(sysname), sysname);
1
0
당신이 연 후이 시도 할 수 귀하
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
0
쉽게 : 모델 또는 시스템 이름으로 gcs
교체 [중 하나 open_system
load_system
또는 사용하기 전에 부하를 만들]
bdIsLoaded ('VDP') 나는 그것이 시뮬링크 모델에 관하여는 명확하게하는 질문을 편집하고,`simulink` 태그를 추가
: 것 방법은, 모델의 이름은 다음 VDP, 말한다. – nrz