查看单个帖子
旧 2011-03-09, 15:36   #1
directive917
初级会员
 
注册日期: 2010-09-02
年龄: 38
帖子: 4
声望力: 0
directive917 正向着好的方向发展
默认 c++ 利用mexfunction 向matlab传递double型二维数组的问题

程序的主功能函数在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。
是不是数据类型的大小在不同的平台下而不同造成的?
请大侠们指导下啊!
directive917 当前离线   回复时引用此帖