第五讲 线性代数基础与应用
樊潇彦
复旦大学经济学院
经济数学
1. 课件下载
Ch05.pdf2152.6kB
2. 程序附录
setwd("D:\\...")
2.1 矩阵运算的基本命令
A = matrix(1:9,nrow=3) # 建立矩阵
apply(A,1,sum) # 行加总
apply(A,2,sum) # 列加总
a=A[,1]; t(a)%*%a # 欧氏范数
I=diag(3) # 3维单位阵
A_T = t(A) # 转置
B=A+I # 加法
solve(B) # 求逆
A%*%B # 矩阵乘法
2.2 求解线性方程组:剑桥食谱
A=matrix(c(36,51,13,
52,34,74,
0,7,1.1),nrow=3,byrow=T)
b=c(33,45,3)
solve(A,b)
2.3 投入-产出表
M=matrix(c(15,20,30,
30,10,45,
20,60,0),nrow=3,byrow=T) # 中间投入矩阵
d=c(35,115,70) # 最终需求
x=c(100,200,150) # 总产出
A=M/matrix(rep(x,each=3),nrow=3) # 直接消耗系数矩阵
solve(diag(3)-A)%*%d # 检验最终产出公式
solve(diag(3)-A)%*%c(100,200,300) # P185 最终需求变化对总产出的影响
2.4 特征值和特征向量
M=matrix(c(3,1,2,4),nrow=2)
lambda=eigen(M)$value
ev=eigen(M)$vectors
ev[,1]*lambda[1]
ev[,2]*lambda[2]
2.5 稳态人口分布
# 自已写一个可以计算矩阵的幂的函数
mat_power = function(A, n){
Apower=A
for (i in 2:n) Apower= Apower %*% A
return(Apower)
}
P=matrix(c(0.95,0.05,0.03,0.97),nrow=2,byrow=T) # 人口迁移的转移矩阵
P_star=mat_power(P,300) # 计算稳态转移矩阵
round(eigen(t(P))$values,2) # 求特征值
ev=eigen(t(P))$vectors # 求左特征向量
x=ev[,1]/sum(ev[,1]) # 将特征值为1的特征向量正规化
# 比较三种稳态人口比例
x
x%*%P
P_star[1,]
2.6 宏观经济模型
c=0.9; beta=0.5
K=matrix(c(c,c,beta*(c-1),beta*c),nrow=2,byrow=T)
eigen(K)
C0=100; I0=1000
v=c(C0,I0+beta*C0)
solve(diag(2)-K)%*%v