⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 contmax.m

📁 信道容量的迭代算法 用matlab实现
💻 M
字号:
function [P_X,C,N]=contmax(P_YX,e)%    计算任意信道的信道容量C及最佳输入分布P_X%    P_X -------输入概率分布%    C----------信道容量%    N----------迭代次数%    P_YX-----DMC信道的转移矩阵%    e-----------精度if length(find(P_YX<0)~=0)    error('Not a probable vector.Negtive component');endif abs(sum(P_YX')-1)>10e-10    error('Not a probable vector,Component do not add up to "1" ');end% 变量初始化    C1=1;C=0;N=0;    r=size(P_YX);P_X=ones(1,r(1))/r(1);% 调整P_YX的零元素值        Pyx=(P_YX==0).*eps;P_YX=P_YX+Pyx;% 迭代求解while (abs(C1-C))>e    P_Y=P_X*P_YX;          I1=sum((P_YX.*log2(P_YX))');    I2=log2(P_Y)*(P_YX'); BETA=exp(I1-I2);    B=P_X*(BETA');    C1=log(B);C=log(max(BETA));    P_X=P_X.*BETA/B;    N=N+1;end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -