2011-05-21 77 views
0

我寫了一個使用system()函數調用的Java程序,因此它在Matlab的命令窗口上運行。現在我想知道是否有另一種方法來運行Java程序,而不是在命令窗口上運行它?它可以在Matlab中的任何用戶製作的GUI上運行嗎?另一個問題是,我想知道我的程序是否有一些字符串值作爲輸出,這通常顯示在命令窗口中,我如何將它存儲在Matlab中的變量中?如何將java輸出作爲matlab變量傳遞?

希望能儘快聽到你的消息。

回答

1

The MathWorks的Hello World解決方案提供了關於如何在MATLAB內部運行簡單的'Hello World'java應用程序的一些見解。您可以稍微更改Java代碼,以便擁有一個返回String的方法。

public class HelloWorld 
{ 
    public String hello() 
    { 
     String helloWorld = "Hello World!"; 
     return helloWorld; 
    } 
} 

一旦這個簡單的類被編譯並在MATLAB JVM類路徑創建一個實例,並與以下兩個命令調用的方法。

o = HelloWorld 
output = o.hello; 

由HelloWorld的實例返回的字符串被分配到MATLAB變量output

在MATLAB中,沒有必要使用帶有Java代碼的system命令。您可以從MATLAB內部直接訪問JVM。對於具有複雜GUI的應用程序,請參閱Java。

Undocumented Java是MATLAB,Java和GUI的寶貴資源。

0

是的類路徑集是正確的。

我修改了代碼,使用它沒有主..

class HelloWorld 
{ 
     public String Hello() 
     { 
      String helloWorld="Hello World!"; 
      return helloWorld; 
     } 
} 

現在,按照引導我嘗試OBJ在Matlab創建實例,用下面的命令:

o = HelloWorld; 

在這裏,我得到以下錯誤:

???沒有構造函數'HelloWorld'與 匹配發現簽名。

下一個命令表明它是:

output = o.hello; 

除非創建實例,它難道不工作。

相關問題