如MATLAB's FAQ中所述,`clear(function_name)`從RAM中刪除函數的替代方法?
1.3.3.1。爲什麼當我在MATLAB中編輯函數文件時,直到所有內容被清除或MATLAB重新啓動之前,MATLAB纔看到變化?
當您在MATLAB中編寫M文件時,您可以編寫腳本或 函數。區別在於從磁盤讀取腳本,並且每次調用時都會逐行解析。一個函數被加載到 RAM中執行。因爲它被加載到RAM中,所以當您編輯 函數時,在對新函數 函數進行調用之前,該更改不會加載到RAM中。
爲了讓MATLAB認識到你的編輯功能,類型
clear functions to clear all functions, or clear <function name> to clear just your function out of RAM.
這是一個重大的痛苦,當我正在開發一個功能&反覆編輯它(我使用外部編輯器的大部分時間) 。我想投入最後一行,在調試過程至少,像
clear(myfunc)
,但我很擔心有害的副作用。有誰知道有沒有?另外,我寧願有一種方法來配置MATLAB,以便在頂層函數(即從控制檯調用的函數)終止後,它不會自動將所調用函數存儲在RAM中。這甚至有可能嗎?
編輯:我應該提到的是,MATLAB的行爲是不一致的。有時我的編輯會在保存m文件後生效,其他時間不會生效即使我正在使用MATLAB IDE編輯器窗口進行編輯。