⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 _diag2mat.ado

📁 是一个经济学管理应用软件 很难找的 但是经济学学生又必须用到
💻 ADO
字号:
*! version 1.0.0  25aug2002
program define _diag2mat
	version 8.0

	syntax , Mat(string) Dmat(string) Rows(integer) Cols(integer) /*
		*/[ COrder ]

	capture confirm matrix `mat'
	if _rc > 0 {
		di as err "mat() does not define a marix"
		exit 198
	}

	tempname mat2
	mat `mat2' = `mat'

	local mrows = rowsof(`mat2')
	local mcols = colsof(`mat2')

	if `mrows' != `mcols' {
		di as err "diag2mat only works on square matrices"
		exit 198
	}

	if `mcols' != `rows'*`cols' {
		di as err "rows() * cols() is not equal to number of " /*
			*/ "diagonal elements in mat()"
			exit 198
	}

 	mat `dmat' = J(`rows',`cols', 0)
	
	if "`corder'" == "" {
		forvalue i = 1/`rows' {
			forvalue j = 1/`cols' {
				mat `dmat'[`i',`j'] = 			/*
					*/ `mat2'[`j'+(`i'-1)*`cols', 	/*
					*/ `j'+(`i'-1)*`cols']
			}
		}
	}
	else {
		forvalue i = 1/`rows' {
			forvalue j = 1/`cols' {
				mat `dmat'[`j',`i'] = 			/*
					*/ `mat2'[`j'+(`i'-1)*`cols', 	/*
					*/ `j'+(`i'-1)*`cols']
			}
		}
	}
	
end

⌨️ 快捷键说明

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