主题:求助:用Java调用matlab的函数
求助:
用Java调用matlab的函数时,不管matlab函数如何编写(如:有不同的多个输入参
数),但在通过deploytool工具将该.m函数build后,生成.jar文件,其中的java类
中只包含三个同名的固定接口的方法,而没有与.m函数相对应的方法。
举例:如用matlab编写了HelloWorld(a b c)函数,其中a,b,c都是int型,但
build后生成HelloWorld.java中却没有相应的方法,只有如下三个同名方法:
public Object[] HelloWorld(int nargout, Object... rhs) throws
MWException
{
Object[] lhs = new Object[nargout];
fMCR.invoke(Arrays.asList(lhs), MWMCR.getRhsCompat(rhs,
sludecompSignature), sludecompSignature);
return lhs;}
public void HelloWorld(Object[] lhs, Object[] rhs) throws MWException
{
fMCR.invoke(Arrays.asList(lhs), Arrays.asList(rhs),
sludecompSignature);
}
public void HelloWorld(List lhs, List rhs) throws MWException
{
fMCR.invoke(lhs, rhs, sludecompSignature);
}
这样并不能使用HelloWorld(a b c)函数,请问这种情况该如何解决?十分感谢!
版本:matlab2007b, eclipse3.3, jdk1.6
用Java调用matlab的函数时,不管matlab函数如何编写(如:有不同的多个输入参
数),但在通过deploytool工具将该.m函数build后,生成.jar文件,其中的java类
中只包含三个同名的固定接口的方法,而没有与.m函数相对应的方法。
举例:如用matlab编写了HelloWorld(a b c)函数,其中a,b,c都是int型,但
build后生成HelloWorld.java中却没有相应的方法,只有如下三个同名方法:
public Object[] HelloWorld(int nargout, Object... rhs) throws
MWException
{
Object[] lhs = new Object[nargout];
fMCR.invoke(Arrays.asList(lhs), MWMCR.getRhsCompat(rhs,
sludecompSignature), sludecompSignature);
return lhs;}
public void HelloWorld(Object[] lhs, Object[] rhs) throws MWException
{
fMCR.invoke(Arrays.asList(lhs), Arrays.asList(rhs),
sludecompSignature);
}
public void HelloWorld(List lhs, List rhs) throws MWException
{
fMCR.invoke(lhs, rhs, sludecompSignature);
}
这样并不能使用HelloWorld(a b c)函数,请问这种情况该如何解决?十分感谢!
版本:matlab2007b, eclipse3.3, jdk1.6