首先,我已經看過這個優秀的article了。 我有一個MATLAB腳本,名爲sdp
。我有另一個MATLAB腳本track
。我在sdp
之後運行track
,因爲track
使用了一些來自sdp
的輸出。爲了運行軌跡,我需要多次調用一個名爲action
的函數。我把action
定義爲一個單獨的MATLAB文件中的函數。這個action
的每個調用都有一些輸入,比如x1,x2,x3
,但是x2,x3
只是「數據」,它永遠不會改變。它們在sdp
中相同,在track
中相同,並且在action
中保持不變。在這裏,x2,x3
是巨大的矩陣。其中有很多(想想x2,x3,...x10
)全局變量的替代方案:MATLAB中的持久變量和嵌套函數
跛腳的方式是將x2,x3
定義爲sdp中的全局然後跟蹤,因此我可以調用只有x1
的動作。但這會讓我的表現難以置信地變慢。我怎樣才能通過x1
來一次又一次的行動,使它記得x2,x3
是什麼?每個通話都非常快,如果我以內聯方式進行通話,則速度非常快。
也許我可以使用一些持久變量。但我不明白它們是否適用於我的例子。我不知道如何正確使用它們。
面向對象的編程方法會更快嗎?我不確定。你熟悉持久變量還是嵌套這些函數,或許這是相關的? – bissi