混沌保密通信-C語言編程最佳范例.docx_第1頁
混沌保密通信-C語言編程最佳范例.docx_第2頁
混沌保密通信-C語言編程最佳范例.docx_第3頁
混沌保密通信-C語言編程最佳范例.docx_第4頁
混沌保密通信-C語言編程最佳范例.docx_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

#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);/計算目標函數(shù)-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進行參數(shù)辨識,并輸出辨識結果ant_opt(N,mx1,t,x1);for(i=0;i3;i+)printf(%fn,x1i);/12*/26保密通信數(shù)值試驗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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論