[例3.6]某对称离散信道的信道转移概率矩阵P为:
1/3 1/3 1/6 1/6
1/6 1/6 1/3 1/3
计算其
最佳信源概率和信道容量C。
附:程序代码如下:
#include
#include
#define MAX 50
double Calculate_a(int k,double pa[]);
double Calculate_C1(double pa[],double a[]);
double Calculate_C2(double a[]);
int r,s;
double pba[MAX][MAX];
void main()
{
int i,j;
double C1,C2,E;
double a[MAX],pa[MAX];
E=0.000001;
printf("请输入信源符号个数r:\n");
scanf("%d",&r);
printf("请输入信宿符号个数s:\n");
scanf("%d",&s);
printf("请输入精确度E:\n");
scanf("%lf",&E);
printf("请输入信源P[ai]:\n");
for(i=0;i
最佳信源概率:\n");
for(i=0;i=E);
printf("信道容量为:%lf\n",C1/log(2));
}
double Calculate_a(int k,double pa[])
{
int i,j;
double temp,sum2=0;
for(j=0;j
1