我的問題是,即使存在稱爲「畝」的局部變量,當代碼運行命令如何讓MATLAB忽略一個函數?
SQRT(畝)
Matlab的嘗試運行稱爲畝內部函數。
據我所知這不是一個正常的行爲。我如何讓Matlab使用局部變量來控制它的內部函數?
我打算用deploy工具編譯這個代碼,因此修改matlab的內部函數文件是不合適的。在編譯版本中會出現問題。
讓我給有關該問題的更詳細,
我的main.m文件調用function_a.m功能。 Function_a函數運行另一個腳本,名稱爲常量。 Constants.m文件不是一個函數,而是一個腳本,它只保留一些變量,因此當它加載它時,會用這些變量填充工作區。它的格式是,
const1=3; const2=5; mu=2;
在function_a運行constant.m之後,它會嘗試使用mu值。這是當matlab從內部mu函數中發出錯誤時。這意味着Matlab不使用由contants.m創建的本地mu變量。
我用調試器在運行constant.m之後停止代碼,但在命令中使用mu之前。穆實際上應該是在工作空間。在調試模式下,如果我使用sqrt(mu)命令,它應該可以正常工作。但是當我讓繼續運行時,當同樣的命令寫入函數文件時,Matlab會給出顯示它正在嘗試使用內部函數的錯誤。
我該如何解決這個問題?
不應該是'函數S =常量'嗎? – hbaderts
@hbaderts是的,謝謝 – Suever