Matlab求解离散型二维随机变量的概率密度分布

数学公式什么的没有。

做实验计算联合熵需要使用概率密度。

函数accumarray不是太行,方阵中很多的0浪费内存,我可没有几百G的内存ε=(´ο`*)))唉。

Matlab代码实现

function tong1joint = calmi(u1, u2, wind_size)
x = [u1, u2];   //% x是2个列向量组成的矩阵
n = wind_size; // % 列向量长度
xmax = max(x(:,1));
tongwidth = xmax;
tong1 = zeros(2,tongwidth);	// % 这算是桶吧
for i = 1:n
   if x(i,2) == 1
       tong1(1,x(i,1)) = tong1(1,x(i,1)) +1;
   else
       tong1(2,x(i,1)) = tong1(2,x(i,1)) +1;
   end
end
tong1pmf = tong1/n;  													 //% u1和u2的联合概率密度
tong1joint = (tong1pmf(:))'*log2((tong1pmf(:))+eps);   // % 联合熵

实例

没有实例。

猜你喜欢

转载自blog.csdn.net/Chauncyxu/article/details/117330483