小编 P*_*koV的帖子

MEX功能不会初始化左手值

我必须使用MEX函数,该函数应该分配矩阵并填充它(例如,创建一个单位矩阵).这是一个代码示例:

#include <stdlib.h>
#include "mex.h"

void sample(int n, double** T)
{
     (*T) = (double*)malloc(n*n*sizeof(double));  
     int i, j;
     if ((*T) == NULL)
     {
        return;
    }
    else
    {
        for (i = 0; i < n; i++)
        {
            for (j = 0; j < n; j++)
            {
                if (i != j)
                    (*T)[i*n + j] = 0;
                else 
                    (*T)[i*n + j] = 1;
             }
        }
    }
}

void mexFunction( int nlhs, mxArray *plhs[],
                  int nrhs, const mxArray *prhs[] )
{
    mwSize n = *(mwSize*)mxGetData(prhs[0]); …
Run Code Online (Sandbox Code Playgroud)

c matlab mex

2
推荐指数
1
解决办法
60
查看次数

标签 统计

c ×1

matlab ×1

mex ×1