微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有了这些等式,如果我们知道一年中每个部门的初始工作人数,我们就可以估算出以下所有部门的人数

如何解决有了这些等式,如果我们知道一年中每个部门的初始工作人数,我们就可以估算出以下所有部门的人数

示例:

> M <- matrix(c(0.75,0.2,0.12,0.1,0.55,0.22,0.15,0.25,0.66),ncol = 3,byrow = T)
> init <- c(30000,40000,30000) # initial number of workers

> fenwick_workforce(10,init,M)

我怎样才能得到低于输出的结果?

   Agro  Inds  Serv 
1  30000 40000 30000
2  34100 31600 34300
3  36011 28336 35653
4  36954 27030 36017
5  37444 26486 36072
6  37709 26248 36046
7  37857 26137 36009
8  37941 26083 35979
9  37990 26055 35958
10 38018 26040 35945
11 38035 26032 35936

解决方法

没有太多关于 fenwick_workforce 函数功能的信息,但根据您的输出,它看起来 M 是一个马尔可夫转换矩阵。

您可以通过将前一行乘以转置转换矩阵来从输出中获取每一行。

以下代码输出预期:

M <- matrix(c(0.75,0.2,0.12,0.1,0.55,0.22,0.15,0.25,0.66),ncol = 3,byrow = T)
init <- c(30000,40000,30000) 
Y <- matrix(NA,nrow=11,ncol=ncol(M))
Y[1,] <- init
for (i in 2:nrow(Y)) {
  Y[i,] <- Y[i-1,] %*% t(M)
}
Y

输出

> Y
          [,1]     [,2]     [,3]
 [1,] 30000.00 40000.00 30000.00
 [2,] 34100.00 31600.00 34300.00
 [3,] 36011.00 28336.00 35653.00
 [4,] 36953.81 27029.56 36016.63
 [5,] 37443.27 26485.30 36071.44
 [6,] 37708.08 26246.96 36044.96
 [7,] 37855.85 26136.53 36007.63
 [8,] 37940.11 26082.35 35977.54
 [9,] 37988.85 26054.36 35956.78
[10,] 38017.33 26039.28 35943.40
[11,] 38034.06 26030.88 35935.06

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。