我有以下向量:
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出错:要求非标量参数匹配大小。)
提前致谢!
答案 0 :(得分:1)
您正在处理两个维度,即您为不同的p
计算lambda
,但也会进行整合,直到达到不同的s
。 lambda
明确循环后,您可能会更清楚地看到这一点:
n_p = length(lambda)
p = zeros(n_p, 1);
for k = 1 : n_p
p(k) = sum(poisspdf(0:s(k), lambda(k)))
end