📄 removeone.c
字号:
#include "mex.h"
void mexFunction (int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
double *R,*z;
int i_out,i,j,mrows,ncols,mrowsr,ncolsr;
R = mxGetPr(prhs[0]);
i_out = mxGetScalar(prhs[1]);
i_out = i_out-1;
mrows = mxGetM(prhs[0]);
ncols = mxGetN(prhs[0]);
mrowsr = mrows-1;
ncolsr = ncols-1;
plhs[0] = mxCreateDoubleMatrix(mrowsr,ncolsr,mxREAL);
z = mxGetPr(plhs[0]);
for (i=0;i<i_out;i++)
{
for(j=0;j<i_out;j++)
{
*(z+i*ncolsr+j) = *(R+i*ncols+j)-*(R+i*ncols+i_out)* *(R+i_out*ncols+j)/ *(R+i_out*ncols+i_out);
}
}
for (i=0;i<i_out;i++)
{
for (j=i_out;j<mrowsr;j++)
{
*(z+i*ncolsr+j) = *(R+i*ncols+j+1)-*(R+i*ncols+i_out)* *(R+i_out*ncols+j+1)/ *(R+i_out*ncols+i_out);
}
}
for (i=i_out;i<ncolsr;i++)
{
for (j=0;j<i_out;j++)
{
*(z+i*ncolsr+j) = *(R+(i+1)*ncols+j)-*(R+(i+1)*ncols+i_out)* *(R+i_out*ncols+j)/ *(R+i_out*ncols+i_out);
}
}
for (i=i_out;i<ncolsr;i++)
{
for (j=i_out;j<mrowsr;j++)
{
*(z+i*ncolsr+j) = *(R+(i+1)*ncols+j+1)-*(R+(i+1)*ncols+i_out)* *(R+i_out*ncols+j+1)/ *(R+i_out*ncols+i_out);
}
}
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -