如何在Matlab中使用泊松分布进行计算?

问题描述 投票:1回答:1

我过去使用过Excel,但是包括Poisson-Distribution在内的计算都花了一段时间,这就是为什么我改用SQL的原因。很快,我意识到SQL可能不是解决统计问题的合适解决方案。最后,我决定切换到Matlab,但我一点也不习惯,我的问题是:

我导入了一个.csv表,并且有两列带有值的,例如AB(110 x 1双)这些值都是我的泊松计算的输入值。由于我想至少计算前20个事件,因此我创建了一个变量[[z = 1:20。

当我现在计算时,新= Poisspdf(z,A),它说类似非标量参数的大小必须匹配。Z仅具有20条记录,但

A

l均具有110条记录。因此,我将Z = 1:110展开并转置:Znew = Z。当我现在尝试执行实际计算时:

结果= Poisspdf(Znew,A)。* Poisspdf(Znew,B)

我总是只得到一个100x1的向量,但我想要的是一个矩阵,对于A和B的每个记录都是20x20(根据我对

z

= 1:20的实际选择,我只更改为z = 1:110,因为Matlab告知它们必须匹配大小)。因此,在此20x20矩阵中,每个单元格中始终应该存在略有不同的计算结果(Poisspdf(Znew,A)。* Poisspdf(Znew,B))。例如,在第一个单元格(1,1)中,我想要得到Poisspdf(0,A的值)。* Poisspdf(0,B的值),在储存格(1,2)中:Poisspdf(0,A的值)。* Poisspdf(1,B的值),在储存格(2,1)中:Poisspdf(1,A的值)。* Poisspdf(0,B的值),依此类推...假设它位于“格式”单元格(行,列)最后,我想对每个20x20矩阵的某些部分求和,并在新列中显示求和部分的结果。

有人可以提供帮助吗?非常感谢!

编辑:Poisson-Matrix in Excel

Excel中的泊松矩阵

在Excel中具有泊松函数:POISSON(x,μ,FALSE)=平均值为Poisson分布的x值处的概率密度函数值f(x)。

例如上表中的AD313单元有以下计算:

= POISSON(0; A的第一值; FALSE)* POISSON(0; B的第一值; FALSE)

,在AD314单元格中= POISSON(1; A的第一个值; FALSE)* POISSON(0; B的第一个值; FALSE)

,在AE313单元格中

= POISSON(0; A的第一值; FALSE)* POISSON(1; B的第一值; FALSE)

,依此类推。

excel matlab statistics poisson
1个回答
0
投票
我不确定我是否完全理解你的问题。我写了这段代码可能对您有帮助:

clear; clc % These are the lambdas parameters for the Poisson distribution lambdaA = 100; lambdaB = 200; % Generating Poisson data here A = poissrnd(lambdaA,110,1); B = poissrnd(lambdaB,110,1); % Get the first 20 samples zA = A(1:20); zB = B(1:20); % Perform the calculation results = poisspdf(zA,lambdaA) * poisspdf(zB,lambdaB)'; % Sum sumFinal = sum(results,2);

让我知道您是否正在尝试这样做。
© www.soinside.com 2019 - 2024. All rights reserved.