MATLAB Answers

How can I label a solution as NaN in a MEX code?

7 ビュー (過去 30 日間)
AP
AP 2014 年 6 月 24 日
編集済み: José-Luis 2014 年 6 月 24 日
I am using solvers of LAPACK libraries in a MATLAB MEX file for solving linear system of equations. For some of the cases, the system that I solve is singular. For example, the system is as follows for one of my cases:
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
What would be the best approach to label this solution as NaN similar to MATLAB?

採用された回答

James Tursa
James Tursa 2014 年 6 月 24 日
Use the API function mxGetNaN:
E.g., to put a NaN value into a double for returning to the MATLAB workspace:
double d = mxGetNaN( );

その他の回答 (1 件)

José-Luis
José-Luis 2014 年 6 月 24 日
if (some_condition)
some_value = 0.0/0.0; %This will produce a NaN
end
  4 件のコメント
José-Luis
José-Luis 2014 年 6 月 24 日
double myNaN = 0.0/0.0;
will produce a NaN in C++. Alternatively, you could set it to some other value
double flag = numeric_limits<double>::max();
that you then change into NaN in Matlab.

サインインしてコメントする。

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by