2011-05-04 48 views
0

我有一個matlab函數,它調用一個顯示GUI的java函數。在matlab函數中清除java內存

function [] = Start(x, y)  
    main.Main.main({x,y}); 
end 

我需要運行clear java;在調用主函數之前調用命令。從上一次運行中刪除任何數據。

但是這樣做時,輸入變量x和y也會從內存中刪除。

如何在運行主函數之前確保內存清空? (在調用Start(x,y)之前,不能從命令行運行clear java;)。

回答

0

如果xy在基地工作區定義,那麼你可以沿着這些路線做一些事情:

function [] = Start 
    clear java 
    x = evalin('caller', 'x'); 
    y = evalin('caller', 'y'); 
    main.Main.main({x,y}); 
end 

然而,這是一個可怕的黑客,不推薦!

0
clear java 

...清除java類路徑以及作用域中的變量,但不清除「java變量」。

如果您需要刪除上次運行的數據,則需要清除該數據。如果該數據在Java對象中,那麼您可能需要清除對該對象的任何引用。

請參閱http://www.mathworks.com.au/help/matlab/ref/clear.html瞭解更多信息