我有一個matlab函數,它調用一個顯示GUI的java函數。在matlab函數中清除java內存
function [] = Start(x, y)
main.Main.main({x,y});
end
我需要運行clear java;在調用主函數之前調用命令。從上一次運行中刪除任何數據。
但是這樣做時,輸入變量x和y也會從內存中刪除。
如何在運行主函數之前確保內存清空? (在調用Start(x,y)
之前,不能從命令行運行clear java;
)。
我有一個matlab函數,它調用一個顯示GUI的java函數。在matlab函數中清除java內存
function [] = Start(x, y)
main.Main.main({x,y});
end
我需要運行clear java;在調用主函數之前調用命令。從上一次運行中刪除任何數據。
但是這樣做時,輸入變量x和y也會從內存中刪除。
如何在運行主函數之前確保內存清空? (在調用Start(x,y)
之前,不能從命令行運行clear java;
)。
如果x
和y
在基地工作區定義,那麼你可以沿着這些路線做一些事情:
function [] = Start
clear java
x = evalin('caller', 'x');
y = evalin('caller', 'y');
main.Main.main({x,y});
end
然而,這是一個可怕的黑客,不推薦!
clear java
...清除java類路徑以及作用域中的變量,但不清除「java變量」。
如果您需要刪除上次運行的數據,則需要清除該數據。如果該數據在Java對象中,那麼您可能需要清除對該對象的任何引用。
請參閱http://www.mathworks.com.au/help/matlab/ref/clear.html瞭解更多信息