我在LAPACK
MATLAB
文件中使用MEX
个库的求解器来求解线性方程组。对于某些情况,我解决的系统是单数。例如,对于我的一个案例,系统如下:
A =
0.00000000 0.00000000 0.00000000
0.00000000 0.00000000 0.00000000
0.00000000 0.00000000 77.31867171
b:
-0.00000000 -0.00000000 -0.00000000
将Ax=b
上述系统的解决方案标记为NaN
类似于MATLAB
的最佳方法是什么?
答案 0 :(得分:4)
以下是从MEX函数创建填充NaN
s的数字向量的示例:
#include "mex.h"
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
plhs[0] = mxCreateDoubleMatrix(3, 1, mxREAL);
double *x = mxGetPr(plhs[0]);
double nanVal = mxGetNaN();
for (int i=0; i<3; ++i) {
x[i] = nanVal;
}
}
>> mex -largeArrayDims test_nan.cpp
>> x = test_nan()
x =
NaN
NaN
NaN