欢迎来到天天文库
浏览记录
ID:55687022
大小:115.00 KB
页数:4页
时间:2020-05-24
《信道容量的迭代算法的C语言程序.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、C语言程序:#include#include#includeintmain(){intr,s,i,j,k=0;doublep[20];%存放输入信源概率矩阵doublez[20];doubleq[20][20];%存放信道转移概率矩阵doubleF[20][20];%存放的概率分布矩阵的转置doublex,y,a;doubleepsilon=1e-5;%门限doubleC=-1000.0;%取初始迭代时的信道容量为一个较大的负数printf("请输入信源符号个数:");sca
2、nf("%d",&r);printf("请输入信宿符号个数:");scanf("%d",&s);printf("请输入信道转移概率矩阵:");for(i=0;i3、[i][j]);%x为的分母部分if(x>0)for(i=0;i0)z[i]=z[i]+(q[i][j]*(log(F[i][j])/log(2.0)));%z[i]为的分子部分}z[i]=(pow(2.0,z[i]));y=y+4、z[i];%z[i]为的分母部分}for(i=0;iepsilon);printf("迭代次数为;k=%d",k);%输出迭代次数printf("最佳信源分布为:");for(i=0;i5、.3lfbit",C);%输出信道容量,保留3位小数}问题1的执行结果:问题2的执行结果:
3、[i][j]);%x为的分母部分if(x>0)for(i=0;i0)z[i]=z[i]+(q[i][j]*(log(F[i][j])/log(2.0)));%z[i]为的分子部分}z[i]=(pow(2.0,z[i]));y=y+
4、z[i];%z[i]为的分母部分}for(i=0;iepsilon);printf("迭代次数为;k=%d",k);%输出迭代次数printf("最佳信源分布为:");for(i=0;i5、.3lfbit",C);%输出信道容量,保留3位小数}问题1的执行结果:问题2的执行结果:
5、.3lfbit",C);%输出信道容量,保留3位小数}问题1的执行结果:问题2的执行结果:
此文档下载收益归作者所有