十行以內,你寫過哪些比較酷的 Matlab 程式碼?
阿新 • • 發佈:2019-01-09
最近正在寫一個模擬快速畫圖的GUI。
以下這段的功能是,點一下按鈕,就把打開了的Scope的圖直接儲存成jpg檔案。
以前的話基本都是用截圖工具,或者先把Scope的Menubar設定成可見,之後再Save as為影象。
刪掉了備註,剛好十行,可卻花了好幾天的時間找如何定位到特定object的方法……
function quickSave_Callback(hObject, eventdata, handles)
set(0,'ShowHiddenHandles','On');
fig = findobj('Tag','SIMULINK_SIMSCOPE_FIGURE','-and','Visible','on');
numberOfOpenScope = size(fig,1);
for i = 1:numberOfOpenScope
set(fig(i),'PaperPositionMode','auto');
F = getframe(fig(i));
[filename,pathname] = uiputfile({'*.jpg';,'*.bmp';,'*.png';},'Save file name');
imwrite(F.cdata,[pathname,filename]);
end
前幾天正在研究如何可以一鍵把scope快速儲存成fig檔案,真的是試了好多方法都失敗了。
在不設定scope儲存到workspace的情況下,怎麼提取到那些訊號的資料。fig的屬性全看完了也沒有找到,model的workspace也沒有找到。
然後昨天發現,Simulink最新版就自帶這個快捷的功能。
以下這段的功能是,點一下按鈕,就把打開了的Scope的圖直接儲存成jpg檔案。
以前的話基本都是用截圖工具,或者先把Scope的Menubar設定成可見,之後再Save as為影象。
刪掉了備註,剛好十行,可卻花了好幾天的時間找如何定位到特定object的方法……
function quickSave_Callback(hObject, eventdata, handles)
set(0,'ShowHiddenHandles','On');
fig = findobj('Tag','SIMULINK_SIMSCOPE_FIGURE','-and','Visible','on');
numberOfOpenScope = size(fig,1);
for i = 1:numberOfOpenScope
set(fig(i),'PaperPositionMode','auto');
F = getframe(fig(i));
[filename,pathname] = uiputfile({'*.jpg';,'*.bmp';,'*.png';},'Save file name');
imwrite(F.cdata,[pathname,filename]);
end
前幾天正在研究如何可以一鍵把scope快速儲存成fig檔案,真的是試了好多方法都失敗了。
在不設定scope儲存到workspace的情況下,怎麼提取到那些訊號的資料。fig的屬性全看完了也沒有找到,model的workspace也沒有找到。
然後昨天發現,Simulink最新版就自帶這個快捷的功能。