標(biāo)題: 香農(nóng)編碼 求信源熵 編碼效率 c語言程序 [打印本頁]
作者: 李l潔 時間: 2017-6-4 09:37
標(biāo)題: 香農(nóng)編碼 求信源熵 編碼效率 c語言程序
#include<stdio.h>
#include<math.h> //使用各種數(shù)學(xué)函數(shù)
#define N 7
main()
{
int i,j;
double p[N]={0},max,sum=0,R,H=0,K1=0,n;
double q[N]={0};//概率數(shù)組
int length[N];//碼長數(shù)組
double K[N]={0},I[N]={0};//求碼長的中間數(shù)組
int a[N][N]={0};//二進(jìn)制存儲數(shù)組
for (i=0;i<N;i++)
scanf("%lf",&p[ i]);
printf("\n");
//判斷輸入概率是否正確
for(i=0;i<N;i++)
{
sum+=p[ i];
}
printf("概率之和=%lf\n",sum);
printf("\n");
if(sum==1.000000)
{
printf("輸入概率p(i):\n");
for(i=0;i<N;i++)
{
printf("p[%d]=%lf\n",i,p[ i]);
}
printf("\n");
}
else
{printf("error\n");return 0;}
//將概率進(jìn)行排序操作
for(i=0;i<N;i++)
{
for(j=i+1;j<N;j++)
{
if(p[ i]<p[j])
{
max=p[ i];
p[ i]=p[j];
p[j]=max;
}
}
}
//輸出排序后的數(shù)組
printf("排序:\n");
for(i=0;i<N;i++)
{
printf("p[%d]=%lf\n",i,p[ i]);
}
printf("\n");
//求累加概率
for(i=0;i<N;i++)
{
q[i+1]=q+p[ i];//從第二個開始加
}
//輸出累加概率數(shù)組
printf("累加概率:\n");
for(i=0;i<N;i++)
{
printf("q[%d]=%lf\n",i,q);
}
printf("\n");
//求-logp(i)
for(i=0,j=0;i<N;i++,j++)
{
K[j]=-log(p[ i])/log(2);
}
printf("-logp(i): \n");
for(j=0;j<N;j++)
printf("-logp(%d)=%.2lf\n",j,K[j]);
printf("\n");
//求碼字長度
for(i=0,j=0;i<N;i++,j++)
{
K[j]=-log(p[ i])/log(2);
I[j]=K[j]+1;
if(I[j]>(int)(I[j]))//香農(nóng)編碼的第三個步驟
length[j]=(int)I[j];
else length[j]=K[j];
K1+=p[ i]*length[j];//求平均碼長
}
//輸出碼字長度
printf("碼長:\n");
for(i=0;i<N;i++)
{
printf("length[%d]=%d\n",i,length);
}
printf("\n");
//求累加概率的二進(jìn)制形式,即碼字
for(i=0;i<N;i++)
{
for(j=0;j<length;j++)
{
q=q*2;
if(q>=1)
{
q=q-1;
a[j]=1;
}
else a[j]=0;
}
}
//輸出碼字
printf("碼字:\n");
for(i=0;i<N;i++)
{
for(j=0;j<length;j++)
printf("%d",a[j]);
printf("\n");
}
//求信源熵 編碼效率
for(i=0,j=0;i<N;i++,j++)
{
K[j]=-log(p[ i])/log(2);
H+=p[ i]*K[j];
n=H/K1;
}
printf("H(x)=%.2lf,n=%lf",H,n);
}
歡迎光臨 (http://www.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
国产精品中文在线
|
国产一区不卡
|
毛片高清
|
国产精品永久免费视频
|
黄色片视频
|
成人精品鲁一区一区二区
|
国产精品18久久久久久久
|
欧美黄色一区
|
在线视频91|
日本超碰
|
亚洲精品国产一区
|
欧美日韩综合一区
|
欧美精品一区免费
|
91精品国产乱码久久久久久久
|
99视频免费播放
|
国产成年人小视频
|
亚洲综合一区二区三区
|
综合久久网
|
成人国产精品久久
|
日韩一二区在线
|
在线观看特色大片免费网站
|
日韩欧美高清
|
精品视频一二区
|
日日操视频
|
日日操视频
|
精品一二三区
|
蜜臀av日日欢夜夜爽一区
|
成人免费在线视频
|
国产精品福利网
|
中文久久
|
亚洲色综合
|
国产欧美一区二区三区在线看
|
97视频免费|
亚洲免费精品
|
日韩伦理一区二区
|
真人女人一级毛片免费播放
|
精品国产欧美一区二区三区成人
|
亚洲麻豆
|
国产一区999|
亚洲精品无
|
欧美一级在线视频
|