Matlab deployment MATLAB编译器SDK生成的Java接口中的数组表示法不一致?

Matlab deployment MATLAB编译器SDK生成的Java接口中的数组表示法不一致?,matlab-deployment,Matlab Deployment,从Java调用Matlab函数,Matlab的编译器SDK 在这里,mlx似乎指的是一种签名约定,而该名称的原因似乎在当前上下文中不再相关 下面是从函数getsum中调用的示例: “创建长度为1的[O]对象数组[x],并使用对提供的双精度数组的引用进行初始化。此参数将传递给mysum方法。已知结果为标量双精度…”调用与上面的第四个和最后一个签名匹配 当第四个签名显示标量对象(Object varargin)时,为什么参数x是对象数组(Object[]x)类型的? 我意识到数组本身(即,Objec

从Java调用Matlab函数,Matlab的编译器SDK

在这里,
mlx
似乎指的是一种签名约定,而该名称的原因似乎在当前上下文中不再相关

下面是从函数getsum中调用的示例:

“创建长度为1的[O]对象数组[x],并使用对提供的双精度数组的引用进行初始化。此参数将传递给mysum方法。已知结果为标量双精度…”调用与上面的第四个和最后一个签名匹配

当第四个签名显示标量对象(
Object varargin
)时,为什么参数
x
是对象数组(
Object[]x
)类型的?

我意识到数组本身(即,
Object[]x
),但如果 是如何解释原型的,那么阵列的性质是什么 上述第二个原型中明确的参数(
Object[]rhs
),但不是 第四个原型(
objectvarargin
)?

/* mlx interface - List version*/
public void mysum(List lhs, List rhs)
throws MWException

/* mlx interface - Array version*/
public void mysum(Object[] lhs, Object[] rhs)
throws MWException

/* standard interface - no inputs */
public Object[] mysum(int nargout)
throws MWException

/* standard interface - variable inputs */
public Object[] mysum(int nargout, Object varargin)
throws MWException
public double getsum(double[] vals) throws MWException
{
   myclass cls = null;  // Class containing the generated functions
   Object[] x = {vals};    
   Object[] y = null;      
                           
   try                     
   {                       
      cls = new myclass(); 
      y = cls.mysum(1, x); 

...snip...