【问题标题】:how to pass java output as a matlab variable?如何将java输出作为matlab变量传递?
【发布时间】:2011-05-21 05:47:32
【问题描述】:

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

希望很快收到您的来信。

【问题讨论】:

    标签: java user-interface function matlab


    【解决方案1】:

    The MathWorks 的Hello World 解决方案提供了一些关于如何在 MATLAB 中运行简单的“Hello World”Java 应用程序的见解。您可以稍微更改 Java 代码,以获得返回字符串的方法。

    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 的宝贵资源。

    【讨论】:

      【解决方案2】:

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

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

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

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

      o = HelloWorld;
      

      这里我得到以下错误:

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

      下一个命令表明它:

      output = o.hello;
      

      除非创建实例,否则不会工作。

      【讨论】:

        猜你喜欢
        • 2017-03-14
        • 2021-08-29
        • 2011-04-16
        • 1970-01-01
        • 1970-01-01
        • 2012-09-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多