91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 218KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-09
  • 語言: C/C++
  • 標簽:

資源簡介

信道容量的迭代算法的C語言實現,可以運行的源代碼,可以運行

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?“unistd.h“
#include?“values.h“

#define?DELTA?1e-6?/*delta?the?threshold*/

int?main?(void)
{
register?int?ij;
register?int?k;
int?rs;

float*p_i=NULL;
float**p_ji=NULL;
float**phi_ij=NULL;
float?CC_prevalidate;

float*sum=NULL;
float?p_j;
????/*?Read?the?number?fof?input?symbol:rand?the?number?of?output?symbol:s*/
fscanf(stdin“%d“&r);
fscanf(stdin“%d“&s);

????/*allocation?memory?for?p_ip_ji?andphi_ij*/
????p_i=(float*)calloc(rsizeof(float));

p_ji=(float**)calloc?(ssizeof(float));

phi_ij=(float**)?calloc?(rsizeof(float*));
for(i=0;i p_ji[i]=(float*)calloc(rsizeof?(float*));

phi_ij=(float**)?calloc(rsizeof?(float*));
for(i=0;i phi_ij[i]=(float*)?calloc(ssizeof(float));

?????/*read?the?channel?transition?probility?matrix?p_ji*/
for(i=0;i ?for(j=0;j fscanf(stdin“%f“&p_ji[i][j]);

?????/*?validate?the?input?data*/
?for(i=0;i ?{
?validate=0.0;
?for(j=0;j ?{validate+=p_ji[i][j];
?}
?if(fabs(validate-1.0)>DELTA)
?{fprintf(stdout“invalid?input?data.\n“);
?exit(-1);
?}
?}
????fprintf(stdout“statrt...\n“);

????/*initialize?the?p_i?and?phi_ij*/
for(i=0;i {p_i[i]=1.0/(float)r;
}

?????/*initialize?C?iteration?counter?:?k?and?temprory?variable*/
C=-MAXFLOAT;//MAXFLOAT?wos?defined?in?
k=0;
sum=(float*)calloc(rsizeof(float));

/*strat?iterate*/
/***********************************************/
do
{
k++;

???/*calculate?phi_ij(k)?first*/
?for(j=0;j {p_j=0.0;
??for(i=0;i???????????p_j+=p_i[i]*p_ji[i][j];

??if(fabs(p_j)>=DELTA)
for(i=0;i ?phi_ij[i][j]=p_i[i]*p_ji[i][j]/p_j;
else
for(i=0;i??????????????????phi_ij[i][j]=0.0;

}

????/*caculate?p_i(k+1)?then*/
?p_j=0.0;
?for(i=0;i?????{
?sum[i]=0.0;
?for(j=0;j ?{/*prevent?divided?by?zero*/
?if(fabs(phi_ij[i][j])>DELTA)
?sum[i]+=p_ji[i][j]*log(phi_ij[i][j])/log(2.0);
?}
?sum[i]=pow(2.0sum[i]);
?p_j+=sum[i];

}

?for(i=0;i ?{
?p_i[i]=sum[i]/p_j;
?}
???/*and?C(k+1)*/
??C_pre=C;
??C=log(p_j)/log(2.0);
}
while(fabs(C-C_pre)/C>DELTA);


free(sum);
sum=NULL;

/*Output?the?result*/
fprintf(stdout“The?iteration?number?is?%d.\n\n“k);
fprintf(stdout“The?capacity?of?the?channel?is?%.f?bit?/symbol?.\n\n“C);
fprintf(stdout“The?best?input?probality?distribution?is?:\n“);
for(i=0;i fprintf(stdout“%.6f“p_i[i]);
fprintf(stdout“\n“);

/*Free?the?memory?we?allocation?before?with?stack?sequence*/
for?(i=s-1;i>=0;i--)
{
free(phi_ij[i]);
phi_ij[i]=NULL;
}
free(phi_ij);
phi_ij=NULL;

for(i=r-1;i>=0;i--)
{
free(p_ji[i]);
p_ji[i]=NULL;
}
free(p_ji);
p_ji=NULL;
free(p_i);
p_i=NULL;

exit(0);
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????33792??2009-11-25?08:41??ximxilun\Debug\vc60.idb

?????文件??????45056??2009-11-25?08:41??ximxilun\Debug\vc60.pdb

?????文件?????225367??2009-11-25?08:41??ximxilun\Debug\xindao.exe

?????文件?????218728??2009-11-25?08:41??ximxilun\Debug\xindao.ilk

?????文件???????7063??2009-11-25?08:41??ximxilun\Debug\xindao.obj

?????文件??????43520??2009-11-25?08:46??ximxilun\Debug\xindao.opt

?????文件?????269200??2009-11-25?08:32??ximxilun\Debug\xindao.pch

?????文件?????386048??2009-11-25?08:41??ximxilun\Debug\xindao.pdb

?????文件????????201??2008-11-15?19:51??ximxilun\unistd.h

?????文件???????1151??2008-11-15?20:00??ximxilun\values.h

?????文件???????2943??2009-11-25?08:41??ximxilun\xindao.c

?????文件???????3399??2009-11-25?08:29??ximxilun\xindao.dsp

?????文件????????537??2009-11-25?08:46??ximxilun\xindao.dsw

?????文件??????33792??2009-11-25?08:46??ximxilun\xindao.ncb

?????文件??????48640??2009-11-25?08:46??ximxilun\xindao.opt

?????文件????????746??2009-11-25?08:41??ximxilun\xindao.plg

?????目錄??????????0??2009-11-25?08:46??ximxilun\Debug

?????目錄??????????0??2009-11-25?08:46??ximxilun

-----------?---------??----------?-----??----

??????????????1320183????????????????????18


評論

共有 條評論

相關資源