matlab矩形序列代码
sam-balance
社会核算矩阵的账户集结与平衡
首先使用0-1矩阵法集结账户,然后使用直接交叉熵法平衡SAM,具体流程为:
使用Matlab软件从Excel文件读入原始数据
分别左乘和右乘相应的矩阵集结账户
输出集结后的SAM数据到Excel文件
使用GAMS软件读入上一步输出的SAM数据
优化得到平衡后的SAM数据
输出到Excel文件
合并矩阵
假设$\alpha$是一个元素为0或1的行向量,则根据矩阵乘法运算规律可知,矩阵$M$左乘$\alpha$的效果为:将矩阵$M$的某些行相加,而这些行恰好是行向量$\alpha$中元素1对应的位置。同理,矩阵$M$右乘元素为0或1的列向量$\beta$,可以将$\beta$中元素1位置对应矩阵$M$的列求和。因此,得到如下结论:
左乘0-1行向量可以合并行,右乘0-1列向量可以合并列。
于是,将合并不同行的行向量$(\alpha_1,
\alpha_2,
\cdots)$组合为矩阵$A$;由于需要合并的列与行是相对应的,所以右乘的合并矩阵即为$A$的转置矩阵$A^T$。最终,合并后的矩阵$N=A,M,A^T$
2022-05-08 15:40:29
4KB
系统开源
1