を使用して MEX で疎行列を作成しましたmxCreateSparse
。
mxArray *W;
W=mxCreateSparse(n*n,n*n,xsize,mxREAL);
double *wpoint;
wpoint=mxGetPr(W);
for(p=0;p<xsize;p++)
{
Wpoint[(returnindex1(xi[p][0],xi[p][1])-1)*n*n + (returnindex1(xj[p][0],xj[p][1]))]= exp(-df[p]/(SIGMAI*SIGMAI)) * exp(-dx[p]/(SIGMAJ*SIGMAJ));
}
由来する最大値(returnindex1(xi[p][0],xi[p][1])-1)*n*n + (returnindex1(xj[p][0],xj[p][1]))
はn*n*n*n
であり、次元の疎行列を作成しました(n*n)X(n*n)
マトリックス全体を表示すると、ゼロ要素の一部がジャンクになります。また、 の値が大きい場合、n
でセグメンテーション違反が発生しwpoint
ます。