PDA

查看完整版本 : [MATLAB混合编程] c++ 利用mexfunction 向matlab传递double型二维数组的问题


directive917
2011-03-09, 15:36
程序的主功能函数在c++中,是个float型的数组。但将输出转移到matlab中时,却出现了输出数据的错误。
例如:
0.193914 0.177281 0.197659 等等数据
在matlab中的数据输出确实:
0.193914 1.#QNAN 0.526323....只有第一个对,其他的就都不对了。在matlab中存储这些数据用的是
mxArray *a = mxCreateDoubleMatrix(
static_cast<int>(mrows),
static_cast<int>(ncols),
mxREAL
);

其中类型是mxREAL类型。
环境是vs2005,winXP。
是不是数据类型的大小在不同的平台下而不同造成的?
请大侠们指导下啊!