| ²é¿´: 581 | »Ø¸´: 4 | |||
| µ±Ç°Ö÷ÌâÒѾ´æµµ¡£ | |||
| µ±Ç°Ö»ÏÔʾÂú×ãÖ¸¶¨Ìõ¼þµÄ»ØÌû£¬µã»÷ÕâÀï²é¿´±¾»°ÌâµÄËùÓлØÌû | |||
gengbiaoluͳæ (ÕýʽдÊÖ)
|
[½»Á÷]
¡¾ÇóÖú¡¿ÎÒÏÖÔÚÓÐÒ»¸öC++µÄ³ÌÐò£¬µ«ÊÇÎÒ¿´²»¶®£¬ÇóÒ»¸ßÈ˰ïÎÒ½«Ëüת³ÉMatlab³ÌÐò¡£ ÒÑÓÐ4È˲ÎÓë
|
||
|
ÎÒÏÖÔÚÓÐÒ»¸öC++µÄ³ÌÐò£¬µ«ÊÇÎÒ¿´²»¶®£¬ÇóÒ»¸ßÈ˰ïÎÒ½«Ëüת³ÉMatlab³ÌÐò¡£ /*********************************************************** * Ѧ¶©¶õ·½³ÌÊýֵģÄâ * * 2009.10.25 * ***********************************************************/ #include #include #include #include #include #include #include using namespace std; #define pi 3.1415926 /*----------* | ³£Á¿¶¨Òå | *-----------*/ const double A=0.02; //Õñ·ù---×Ô¼º¸ù¾ÝÇé¿ö¶¨ const int L=60; //¸ñ×Ó³¤¶È---×Ô¼º¸ù¾ÝÇé¿ö¶¨ const double beita=1.0; //ÌØÕ÷·ÇÏßÐÔÒò×Ó---×Ô¼º¸ù¾ÝÇé¿ö¶¨ const double C=1.0; const double Lamada=1.6*C; //LamadaÓëCµÄ¹ØÏµ---×Ô¼º¸ù¾ÝÇé¿ö¶¨ const int n=L; //Total Lattice site numbers const double dt=1.0e-3; //ʱ¼ä²½³¤Ñ¡È¡(²»Çå³þÊÇÎÞÁ¿¸Ù»¹ÊÇÓÐÁ¿¸Ù)---×Ô¼º¸ù¾ÝÇé¿ö¶¨ const double eps=1.0e-5; //Åжϴﵽ½üËÆÎȶ¨Ìõ¼þ--ÉÏÏÂÁ½²ãÎó²î·¶Î§ /*------------* | ×Óº¯ÊýÉùÃ÷ | *-------------*/ void initialization1(double *a,int n,double number0); /*--------* | Ö÷º¯Êý | *---------*/ void main() {//0 int i,j; ofstream result("psi-norm1.txt" ; //psi-1·¶ÊýËæn±ä»¯Êä³öÎļþdouble *E; //¸ñ×ӵ㴦ÄÜÁ¿¸³Öµ---×Ô¼º¸ù¾ÝÇé¿ö¶¨ E=new double[n]; for(i=0;i // E=(4.0/(n-1))*i-2.0; // E=1.0; E=beita+Lamada*cos(2.0*pi*(i-29)*0.5*(sqrt(5.0)+1)); } double *a,*b; //psi-ʵ²¿ºÍÐ鲿±äÁ¿·Ö±ðÉù³Æ a=new double[n]; //Ö¸Õ붯̬ÉêÇë b=new double[n]; initialization1(a,n,0.006); //±äÁ¿³õʼ»¯-ҲΪ0ʱ¿Ì³õʼֵ---×Ô¼º¸ù¾ÝÇé¿ö¶¨ initialization1(b,n,0.006); double *psi2; //psi-2·¶Êý±äÁ¿Éù³Æ psi2=new double[n]; initialization1(psi2,n,0.0); double T=1.0e+10; //ʱ¼äÏÞÖÆ double time=0.0; //¿ªÊ¼¼ÆÊ± int num=0; //ÍÆ½ø²½Êý while(time num=num+1; time=time+dt; double *Da,*Db; //¸Ä½øEuler·¨ÖÐÇóf(xn,yn) Da=new double[n]; Db=new double[n]; initialization1(Da,n,0.0); initialization1(Db,n,0.0); double *az,*bz; //¸Ä½øEuler·¨ÖÐÇóy(n+1)-Öмä¹ý¶ÉÁ¿ az=new double[n]; bz=new double[n]; initialization1(az,n,0.0); initialization1(bz,n,0.0); double *Daz,*Dbz; //¸Ä½øEuler·¨ÖÐÇóf(x(n+1),y(n+1)) Daz=new double[n]; Dbz=new double[n]; initialization1(Daz,n,0.0); initialization1(Dbz,n,0.0); for(i=1;i Da=Da+E*b+beita*psi2*b+b[i+1]+b[i-1]; //ÎÄÏ×1ÀëÉ¢·½Ê½ Db=Db-E*a-beita*psi2*a-a[i+1]-a[i-1]; // Da=Da-E*b-C*(b[i+1]+b[i-1]); //ÎÄÏ×2ÀëÉ¢·½Ê½ // Db=Db+E*a+C*(a[i+1]+a[i-1]); az=a+dt*Da; bz=b+dt*Db; }//2 // az[0]=2.0*A+bz[1]; //ÎÄÏ×1±ß½çÌõ¼þ´¦Àí---×Ô¼º¸ù¾ÝÇé¿ö¶¨ az[0]=bz[1]; //×Ô¼º¸ø¶¨±ß½çÌõ¼þ bz[0]=-az[1]; az[n-1]=bz[n-2]; bz[n-1]=-az[n-2]; for(i=1;i psi2=az*az+bz*bz; Daz=Daz+E*bz+beita*psi2*bz+bz[i+1]+bz[i-1]; Dbz=Dbz-E*az-beita*psi2*az-az[i+1]-az[i-1]; // Daz=Daz-E*bz-C*(bz[i+1]+bz[i-1]); //ÎÄÏ×2ÀëÉ¢·½Ê½ // Dbz=Dbz+E*az+C*(az[i+1]+az[i-1]); }//2 double *aaz,*bbz; //ÎïÀíÁ¿¸üÐÂʱÖм䴫ֵ±äÁ¿Éù³Æ aaz=new double[n]; bbz=new double[n]; initialization1(aaz,n,0.0); initialization1(bbz,n,0.0); for(i=1;i aaz=a+0.5*dt*(Da+Daz); bbz=b+0.5*dt*(Db+Dbz); }//2 // aaz[0]=2.0*A+bbz[1]; //ÎÄÏ×1±ß½çÌõ¼þ´¦Àí---×Ô¼º¸ù¾ÝÇé¿ö¶¨ aaz[0]=bbz[1]; //×Ô¼º¸ø¶¨±ß½çÌõ¼þ bbz[0]=-aaz[1]; aaz[n-1]=bbz[n-2]; bbz[n-1]=-aaz[n-2]; double error=0.0; //ÇóÏÂһʱ¿ÌÓëÉÏһʱ¿ÌÎïÀíÁ¿¾ø¶ÔÎó²î for(i=0;i error=error+sqrt((aaz-a)*(aaz-a)+(bbz-b)*(bbz-b)); } for(i=0;i a=aaz; b=bbz; } for(i=0;i delete[] Da;delete[] Db; //Ö¸Õëɾ³ý delete[] az;delete[] bz; delete[] Daz;delete[] Dbz; delete[] aaz;delete[] bbz; cout<<"ÍÆ½ø²½ÊýΪ"< if(num%10000==0) //ÿ¸ô10000²½Êä³ö|PSI|nÓëÁ£×ÓλÖùØÏµ {//2 result<<"zone f=point"< result< }//2 if(error<=eps||num%20000000==0) //´ïµ½½üËÆÎȶ¨×´Ì¬»òÔËÐе½2000Íò²½ºó½á¹ûÊä³ö¡¢³ÌÐòÔËÐнáÊø {//2 result<<"zone f=point"< result< cout<<"´ïµ½½üËÆÎȶ¨ºóÐèÒªÍÆ½ø²½ÊýΪ-------"< }//2 }//1 }//0 /*------------* | ×Óº¯Êý¶¨Òå | *-------------*/ //¸³³õʼֵ void initialization1(double *a,int n,double number0) { int i; for(i=0;i } |
» ²ÂÄãϲ»¶
297Çóµ÷¼Á
ÒѾÓÐ12È˻ظ´
26µ÷¼Á 086003
ÒѾÓÐ3È˻ظ´
265Çóµ÷¼Á
ÒѾÓÐ20È˻ظ´
271·ÖÇóµ÷¼ÁѧУ
ÒѾÓÐ11È˻ظ´
320·ÖÈ˹¤ÖÇÄܵ÷¼Á
ÒѾÓÐ6È˻ظ´
Çóµ÷¼Á£¬Ò»Ö¾Ô¸ÄϾ©º½¿Õº½Ìì´óѧ £¬080500²ÄÁÏ¿ÆÑ§Ó빤³Ìѧ˶
ÒѾÓÐ8È˻ظ´
280Çóµ÷¼Á
ÒѾÓÐ19È˻ظ´
Çó²ÄÁϵ÷¼Á£¬Ò»Ö¾Ô¸Ö£ÖÝ´óѧ289·Ö
ÒѾÓÐ15È˻ظ´
26¿¼Ñе÷¼Á0710 0860
ÒѾÓÐ6È˻ظ´
282Çóµ÷¼Á
ÒѾÓÐ22È˻ظ´
anyuezhiji
Òø³æ (ÕýʽдÊÖ)
ÐÇ¿ÕÐÐÕß
- ·ÂÕæEPI: 5
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ¹ó±ö: 0.208
- ½ð±Ò: 467.3
- ºì»¨: 3
- Ìû×Ó: 416
- ÔÚÏß: 89.3Сʱ
- ³æºÅ: 943880
- ×¢²á: 2010-01-17
- ÐÔ±ð: GG
- רҵ: Äý¾Û̬ÎïÐÔ II £ºµç×ӽṹ
¡ï ¡ï
adu886886(½ð±Ò+2):ÐÁ¿àÁË£¬Ð»Ð»½»Á÷ 2010-04-12 08:11
gengbiaolu(½ð±Ò+15):ÐÁ¿àÁË£¬Ð»Ð»£¡ 2010-04-14 08:53
adu886886(½ð±Ò+2):ÐÁ¿àÁË£¬Ð»Ð»½»Á÷ 2010-04-12 08:11
gengbiaolu(½ð±Ò+15):ÐÁ¿àÁË£¬Ð»Ð»£¡ 2010-04-14 08:53
|
´úÂëÈçÏ£º [ Last edited by anyuezhiji on 2010-4-12 at 00:43 ] |

4Â¥2010-04-12 00:34:25
mopsite
ľ³æ (ÖøÃûдÊÖ)
- Ó¦Öú: 2 (Ó×¶ùÔ°)
- ½ð±Ò: 8938.7
- É¢½ð: 424
- ºì»¨: 2
- Ìû×Ó: 2595
- ÔÚÏß: 615Сʱ
- ³æºÅ: 172296
- ×¢²á: 2006-01-19
- רҵ: ´«ÈÈ´«ÖÊѧ
2Â¥2010-04-06 09:46:27
gengbiaolu
ͳæ (ÕýʽдÊÖ)
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 8.7
- É¢½ð: 90
- ºì»¨: 2
- Ìû×Ó: 458
- ÔÚÏß: 70.2Сʱ
- ³æºÅ: 762835
- ×¢²á: 2009-05-04
- רҵ: Ô×ӺͷÖ×ÓÎïÀí
kuhailangyu:ÄÇÄãÁ¬³ÌÐòµÄÒâ˼¶¼²»¶®µÄ»°£¬×ª³ÉMÎļþºó»¹Êdzö´íÔõô°ì£¿½Ó×ÅÔÙÇóÖú¡£¡£¡£ 2010-04-06 18:49
| ÎÒ´Óδѧ¹ýCÓïÑÔ£¬ÍêÈ«²»¶®Ñ½£¬°ï°ïÎÒ°É£¡ |
3Â¥2010-04-06 17:34:14
ÇçÌìС³æ³æ
Òø³æ (СÓÐÃûÆø)
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 499.5
- Ìû×Ó: 54
- ÔÚÏß: 9.5Сʱ
- ³æºÅ: 975603
- ×¢²á: 2010-03-19
5Â¥2010-04-12 12:56:58














; //psi-1·¶ÊýËæn±ä»¯Êä³öÎļþ
»Ø¸´´ËÂ¥