我对 mxGetPr 做错了什么

试图解决

请考虑这段代码的摘录 mexFunction

\\cppfunc.cpp

void mexFunction(int nlhs,mxArray *plhs[],int nrhs,const mxArray *prhs[]){

  \\...Parts where I check the number of lhs and rhs

  double* upper = mxGetPr(prhs[0]);
  double* lower = mxGetPr(prhs[1]);
  double* grids = mxGetPr(prhs[2]);

  mexPrintf("upper 1=%d  \n\n", upper[0] ); 

}

我计划像这样调用我的 mex 函数cppfunc([1 2 3], [1 2 3], [1 2 3])基本上,它接受三个MATLAB向量并通过 打印出第一个输入向量的第一个元素mexPrintf输出应该是1. 但是,它返回:

upper 1=3.

在我看来,该函数正在返回第一个输入向量的长度。例如,如果我这样做cppfunc([1 2 3 4], [1 2 3], [1 2 3]),它将返回upper 1=4.

我认为我%d在调用中使用是正确的mexPrintf因为mxGetPr将输入转换为双精度数组。我错过了什么?

奥尼尔

格式%d适用于类型为 的整数值int你必须使用%ffor doubles。
请参阅printf 的文档

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

¿我做错了什么?

来自分类Dev

我在球衣Java课上做错了什么?

来自分类Dev

我在继承问题上做错了什么?

来自分类Dev

获取500 statusCode我做错了什么

来自分类Dev

我在大学课程中做错了什么

来自分类Dev

导航栏 。我做错了什么?

来自分类Dev

我对这个bash变量做错了什么?

来自分类Dev

JComboBox。我究竟做错了什么?

来自分类Dev

回文检查器-我做错了什么?

来自分类Dev

Matlab:我做错了什么?(索引)

来自分类Dev

验证输入。我究竟做错了什么?

来自分类Dev

我对数组做错了什么?

来自分类Dev

我在divs表中做错了什么

来自分类Dev

我在这里做错了什么

来自分类Dev

我究竟做错了什么?请

来自分类Dev

我的 301 重定向做错了什么?

来自分类Dev

我在这个 IF 中做错了什么?

来自分类Dev

全选?我究竟做错了什么?

来自分类Dev

mysql 创建表...我做错了什么

来自分类Dev

我在转换时做错了什么

来自分类Dev

我在 c 中用 realloc() 做错了什么?

来自分类Dev

我对 sorted() 函数做错了什么?

来自分类Dev

反应值 - 我做错了什么

来自分类Dev

php foreach 循环我做错了什么

来自分类Dev

我做错了什么?“响应式页面”

来自分类Dev

我做错了什么钩子相关

来自分类Dev

Strapi/Graphql。我究竟做错了什么?

来自分类Dev

我正在尝试利用bufferoverflow,是我做错了什么吗?

来自分类Dev

我的quickSort无法正常工作。我做错了什么?