簡體   English   中英

如何使用 Matlab 中的泊松分布進行計算?

[英]How to calculate with the Poisson-Distribution in Matlab?

我過去使用過 Excel,但包括泊松分布在內的計算需要一段時間,這就是我切換到 SQL 的原因。 很快我就意識到 SQL 可能不是處理統計問題的正確解決方案。 最后我決定改用 Matlab 但我一點也不習慣,我的問題如下:

我已經導入了 a.csv-table 並且有兩列帶有值,比如說AB (110 x 1 double) 這些值都是我的泊松計算的輸入值。 因為我想至少計算前 20 個事件,所以我創建了一個變量z =1:20。

當我現在計算假設 New = Poisspdf(z,A) 時,它表示非標量 arguments 之類的大小必須匹配。 Z 只有 20 條記錄,但Al都有 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) 中,我希望在單元格 (1,2) 中獲得 Poisspdf(0,value of A).*Poisspdf(0,value of B) 的結果: Poisspdf(0,value A).*Poisspdf(1,B 值),在單元格(2,1) 中:Poisspdf(1,A 值).*Poisspdf(0,B 值),依此類推...假設它是在格式單元格(行,列)中

最后,我想總結每個 20x20 矩陣的某些部分,並在新列中顯示總結部分的結果。

有沒有人可以幫忙? 非常感謝!

編輯: Excel中的泊松矩陣

Excel 中的泊松矩陣

在 Excel 中存在泊松函數: POISSON(x, μ, FALSE) = 概率密度 function 值 f(x) 在值 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)

, 等等。

我不確定我是否完全理解你的問題。 我寫的這段代碼可能對你有幫助:

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 = repmat(poisspdf(zA,lambdaA),1,20) .* repmat(poisspdf(zB,lambdaB)',20,1);

% Sum
sumFinal = sum(results,2);

讓我知道這是否是你想要做的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM