3

我想从 Matlab 调用我自己的 Java 程序。

这是我的java程序:

public class TestArgu{
    public static void main(String[] args){
        System.out.println("Test passing arguments!");
    }

    public void addNumber(int aNumber){
        ansNumber = aNumber+5;
        chk = aNumber;
        System.out.println("input number = " + chk + ".\n");
        System.out.println("ans = " + ansNumber + ".\n");
    }

    public int ansChk(){
        return ansNumber;
    }

    private int ansNumber;
    private int chk;
}

我从这个链接一步一步做了 http://www.mathworks.nl/support/solutions/en/data/1-URS0E/?...1...

但它不适用于我的程序。我正在从服务器计算机运行 Matlab 程序。所以我无法编辑classpath.txt.

如何解决这个问题?

4

1 回答 1

3

首先,从你的类中删除 main 函数。然后添加行

package mypackage.release;

在你的类定义之前。然后使用命令编译

javac -verbose -cp /home/javaclasses -d /home/javaclasses /home/javasource/TestArgu.java

在 matlab 类型中

javaaddpath('/home/javaclasses');
clear java;
import mypackage.release.*;
test=TestArgu;
test.addNumber(6);
test.ansChk();

请记住,每次进行更改并编译 java 类时,必须clear java在更改可用之前调用 matlab。这也有清除工作区中所有变量的不幸副作用,因此请确保在调用它之前没有任何重要的东西要保存。

于 2013-02-25T15:14:06.300 回答