²é¿´: 3140  |  »Ø¸´: 6
¡¾½±Àø¡¿ ±¾Ìû±»ÆÀ¼Û5´Î£¬×÷Õßbaobiao007Ôö¼Ó½ð±Ò 2.6 ¸ö
µ±Ç°Ö»ÏÔʾÂú×ãÖ¸¶¨Ìõ¼þµÄ»ØÌû£¬µã»÷ÕâÀï²é¿´±¾»°ÌâµÄËùÓлØÌû

baobiao007

ľ³æ (Ö°Òµ×÷¼Ò)


[×ÊÔ´] ¡¾·ÖÏí¡¿ÏàÒÆ·¨Æ«ÒƳÌÐò¡¾Ô­´´¡¿

#include
#include
#include
#include"FFT.h"

//½«ÎļþfilenameÖеÄÄÚÈݶÁÈë¶þάÊý×éa
void MyReadFile(char *filename,float **a,int m,int n)
{
     int i,j;
         FILE *fp;
         fp=fopen(filename,"rb";
         for(i=0; i                  for(j=0; j                          fread(&a[j],sizeof(float),1,fp);
         fclose(fp);
}
//½«¶þάÊý×éaÖеÄÊý¾ÝдÈëÎļþfilenameÖÐ
void MyWriteFile(char *filename,float **a,int m,int n)
{
     int i,j;
         FILE *fp;
     fp=fopen(filename,"wb";
         for(i=0; i                  for(j=0; j                          fwrite(&a[j],sizeof(float),1,fp);
         fclose(fp);
}
//ÉêÇë¶þά¶¯Ì¬Êý×éµÄº¯Êý
float **MySpace(int m, int n)
{
        int i;
        float **p;
        p=(float **)calloc(m,sizeof(float *));
        if(p==NULL)
        {  printf("ÉêÇë¿Õ¼äʧ°Ü\n";
           exit(1);
        }
        for(i=0; i                 p=(float *)calloc(n,sizeof(float));
        return p;
}
//ÊÍ·ÅÉêÇëµÄ¶þά¶¯Ì¬Êý×é
void FreeMySpace(float ***p, int m)
{
        int i;
        for(i=0; i                 free((*p));
        free(*p);
}
//¾ØÕóתÖÃa[m][n]->b[n][m]
void Zhuan(float ***a,float ***b,int m,int n)
{
        int i,j;
        for(i=0; i                 for(j=0; j                         *(*(*b+i)+j)=*(*(*a+j)+i);
}

void main()
{
/////////////////////////////////ÉèÖóõʼ²ÎÊý////////////////////////////////////
    const int DNUM=256;//ÁãÆ«ÒÆ¾àÆÊÃæ½ÓÊÕµÀÊý       
        const int TNUM=512;//ʱ¼ä²ÉÑùµãÊý
    const int ZNUM=256;//Éî¶È²ÉÑùµãÊý
        const float DT=0.002;//ʱ¼ä²ÉÑù¼ä¸ô2ms
        const float DX=12.5;//µÀ¼ä¾à
        const float DZ=5.0;//Éî¶ÈÑÓÍØ²½³¤
        const float pi=3.1415926;
        //float V=2000.0;
        float V[ZNUM];
    char fname1[]="Datapost-8-8-256-512.dat";//ԭʼµØÕð¼Ç¼ÎļþÃû
        char fnamev[]="Modelpost-8-8-256-256.dat";//ËÙ¶ÈÎļþ
        char fname2[]="after.dat";//Æ«ÒÆºóµÄÆÊÃæÎļþÃû
////ÆäËû²ÎÊý¼ÆËãÇø//////////////////////////////////
        float **recordr, **recordi, **poum;
        float **midr, **midi, *tempr, *tempi, *temp2r, *temp2i;
        float p, **v, vt;
        float df;//ƵÂʲÉÑù¼ä¸ô
        float dkx;//x·½Ïò²¨Êý²ÉÑù¼ä¸ô
        float w;//ԲƵÂÊ
        float z;//Éî¶È
        float kz;//z·½ÏòÔ²²¨Êý
        float kx;
        int iw,iz,ix,k1,k2;
    df=1.0/(DT*TNUM); dkx=1.0/(DX*DNUM);
///ÏàÒÆÆ«ÒÆ¹ý³Ì/////////////////////////////////////
    //ÉêÇë¿Õ¼ä
        tempr=(float *)calloc(DNUM,sizeof(float));
        tempi=(float *)calloc(DNUM,sizeof(float));
    temp2r=(float *)calloc(DNUM,sizeof(float));
        temp2i=(float *)calloc(DNUM,sizeof(float));
        recordr=MySpace(DNUM,TNUM);
        recordi=MySpace(DNUM,TNUM);
    poum=MySpace(DNUM,ZNUM);
        midr=MySpace(TNUM,DNUM);
        midi=MySpace(TNUM,DNUM);
        v=MySpace(DNUM,ZNUM);
        //¶ÁÈëµþ¼ÓÆÊÃæ
        MyReadFile(fname1,recordr,DNUM,TNUM);
        MyReadFile(fnamev,v,DNUM,ZNUM);
        for(iz=0; iz         V[iz]=v[0][iz];
                for(ix=0; ix                         if(v[ix][iz]                                 vt=v[ix][iz];
                                v[ix][iz]=V[iz];
                                V[iz]=vt;
                        }
        }
        for(iz=0; iz                 printf("%f\n",V[iz]);
        //recordr[127][127]=1.0;
        //recordr[50][50]=1.0;
    //½«ÊäÈëÆÊÃæ¶Ôʱ¼ä×öһά¸µÀïÒ¶±ä»»
    k1=log(DNUM)/log(2.0);
        k2=log(TNUM)/log(2.0);
        if(DNUM>pow(2,k1)) k1=k1+1;
        if(TNUM>pow(2,k2)) k2=k2+1;
    for(ix=0; ix         fft(recordr[ix],recordi[ix],k2,1);
        Zhuan(&recordr,&midr,DNUM,TNUM);
        Zhuan(&recordi,&midi,DNUM,TNUM);
        //ԲƵÂÊÑ­»·ÓëÉî¶ÈÑÓÍØ
        for(iw=0; iw<=TNUM/2; iw++)//ƵÂÊÑ­»·
        {
            w=2.0*pi*iw*df;
                if(w==0) continue;
                for(ix=0; ix                 {   tempr[ix]=midr[iw][ix];
                        tempi[ix]=midi[iw][ix];
                }
                for(iz=0; iz                 {   
            fft(tempr,tempi,k1,1);//¶Ôx½øÐÐһά¸µÀïÒ¶±ä»»
                        for(ix=0; ix                         {   //¼ÆËãÏàÒÆÒò×Ó²¢Ïà³Ë
                                kx=2.0*pi*ix*dkx;
                                if(ix>DNUM/2) kx= 2.0*pi*(DNUM-ix-1)*dkx;
                                p=1.0-pow(0.5*V[iz]*kx/w,2);
                                if(p>=0.0){
                                kz=w*sqrt(p)/(0.5*V[iz]);
                                    temp2r[ix]=tempr[ix]*cos(kz*DZ)-tempi[ix]*sin(kz*DZ);
                                    temp2i[ix]=tempi[ix]*cos(kz*DZ)+tempr[ix]*sin(kz*DZ);
                                }
                                else{
                                        temp2r[ix]=0.0;
                                        temp2i[ix]=0.0;
                                }
                        }
                        //kx×öһά¸µÀïÒ¶·´±ä»»
                        fft(temp2r,temp2i,k1,-1);
                        for(ix=0; ix                         {        tempr[ix]=temp2r[ix];
                                tempi[ix]=temp2i[ix];
                //³ÉÏñ
                                poum[ix][iz]+=2.0*temp2r[ix];
                        }
                }
        }       
        //Êä³öÆ«ÒÆ½á¹ûÎļþ
        MyWriteFile(fname2,poum,DNUM,ZNUM);       
        //Êͷſռä
        FreeMySpace(&recordr,DNUM);
        FreeMySpace(&recordi,DNUM);
        FreeMySpace(&midr,TNUM);
        FreeMySpace(&midi,TNUM);
        FreeMySpace(&poum,DNUM);
        free(tempr);free(tempi);
        free(temp2r);free(temp2i);
        FreeMySpace(&v,DNUM);
}
»Ø¸´´ËÂ¥
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

baobiao007

ľ³æ (Ö°Òµ×÷¼Ò)


ÒýÓûØÌû:
3Â¥: Originally posted by whl1979 at 2015-03-29 19:33:50
½üÀ´Ñо¿Æ«ÒÆ£¬¸Ðл¥Ö÷·ÖÏí

Ñо¿Æ«ÒÆÓ¦¸Ã×Ðϸ¿´ÀÏÍâдµÄÂÛÎĺʹúÂ룬²»Òª¿´ÎÒдµÄÔü³ÌÐò
4Â¥2015-03-29 21:58:30
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
²é¿´È«²¿ 7 ¸ö»Ø´ð

whl1979

гæ (³õÈëÎÄ̳)


¡ï¡ï¡ï ÈýÐǼ¶,Ö§³Ö¹ÄÀø

½üÀ´Ñо¿Æ«ÒÆ£¬¸Ðл¥Ö÷·ÖÏí
3Â¥2015-03-29 19:33:50
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

ÍÚ¿ÓÂñÒÇÆ÷

гæ (ÕýʽдÊÖ)


¡ï Ò»ÐǼ¶,Ò»°ã

ÒýÓûØÌû:
4Â¥: Originally posted by baobiao007 at 2015-03-29 21:58:30
Ñо¿Æ«ÒÆÓ¦¸Ã×Ðϸ¿´ÀÏÍâдµÄÂÛÎĺʹúÂ룬²»Òª¿´ÎÒдµÄÔü³ÌÐò...

¸ÒÎÊ×ð¼ÝÄÄÀï¿ÉÒÔÕÒµ½ÀÏÍâµÄ´úÂ룿

·¢×ÔСľ³æAndroid¿Í»§¶Ë
5Â¥2016-01-28 03:17:14
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

nlgssrs

Í­³æ (СÓÐÃûÆø)


¡ï Ò»ÐǼ¶,Ò»°ã

ÄãÕâÊǵ¯ÐÔ²¨»¹ÊÇÉù²¨£¬µþǰ»¹Êǵþºó£¿

·¢×ÔСľ³æIOS¿Í»§¶Ë
6Â¥2016-01-28 08:16:25
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
¡î ÎÞÐǼ¶ ¡ï Ò»ÐǼ¶ ¡ï¡ï¡ï ÈýÐǼ¶ ¡ï¡ï¡ï¡ï¡ï ÎåÐǼ¶
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[»ù½ðÉêÇë] »ù½ð²»ÖУ¬¹²Ãã +5 eulota 2026-08-26 5/250 2026-08-26 23:33 by young90
[»ù½ðÉêÇë] ÎÒ²»Àí½â£¡ +15 Edward_pc 2026-08-26 23/1150 2026-08-26 20:34 by zzuzxg
[»ù½ðÉêÇë] 2026ÄêµÄ¹ú¼ÒÉç¿Æ»ù½ðÏîĿͨѶÆÀÉóµÄйæÔòÓëж¯Ïò¡¢ÐÂÌôÕ½ +7 process2012 2026-08-23 10/500 2026-08-26 19:23 by hmhminy
[»ù½ðÉêÇë] ϵͳ²é²»µ½ +10 ¶­°Ëǧ 2026-08-26 10/500 2026-08-26 16:30 by Equinoxhua
[»ù½ðÉêÇë] ¿ÆÑй¶ùÌ«ÄÑÁË +21 ÎÒ4´ó°×²Ë 2026-08-20 22/1100 2026-08-26 11:29 by nlgza
[»ù½ðÉêÇë] ¹úºÏÀïÃæÄÜ¿´µ½ÁË +7 Ò»»³Ü°Çï 2026-08-26 7/350 2026-08-26 11:23 by zhaosm1982
[»ù½ðÉêÇë] ¹ú¼ÊºÏ×÷¿É²éÁË£¬ÖÐÁËÃæÉÏ +18 Ldrop2023 2026-08-26 18/900 2026-08-26 11:15 by cmrandy
[»ù½ðÉêÇë] Ôõô¿´Çà»ùÖÐÁËûÓа¡ +4 Ò¶¾Å΢ 2026-08-26 4/200 2026-08-26 10:52 by xiacongxu
[»ù½ðÉêÇë] ¹úºÏ¿É²éÁË +3 paperzjh 2026-08-26 3/150 2026-08-26 10:41 by LemmonTr
[Ö°³¡ÈËÉú] ѧÉúײ¼û¸¨µ¼Ô±ËÍÍâÂô£¬µÚ¶þÌìÈ«°à¶¼³ÁĬÁË +3 ¾¨ÓãÈÚ½ð_Õã½­_É 2026-08-22 3/150 2026-08-26 09:01 by zzuzxg
[»ù½ðÉêÇë] Å£À´£¡Ã×À´£¡ÃæÀ´£¡ +8 beefly 2026-08-26 8/400 2026-08-26 08:37 by xuzhipiao
[»ù½ðÉêÇë] ÔÚ¼á±ù»¹¸Ç×ű±º£µÄʱºò£¬ÎÒ¿´µ½ÁËÅ­·ÅµÄ÷»¨¡£ (½ð±Ò+10) +6 ziyangfang 2026-08-25 9/450 2026-08-25 20:26 by huagongfeihu
[»ù½ðÉêÇë] ijЩ»ú¹¹£¬ÒÔЧÂʵÍΪÈÙ£¬ÒÔЧÂʵÍ×÷Ϊ´æÔڸР+9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
[»ù½ðÉêÇë] ½ñÈÕ²»·Å°ñ£¿Íø´«¹ú×ÔȻԤ¼Æ 8 Ô 27 Èտɲé½á¹û +17 ҽѧÀÏÄк¢ 2026-08-20 22/1100 2026-08-25 15:36 by ҽѧÀÏÄк¢
[»ù½ðÉêÇë] Èç¹û´Ë¿ÌÄãÕýÔÚΪ¹ú»ù¸Ðµ½½¹ÂÇ£¬²»·ÁÀ´ÌýÌýÕâÊס¶»ù½ðÖ®Íâ¡· +8 scalable 2026-08-24 8/400 2026-08-25 12:52 by jnhyjjm
[»ù½ðÉêÇë] ÈËÆø²»ÐÐÁË +11 fansofjerry 2026-08-21 11/550 2026-08-25 11:04 by ¹Â¶ÀµÄÓ¢ÐÛ6
[½Ìʦ֮¼Ò] µ¼Ê¦Í²ۣºÎÒÔõô̯ÉÏÁËÕâô¸ö¼«Æ·Ñо¿Éú£¡ +3 ËÕ¶«ÆÂ¶þÊÀ 2026-08-23 3/150 2026-08-25 10:35 by shisan1313
[»ù½ðÉêÇë] ʱ¼ä´Á½ñÌ죬20ºÅ±äÁË +5 archvillain 2026-08-20 5/250 2026-08-22 06:12 by hui_daxiao
[»ù½ðÉêÇë] ¿´À´½ñÌì²»»á·Å°ñÁË£¿ +8 chengyan1220 2026-08-21 11/550 2026-08-21 17:52 by dcqxinyang
[»ù½ðÉêÇë] Ó¦¸ÃÊÇÏÂÖÜÈý26ÈÕ¹«²¼Á˰ɣ¿ +4 ¹þ¹þ¸ò£¿ 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û