// 部分参考https://blog.csdn.net/yshshhgxq/article/details/91351535
#include "mex.h"
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
double *inData; //matlab输进来的矩阵
double *outData; //C++输入matlab的矩阵
int M, N;
int i, j;
inData = mxGetPr(prhs[0]);
M = mxGetM(prhs[0]); //获取输入矩阵的行数
N = mxGetN(prhs[0]); //获取输入矩阵的列数
plhs[0] = mxCreateDoubleMatrix(M, N, mxREAL); //根据输入矩阵行数、列数创建输出到matlab的参数
outData = mxGetPr(plhs[0]); //赋值
for (i = 0; i < M; i++)
for (j = 0; j < N; j++)
//outData[j*M + i] = inData[(N - 1 - j)*M + i];
outData[j*M + i] = inData[j*M + i];
}
mexFunction之创建矩阵(matlab调用C++程序)
最新推荐文章于 2023-09-23 21:27:30 发布