📄 contmax.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 + -