2011-05-25 96 views

回答

7

當您按CtrlC,MATLAB將其解釋爲中斷。例如,我認爲你沒有辦法讓你接電話並做一些事情,比如跳到不同的循環等等。

但是,您可以使用功能onCleanup來執行諸如關閉打開文件句柄,刪除臨時文件,寫入日誌,顯示消息,甚至在MATLAB中斷之前保存工作區等操作。但是,它需要從函數內部調用。

這裏有一個簡單的說明性的例子

function test 
currentDir=pwd; 
cd 'path to some folder' 
c=onCleanup(@()cd(currentDir)); 

for i=1:... 
    %#some computations here 
end 

所以,當這個功能運行,您中斷,它帶給你回你在當你運行它的同一個文件夾。這很好,因此你不會卡在一些隨機文件夾中,並且每次都需要手動輸入。

+0

這是在Matlab中的鏈接中發佈的內容的要點,但是感謝代碼示例。 – eykanal 2011-05-25 15:56:26

1

除了onCleanup方法,請注意,您可以通過從handle派生並實施delete方法來編寫自己的類似對象。該文檔是here