[問題] Matlab call C已回收
請問各位大大,小弟寫了一個MEX檔,complier沒問題,但是實際執行卻出事了
假設輸入為x=[5 1 1] ; y=[1 2 2] ;xo=[5 2 2] ;yo=[1 3 3]
#include "mex.h"
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
int gp,w,i,q;
double *x,*y,*xo,*yo;
x = mxGetPr(prhs[0]);
y = mxGetPr(prhs[1]);
xo = mxGetPr(prhs[3]);
yo = mxGetPr(prhs[4]);
q=mxGetN(prhs[0]);
w=mxGetN(prhs[3]);
plhs[0] = mxCreateDoubleMatrix(1,q,mxREAL);
plhs[1] = mxCreateDoubleMatrix(1,q,mxREAL);
x= mxGetPr(plhs[0]);
y = mxGetPr(plhs[1]);
gp=0;
while (gp<q)
{ for(i=0;i<w;i++)
{if (x[gp]==xo[i] && y[gp]==yo[i])
{x[gp]=0;
y[gp]=0;}
else
{x[gp]=x[gp];
y[gp]=y[gp];}
}
}
gp++;
}
正常來說,我期望的輸出是x=[0 1 1] ;y=[0 2 2]但是我跑了以後陷進去了出不來了
請求各路好手支援一下感恩~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.46.197.40
推
03/16 12:37, , 1F
03/16 12:37, 1F