我有一个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了解更多信息