_edittointtol.mata

来自「是一个经济学管理应用软件 很难找的 但是经济学学生又必须用到」· MATA 代码 · 共 37 行

MATA
37
字号
*! version 1.0.0  15oct2004
version 9.0
mata:

void _edittointtol(numeric matrix x, real scalar usertol)
{
	real scalar	tol 
	real scalar	i, j, r, c
	real scalar	rx, ix, rxr, ixr
	complex scalar	z

	if ( (tol = abs(usertol)) == .) return
	r = rows(x)
	c = cols(x)
	if (isreal(x)) { 
		for (i=1;i<=r;i++) { 
			for (j=1;j<=c;j++) {
				rxr = round(rx=x[i,j])
				if (abs(rx-rxr)<=tol) x[i,j] = rxr 
			}
		}
	}
	else {
		for (i=1;i<=r;i++) { 
			for (j=1;j<=c;j++) { 
				rxr = round(rx = Re(z=x[i,j]))
				ixr = round(ix = Im(z))
				if (abs(rx-rxr)<=tol) rx = rxr
				if (abs(ix-ixr)<=tol) ix = ixr
				x[i,j] = C(rx,ix) 
			}
		}

	}
}
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?