24小时热门版块排行榜    

查看: 211  |  回复: 4
当前主题已经存档。

徐启远

木虫 (小有名气)

[交流] 用C语言编写的MEX文件

//Matlab_1.cpp]
#include "mex.h"
void hilb( double *PHO1,int k,double *y)
{ int i,j;
    int m,n;
    for(m=0;n      for(n=0;n      for(i=0;i       for(j=0;j       y[j+i*n]=((double)i+(double)j);
      PHO1[n*k+j+(m*k+i)*k*k]= y[j+i*n]+((double)m+(double)n);
                }
void mexFunction(int nlhs,mxArray *plhs[],int nrhs,const mxArray *prhs[])
     { double *PHO1;int k,M;
        k=mxGetScalar(prhs[0]);
         M=k*k;
        plhs[0]=mxCreateDoubleMatrix(M,M,mxREAL);
         PHO1=mxGetPr(plhs[0]);
         hilb(PHO1,k);}   
在MATLAB环境下运行出现错误如下
lcc preprocessor warning: RE.c:20 No newline at end of file
Error RE.c: 20  insufficient number of arguments to `hilb'
1 errors, 1 warnings
最后一行为第20行,希望高手能指点一下

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

徐启远

木虫 (小有名气)

【求助】关于MEX文件

//Matlab_1.cpp]
#include "mex.h"
void hilb( double *PHO1,int k,double *y)
{ int i,j;
    int m,n;
    for(m=0;n      for(n=0;n      for(i=0;i       for(j=0;j       y[j+i*n]=((double)i+(double)j);
      PHO1[n*k+j+(m*k+i)*k*k]= y[j+i*n]+((double)m+(double)n);
                }
void mexFunction(int nlhs,mxArray *plhs[],int nrhs,const mxArray *prhs[])
     { double *PHO1;int k,M;
        k=mxGetScalar(prhs[0]);
         M=k*k;
        plhs[0]=mxCreateDoubleMatrix(M,M,mxREAL);
         PHO1=mxGetPr(plhs[0]);
         hilb(PHO1,k);}   
用C编写的MEX文件
在MATLAB里面运行结果如下

lcc preprocessor warning: RE.c:20 No newline at end of file
Error RE.c: 20  insufficient number of arguments to `hilb'
1 errors, 1 warnings
hilb(PHO1,k);}为第20行,希望高手能帮修改一下
2楼2009-03-11 15:44:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chcwaaa

木虫 (正式写手)


徐启远(金币+1,VIP+0):一般 3-11 16:11
hlib明明有3个变量,少一个吧
3楼2009-03-11 16:01:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

徐启远

木虫 (小有名气)

[quote]Originally posted by chcwaaa at 2009-3-11 16:01:
hlib明明有3个变量,少一个吧 [/quote
是两个啊,我的QQ是569593780,欢迎加入进行探讨
4楼2009-03-11 16:10:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jerryking

木虫 (正式写手)


徐启远(金币+1,VIP+0):一般 3-19 11:21
人家说的 是你上面的变量定义的是三个

把上面的 double *y 放到下面去 应该就ok了
5楼2009-03-11 22:08:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 徐启远 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见