混沌保密通信-C语言编程最佳范例.docx_第1页
混沌保密通信-C语言编程最佳范例.docx_第2页
混沌保密通信-C语言编程最佳范例.docx_第3页
混沌保密通信-C语言编程最佳范例.docx_第4页
混沌保密通信-C语言编程最佳范例.docx_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#include#include#include#define MM 33554432#define A 1103515245#define C 12345#define RA 1.0int x1=21,x2=1,next=11; int shengchengsuijishu1()int r;x2=(A*x1+C)%MM;r=(A*x1)%MM;x1=x2;return(r);double shengchengsuijishu()next=shengchengsuijishu1();next=next*A+C;next=(int)(next/256)%65536;return(fabs(double)next/65536);void lorenz(double sig,double b,double r,double *x)int i;double y3;for(i=0;i3;i+)yi=*(x+i);*x=-sig*(y0-y1);*(x+1)=r*y0-y1-y0*y2;*(x+2)=y0*y1-b*y2;void run_kut(double sig,double b,double r,double *x,double t)int i;double y43;for(i=0;i3;i+)y0i=*(x+i);lorenz(sig,b,r,y0);for(i=0;i3;i+)y1i=*(x+i)+t*y0i/2;lorenz(sig,b,r,y1);for(i=0;i3;i+)y2i=*(x+i)+t*y1i/2;lorenz(sig,b,r,y2);for(i=0;i3;i+)y3i=*(x+i)+t*y2i;lorenz(sig,b,r,y3);for(i=0;i3;i+)*(x+i)+=t*(y0i+2*y1i+2*y2i+y3i)/6;double ffunction(int n,double *param,double *mx1,double t)int i;double rr=0.0,sig,b,r,x3,sx1600;sig=10;b=8/3.0;r=*(param);x0=*mx1;sx10=*mx1;x1=*(param+1);x2=*(param+2);for(i=1;in;i+)run_kut(sig,b,r,x,t);sx1i=x0;for(i=0;in;i+)rr+=fabs(*(mx1+i)-sx1i);return rr;void ant_rea(double *x,double *x1)/*x=(30+0.0)*(*x)+50)/100.0+0.0;/30/*(x+1)=(10+0.0)*(*(x+1)+50)/100.0+0.0;/10*(x+1)=(10+10.0)*(*(x+1)+50)/100.0-10.0+(*(x1+1);*(x+2)=(10.0+10.0)*(*(x+2)+50)/100.0-10.0+(*(x1+2);*(x)=(50+0.0)*(*(x)+50)/100.0-0.0+(*(x1);void rea_ant(double *x,double *x1)/*x=100*(*x)-0.0)/(30+0.0)-50.0;/*(x+1)=100*(*(x+1)-0.0)/(10+0.0)-50.0;*(x+1)=100*(*(x+1)+10.0-(*(x1+1)/(10+10.0)-50.0;*(x+2)=100*(*(x+2)+10.0-(*(x1+2)/(10+10.0)-50.0;*(x)=100*(*(x)+0.0-(*(x1)/(50+0.0)-50.0;void ant_opt(int NN,double *mx1,double t,double *x1)const int M=1000,N=3,K=10,S=1000;int i,j,k,js,qd,jishu=0;double a=200,b=0.5,f,tm=0.0,midle,range=50,fi=0.075,rM,vM,xMN,pMN,p1MN,yM,fitnessM,exN,para3;/char name50;for(i=0;i3;i+)parai=*(x1+i);para0=0.0;for(i=0;iM;i+)shengchengsuijishu();for(qd=0;qd+)for(i=0;iM;i+)ri=0.1+0.02*shengchengsuijishu();vi=shengchengsuijishu();yi=0.999;for(j=0;jrange)xij=range*xij/fabs(xij);if(qd=0)pij=xij;p1ij=pij;ant_rea(xi,para);if(qd=0)ant_rea(pi,para);ant_rea(p1i,para);fitnessi=ffunction(NN,pi,mx1,t);/fitnessi=ffunction(pi,range1,N);/迭代过程-12-for(js=0;js+)jishu+;tm+=0.01;for(i=0;iM;i+)rea_ant(xi,para);rea_ant(pi,para);yi=pow(yi,1+ri);for(j=0;jrange)xij=range*xij/fabs(xij);ant_rea(xi,para);ant_rea(pi,para);/计算目标函数-12-f=ffunction(NN,xi,mx1,t);if(fitnessif)fitnessi=f;for(j=0;jN;j+)pij=xij; /交换信息-26-if(js+1)%K=0)k=0;for(i=1;ifitnessi)fitness0=fitnessi;k=i;for(i=0;iM;i+)fitnessi=fitness0;for(j=0;jN;j+)pij=pkj; /*for(i=1,k=0,midle=fitness0;ifitnessi)midle=fitnessi;k=i;for(j=0;jN;j+)midle=0.0;exj=0.0;for(i=0;iM;i+)midle+=pij;midle/=M;for(i=0;i1e-7)break;if(j=N)break;printf(%d %d %dn,qd+1,jishu,jishu*M);for(j=0;jN;j+)midle=0.0;for(i=0;iM;i+)midle+=pij;midle/=M;printf(%14.8f ,midle);if(j+1)%4=0)printf(n);printf(n);for(i=0;iM;i+)for(j=0;j1e-6)break;if(i=M&j=N)for(j=0;jN;j+)midle=0.0;for(i=0;iM;i+)midle+=pij;midle/=M;*(x1+j)=midle;break;for(i=0;iM;i+)for(j=0;jN;j+)p1ij=pij;void main()int i,j,k;const int N=600;double x3=2,1,1,t=0.001,sig=10.0,r=28.0,b=8/3.0,mx1N,mx,r1,x13=0,0,0,s1,s2,xx3;FILE *file;file=fopen(data.dat,wt+);mx10=x0;for(i=0;i3;i+)xxi=xi;for(i=1;iN;i+)run_kut(sig,b,r,x,t);mx1i=x0;/printf(%f,(mx11-mx10)/0.001+mx10);/12*/调用ant_opt进行参数辨识,并输出辨识结果ant_opt(N,mx1,t,x1);for(i=0;i3;i+)printf(%fn,x1i);/12*/26保密通信数值试验r1=x10;x10=xx0;for(i=0;i3;i+)xi=xxi;for(i=1;i1e-3)/校正pri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论