如何从Matlab程序中调用java代码

时间:2013-02-25 14:35:55

标签: java matlab

我想从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

如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

首先,删除班级中的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类时,必须在更改可用之前在matlab中调用clear java。这也有清除工作区中所有变量的不幸副作用,因此请确保在调用之前没有任何重要的保存。