Simulink Scope
안에 Print to Figure
을 선택할 수 있습니다. 그러면 원래 범위와 동일한 내용의 그림이 열립니다. 프로그래밍 방식으로이 작업을 수행하는 방법이 있습니까?Simulink Scope에서 프로그래밍 방식으로 '그림으로 인쇄'하는 방법
도 this help page, this help page 및 this page 참조하십시오.
Simulink Scope
안에 Print to Figure
을 선택할 수 있습니다. 그러면 원래 범위와 동일한 내용의 그림이 열립니다. 프로그래밍 방식으로이 작업을 수행하는 방법이 있습니까?Simulink Scope에서 프로그래밍 방식으로 '그림으로 인쇄'하는 방법
도 this help page, this help page 및 this page 참조하십시오.
원하는대로/원하는지 조금씩 다릅니다.
당신이 정말로 당신이 다음 디렉토리/패키지에 콜백 함수를 사용하는 방법을 조사하는 데 필요한 UI 콜백과 정확히 동일한 코드를 사용하려면 :
MATLABROOT의 \ 도구 상자 \ 공유 \ spcuilib + matlabshared + scopes \ @UnifiedScope
특히 printToFigureCallback.m
은 콜백에서 호출하는 코드입니다. 코드에 중단 점을 넣고 디버거를 사용하여 코드를 단계별로 실행하여 코드가 어떻게 작동하는지 확인할 수 있습니다.
다음과 같은 내용이 나타나지만 그렇게하지는 않습니다. 시행 착오를위한 조사가 필요합니다. 또한
% Get the name of the Scope of interest
scopeName = get_param(gcb,'Name');
% Find the Scope (which is really just a figure window)
hs = findall(0,'Name',scopeName);
% Print to a figure.
printToFigureCallback(h.UserData)
, 쉽게, 아마도 덜 만족스러운 해결책 있지만, 다음을 수행하는 것입니다 :
% Get the name of the Scope of interest
scopeName = get_param(gcb,'Name');
% Find the Scope (which is really just a figure window)
hs = findall(0,'Name',scopeName);
% Create a new target figure
hf = figure('Position',get(hs,'Position'));
% Get the handle to the panel containing the plots
hp = findobj(hs.UserData.Parent,'Tag','VisualizationPanel');
% Copy the panel to the new figure
copyobj(hp,hf)
요구 사항에 따라 다음 보장하기 위해 단위들과 함께 놀러 할 수 있습니다 그 그림 크기를 조정하는 것은 올바른 일을합니다.
내 응용 프로그램의 경우 프로그래밍 방식으로 그림을 인쇄하면 과도한 것처럼 보입니다. 이 흥미로운 정보를 주셔서 감사합니다. 다른 경우에도 사용할 수 있습니다. – Karlo
첫 번째 오류 (실제로는 'double'유형의 입력 인수에 대해 '정의되지 않은 함수'printToFigureCallback ')가 발생하지만 두 번째 매개 변수는 내가 원하는 것을 정확하게 수행합니다. – Karlo