来自Generator Matrix的Matlab PHD

时间:2016-07-23 12:44:32

标签: matlab symbolic-math markov-chains exponentiation

我正在研究阶段型分布。基本上,在有向图上定义相位类型分布,其中节点具有指数保持时间,并且您想要知道在到达吸收状态之前的时间分布。因此,相位类型分布由初始概率向量PI和发生器矩阵D0(其实际上仅捕获有向图的结构)定义。对于给定的PI和D0,分布由

正式给出
F(t) = 1-PI * exp(D0 * t) * TAU 

其中TAU是与PI大小相同的向量。对于复杂的D0,几乎不可能手工找到精确的形状,因为矩阵是指数的。但是,使用Matlab,可以快速得到答案:

syms L H t
D0 = [-L , L , 0 , 0 , 0 , 0 , 0 , 0 ; 
0 , -L , L , 0 , 0 , 0 , 0 , 0 ;
0 , 0 , -H , H , 0 , 0 , 0 , 0 ; 
0 , 0 , 0 , -L , L , 0 , 0 , 0 ; 
0 , 0 , 0 , 0 , -L , L , 0 , 0 ; 
0 , 0 , 0 , 0 , 0 , -H , H , 0 ; 
0 , 0 , 0 , 0 , 0 , 0 , -L , L ;
0 , 0 , 0 , 0 , 0 , 0 , 0 , -L ];
PI = [1, 0, 0, 0, 0, 0, 0, 0];
TAU = ones(8, 1);
DISTR = symfun(1-PI*expm(D0*x)*TAU, [L H t]);
PDF = symfun(diff(DISTR, x), [L H t]);

这里L和H意味着是下面指数分布的保持时间的两个参数,t是时间。我的问题是,我可以信任DISTR和PDF多少钱? Matlab是完全正确地进行计算还是数值近似?输出似乎肯定是分析性的(虽然非常混乱)。对于特定的L = 1和H = 2,您可以简单地执行

PDF(1, 2, x)

获取相关分布,系数为分数形式。例如,上面给出了

12*exp(-x) - 13*exp(-2*x) - 12*x*exp(-x) - 2*x*exp(-2*x) + 4*x^2*exp(-x) - (4*x^3*exp(-x))/3 + (x^4*exp(-x))/6 - (x^5*exp(-x))/30 + 1

其中似乎是"确切的"形式,并不像一个近似...此外,数值模拟表明,这个公式至少近似正确。

提前致谢!

取值

0 个答案:

没有答案