c++ 利用mexfunction 向matlab传递double型二维数组的问题

direction917 2011-03-09 03:40:13
程序的主功能函数在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。
是不是数据类型的大小在不同的平台下而不同造成的?
请大侠们指导下啊!
...全文
379 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hitzi 2011-05-16
  • 打赏
  • 举报
回复
我在matlab给C++传数据时也出现了这个问题。。不解。。
TandyT 2011-03-10
  • 打赏
  • 举报
回复
没搞过C++ Matlab 混合编程的,既然第一个都能正常传输,后面的肯定也可以的
direction917 2011-03-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 tandyt 的回复:]
没搞过C++ Matlab 混合编程的,既然第一个都能正常传输,后面的肯定也可以的
[/Quote]

是不是对齐方式有问题,该怎么排查?

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧