|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 eecsseudl 于 2013-4-29 09:58 编辑
大家好,我最近在用c编一个程序,在用matlab的mexFunction读这个c程序的时候,matlab读不出数?
c程序如下【根据输入num,生成100个数据ch】:
//=======
#include "matrix.h"
void CWG(number,ch)
int number,*ch;
{
int j,reg,regester1,regester;
int a[10]={1,0,1,1,0,1,0,1,0,1};
switch(number)
{
case 1:
reg=0;
break;
default:
reg=1;
break;
}
for (i=1;i<=100;i++)
{
regester=reg^a[3];
*(ch++)=regester^a[9];
regester1=a[6]^a[9];
for (j=9;j>0;j--)
{
a[j]=a[j-1];
}
a[0]=regester1;
}
}
#include "mex.h"
void mexFunction(int nlhs,mxArray *plhs[],int nrhs,const mxArray *prhs[])
{
int i,j,number_sat,*ch;
number = mxGetScalar(prhs[0]);
/*
for (i=0; i<nlhs; i++)
{
plhs=mxCreateDoubleMatrix(1,1,mxREAL);//′′?¨ê?3????ó
}
*/
ch = mxGetPr(plhs[0]);
CWG(number,ch);
}
//=======
我的问题是:
在matlab的命令行中输入:mex CWG.c
CWG(1,ch);之后ch没有东西出来,而且matlab还报了一堆看不懂的错。
在matlab的mexfunction中,应该怎么操作才能够使CWG模块能够根据输入number输出ch呢?
我把CWG中的ch指针赋给mexfunction的plhs了,按照我的理解ch应该输出相应的值撒。
=====
各位大侠,麻烦帮我看看mexfunction应该怎么写?
CWG那个模块是对的,现在的问题就是mexfunction应该怎么写的问题。。。
急呀,谢谢您了。。。
|
|