2011-11-30 63 views
2

我試圖用MATLAB對象做一個概念驗證。我想看看你是否可以在Java代碼中使用下面的MATLAB對象。我們需要MATLAB對象來保持狀態。我使用MATLAB Builder JA在MATLAB中創建函數並使用Java訪問它們,但我不確定是否可以用相同的方式發送MATLAB類。您可以使用MATLAB Builder JA從MATLAB對象創建Java對象

classdef TestObject < handle 
    properties (SetAccess = private) 
     number = 0; 
    end 

    methods 

     function addToNumber(TO, x) 

      TO.number = TO.number + x; 
     end 
    end 
end % classdef 

回答

2

我相信你目前不能這樣做。你可以使用MATLAB對象,但是如果你想調用它們的方法,你需要爲它們創建一個函數包裝器,並且它們不會在調用之間保持狀態。

我認爲我正確地說,使用Builder for .NET而不是Java,您可以將.NET對象跨越邊界傳遞給MATLAB,這是您可以用來保持任何狀態的功能你會完成一個MATLAB對象。您可以使用Builder for JA爲Java對象做類似的事情,但我從來沒有嘗試過。

+0

謝謝。你能否指點我一些文檔能夠從Java調用這個類。我可以使用Builder JA來使用方法和結構而不是對象。 –

+0

我不知道在文檔中顯示如何顯式調用類的示例。一般來說,你可以像上面那樣創建一個類,然後實現一個函數'addToNumberWrapper(x)',它創建'TestObject'的一個實例'TO'並調用'TO.addToNumber(x)'。然後使用Builder JA部署該包裝函數。 –