用概率计算填充向量

时间:2014-09-26 13:48:24

标签: matlab

我有以下向量:

s = [1 0 2];
lambda = [1 2 3];

这些矢量可以是n维的,而不仅仅是三维的。基于这些信息,我想创建一个“概率向量”:

p = [poisspdf(0, lambda(1))+poisspdf(1, lambda(1)) poisspdf(0,lambda(2)) poisspdf(0,lambda(3))+poisspdf(1,lambda(3))+poisspdf(2,lambda(3))]

因此,向量s确定每个概率向量元素有多少项,例如s(1)= 3表示p(1)= P(X = 0)+ P(X = 1)+ P(X = 2)。

我试过这样的事情:

p = sum(poisspdf(0:s,lambda));

然而,这仅适用于s = [0 0 0]并且在s = [1 0 0]时崩溃,依此类推。 (poisspdf出错:要求非标量参数匹配大小。)

提前致谢!

1 个答案:

答案 0 :(得分:1)

您正在处理两个维度,即您为不同的p计算lambda,但也会进行整合,直到达到不同的slambda明确循环后,您可能会更清楚地看到这一点:

n_p = length(lambda)
p = zeros(n_p, 1);
for k = 1 : n_p
    p(k) = sum(poisspdf(0:s(k), lambda(k)))
end