在Matlab的mex文件中有一个函数mxIsScalar可以告诉你mex文件的输入是否是标量.但该功能已在R2015a中引入.
如果使用以前版本的Matlab(在我的情况下是2014b,如果这很重要),检查输入是标量还是数组的最优雅方法是什么?
我需要相结合mxGetNumberOfDimensions,mxGetDimensions并mxIsNumeric做到这一点?或者还有其他明确而简单的方法吗?我赞成可读性而不是速度.
除了mxGetM和mxGetN,还有mxGetNumberOfElements,你可以这样使用:
bool const isScalar = (size_t(1) == mxGetNumberOfElements(prhs[0]));
Run Code Online (Sandbox Code Playgroud)