Matlab调用C/C——matlab向C++传数组
来源:互联网 发布:mac win启动U盘 编辑:程序博客网 时间:2024/06/05 00:41
解析matlab数组和C++数组的区别:
(1)matlab可以不用声明,直接使用;C++使用前必须声明。
(2)matlab数组下标从1开始;C++数组下标从0开始。
(3)matlab数组是列优先;C++数组行优先。
二维数组:
void mexFunction( int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]){ double *a_ptr; const int *dim_array; int number_of_dims; a_ptr=mxGetPr(prhs[0]); number_of_dims = mxGetNumberOfDimensions(prhs[0]); //获取维数 dim_array = mxGetDimensions(prhs[0]); //维数数组 //二维可以用 mxGetM, mxGetN,获得矩阵的行数和列数 int numARows = *dim_array; int numACols = *(dim_array+1); printf("%d %d \n",numARows,numACols); int i,j,k; printf("%f\n", a_ptr[0]); //打印数据 for (i=0;i<numARows; i++) { for (j=0; j<numACols; j++) { printf("%f ", a_ptr[j*numARows+i]); } printf("\n"); }}
结果输出:
三维数组:
#include "mex.h"void mexFunction( int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]){ double *a_ptr; const int *dim_array; int number_of_dims; a_ptr=mxGetPr(prhs[0]); number_of_dims = mxGetNumberOfDimensions(prhs[0]); //获取维数 dim_array = mxGetDimensions(prhs[0]); //维数数组 int numARows = *dim_array; //行数 int numACols = *(dim_array+1); //列数 int numALays = *(dim_array+2); //第三维 printf("%d %d %d \n",numARows,numACols,numALays); int i,j,k; printf("%f\n", a_ptr[0]); //打印数据 for(k=0; k<numALays; k++) { for (i=0;i<numARows; i++) { for (j=0; j<numACols; j++) { //matlab的数组标号与C++的数组编号的对应 printf("%f ", a_ptr[numARows*numACols*k+j*numARows+i]); } printf("\n"); } }}
输出结果:
0 0
- Matlab调用C/C——matlab向C++传数组
- C语言调用Matlab
- matlab调用C文件
- Matlab调用c程序
- C#(VS2008)调用Matlab
- MATLAB调用C程序
- C调用MATLAB函数
- matlab调用C代码
- matlab调用c dll
- Matlab调用c文件
- Matlab调用C程序
- matlab调用c程序
- matlab调用C语言
- matlab调用C程序
- C/C++调用matlab
- c语言调用matlab
- matlab调用C程序
- matlab调用C程序
- 项目开发,我的名字不可能这么可爱——开篇
- IOS构建XMPP开发
- 查看电脑中打开端口的命令
- resolveActivity----对隐式Intent的运行时检查保护
- fatal error LNK1181: 无法打开输入文件“libcd.lib”
- Matlab调用C/C——matlab向C++传数组
- DEVICE_ATTR 和 sysfs 的东西 -- sysfs_create_group
- JDK目录文件说明
- 命令行安装卸载驱动服务
- AJAX responseXML 实例着重点的说明
- finalize()与System.gc()
- live555移植到Android过程.
- IOS学习之UINavigationController详解与使用(一)添加UIBarButtonItem
- 关于Struts、Hibernate、Spring的简单理解