如何将java输出作为matlab变量传递?

时间:2011-05-21 05:47:32

标签: java user-interface function matlab

我编写了一个使用system()函数调用的Java程序,因此它在Matlab的命令窗口中运行。现在我想知道除了在命令窗口运行Java程序之外还有另一种运行Java程序的方法吗?可以在Matlab中的任何用户制作的GUI上运行吗?另一个问题是,我想知道我的程序是否有一些字符串值作为输出,通常显示在命令窗口中,如何将它存储在Matlab中的变量中?

希望很快收到你的来信。

3 个答案:

答案 0 :(得分: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实例返回的String被赋值给MATLAB变量output

在MATLAB中不需要带有Java代码的system命令。您可以从MATLAB内部直接访问JVM。对于具有复杂GUI的应用程序,请分析Java。

Undocumented Java是MATLAB,Java和GUI的宝贵资源。

答案 1 :(得分:0)

是的,类路径设置是正确的。

我修改了代码,使用它而没有main ..

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

现在,按照指导我尝试在Matlab中创建实例obj,使用以下命令:

o = HelloWorld;

我在这里得到以下错误:

  

???没有构造函数'HelloWorld'   找到匹配的签名。

下一个命令表明了这一点:

output = o.hello;

除非创建实例,否则无效。

答案 2 :(得分:0)

默认情况下,您的JAVA类是私有的。添加公共关键字,以便matlab可以访问该类并创建对象。

public class HelloWorld