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

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

如何解决这个问题?

首先,从类中删除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 。 这也有清除工作区中所有变量的不幸副作用,因此请确保在调用之前没有任何重要的保存。