⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 thirdtrans.c.txt

📁 考虑三阶分散情况下的高斯脉冲在光纤中的传输
💻 TXT
字号:
#include <stdio.h>#include <math.h>#include <stdlib.h>#define SWAP(a,b) tempr=(a);(a)=(b);(b)=tempr#define PI 3.1415926535897932384626#define CV 2.99792458#define N 1024#include "/home/user/xuesong/Simulation/toolbox/fourie.h"#include "/home/user/xuesong/Simulation/toolbox/output.h" main(){   int j,x,U,G,LOOP;   double W,dT;   double S,B,R,s;   double L1,b,b1,b2;   double z,dz;   double qr,qi,q[2*N];   FILE *READAVE, *TZQ;   READAVE=fopen("qdata.dat","r");   TZQ=fopen("TZQ.dat","w");   S=2.3;B=-0.1;R=0.8;   L1=R;b1=(B-S)/(2*R);b2=(B+S)/(2*(1-R));   s=1.0;   b=0.0;   z=0.0;   LOOP=1000;   dz=1.0/(double)LOOP;   W=50.0;   dT=W/N;   U=200;G=20;   for(j=0;j<=N-1;j++)     {       fscanf(READAVE,"%lf %lf  \n",&qr,&qi);       q[2*j]=qr;q[2*j+1]=qi;     }   /*fptimee(TZQ,dT,q);*/   if(FFT(q)!=0) printf("FFT ERROR\n");   DISP(q,dz/2,W,b);   for(j=0;j<=U-1;j++)     {       z=0.0;       for(x=1;x<=LOOP;x++)	 {             z+=dz;             if(z<=R/2.0||z>=1.0-R/2.0)                 b=b1;             else                 b=b2;             if(IFFT(q)!=0) printf("IFFT ERROR\n");             NONL(q,dz,dT,s);            if(FFT(q)!=0) printf("FFT ERROR\n");            DISP(q,dz,W,b);	 }       if(j%(U/G)==0)	 {            if(IFFT(q)!=0) printf("IFFT ERROR\n");            fptime(TZQ,dT,(double)j,q);            if(FFT(q)!=0) printf("FFT ERROR\n");	 }     }  if(IFFT(q)!=0) printf("IFFT ERROR\n");}/*main end*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -