±±¾©Ê¯ÓÍ»¯¹¤Ñ§Ôº2026ÄêÑо¿ÉúÕÐÉú½ÓÊÕµ÷¼Á¹«¸æ
²é¿´: 1333  |  »Ø¸´: 5
±¾Ìû²úÉú 1 ¸ö ³ÌÐòÇ¿Ìû £¬µã»÷ÕâÀï½øÐв鿴

dubo

½ð³æ (ÖøÃûдÊÖ)

ÓÅÐã°æÖ÷

[ÇóÖú] 1000½ð±ÒÇó°ÑÏÂÃæMATLAB´úÂëרΪCÓïÑÔ

ÓÉÓÚ×î½ü±È½Ï棬ËùÒÔÏëÇëÒÔΪ±È½ÏÇåÏеÄÈ˰ïÎÒ°ÑÏÂÃæµÄmatlab³ÌÐòת»»ÎªCÓïÑ԰棨×îºÃÄÜÖ±½ÓÔÚlinuxÉÏÔËÐУ©µÄ¡£Ð»Ð»¸÷λ£¡£¡

[code/]
clc;clear;  
load rdf.xvg;
T=500;%%The tempture
multi=500;
data=rdf;
x_from=0;
x_to=1.592;
jingdu=0.002;
x_from=floor(x_from/jingdu)*jingdu;
x_to=floor(x_to/jingdu)*jingdu;
x_to_big=3;%%x_to_big  is the data_out big
x=0:jingdu:x_to;
from=1;
to=length(x);
len=size(data(:,2));
len(1,1)=to-len(1,1);
x=x';
kBT=T*8.3145/1000;
dx=-kBT*log(smooth([data(:,2);zeros(len)])+eps);
dx=smooth(dx);
dx=smooth(dx);
dx=smooth(dx);
dx=smooth(dx);
dx=smooth(dx);
dx=smooth(dx);
dx=smooth(dx);
dx=smooth(dx);
dx=smooth(dx);
dx=smooth(dx);
%% nonbonded tabulate
fx=zeros(size(x));
fx2=zeros(size(x));
hx=zeros(size(x));
hx2=zeros(size(x));
gx=zeros(size(x));
gx2=zeros(size(x));
gx(from:to)=dx(from:to);
gx2=smooth(gx2);
table_non=[x,fx,fx2,gx,gx2,hx,hx2];

%% table up x_to
length_up= (x_to+jingdu):jingdu:x_to_big;
dd_zero=zeros(length(length_up),1);
dd_up=[length_up'  dd_zero  dd_zero  dd_zero  dd_zero  dd_zero  dd_zero];
table_non=[table_non;dd_up];
save('table_CR1_CR1.xvg', 'table_non', '-ASCII');
[/code]
»Ø¸´´ËÂ¥

» ±¾Ìû@֪ͨ

» ²ÂÄãϲ»¶

» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:

ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

libralibra

ÖÁ×ðľ³æ (ÖøÃûдÊÖ)

æôÆï½«¾ü

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

¡ï
dubo(½ð±Ò+50): Ϊʲô˵£¬Õâ¸ö´úÂë²»¹»ÓÅÃÀ°¡£¡ 2011-11-12 12:38:57
dubo(½ð±Ò-49): ²Ù×÷ʧÎó 2011-11-12 12:39:57
ben_ladeng: ר¼Ò¿¼ºË´æµµ 2011-11-12 23:27:09
תÁ˲âÊÔÁË.´úÂëÕýÈ·Íê³ÉÈÎÎñ,½á¹û±È½ÏÁË,ÍêÈ«Ïàͬ,
²»¹ýÕâmatlab´úÂë˭дµÄ,²»ÔõôÓÅÃÀ
CODE:
#include
#include
#include


// --------------------------
// load data from xvg file
// --------------------------
void loadData(FILE *fid, float data[797][2])
{
        int i=0;
        while(fscanf(fid,"%f %f\n",&data[i][0],&data[i][1])!=EOF)
                i++;
}


// --------------------------
// write back to xvg file
// --------------------------
void saveData(float data[1501][7])
{
        FILE *fout;
        int i,j;
        fout = fopen("table_CR1_CR1.xvg","w");
        if(fout==NULL)
                return;

        for (i=0;i<1501;++i)
        {
                for (j=0;j<7;++j)
                {
                        fprintf(fout,"%f ",data[i][j]);
                }
                fprintf(fout,"\n");
        }
               

        fclose(fout);
}

// --------------------------
// zeros vector
// --------------------------
void zeros(float vec[797])
{
        int i;
        for (i=0;i<797;++i)
                vec[i] = 0.0;
}
// --------------------------
// smooth the array with
// default span 5
// --------------------------
void smooth(float vec[797])
{
        float sum;
        int i,j;
        for (i=0;i<797;++i)
        {
                sum = 0.0;

                if (i<3)
                {
                        for (j=0;j<=i;++j)
                                sum += vec[j];
                        vec[i] = sum/(i+1);
                }
                else if (i>=797-3)
                {
                        for (j=i;j<797;++j)
                                sum += vec[j];
                        vec[i] = sum/(797-i);
                }
                else
                {
                        for (j=i-2;j<=i+2;++j)
                                sum += vec[j];
                        vec[i] = sum/5;
                }
        }
}

// --------------------------
// main entry
// --------------------------
int main(int argc, char *argv[])
{
        FILE *fid;
        float eps = 2.2204e-16;
        float data[797][2], tablenon[1501][7];
        float x[797], dx[797],
                fx[797], fx2[797],
                hx[797], hx2[797],
                gx[797], gx2[797];
        double xfrom = 0.0, xto = 1.592, xtobig = 3.0, jingdu = 0.002, kbt;

        int T = 500, multi = 500, from = 1, to = 797, len = 797;

        int i,j;

        fid = fopen("rdf.xvg","r");
        if(fid==NULL)
                return -1;

        // read to data 797*2
        loadData(fid,data);
        fclose(fid);

        // make x and dx
        for (i=0;i<797;++i)
        {
                x[i] = i*jingdu;
                dx[i] = data[i][1];
        }

        // update dx
        kbt = T*8.3145/1000;
        smooth(dx);
        for (i=0;i<797;++i)
        {
                dx[i] += eps;
                dx[i] = -1*kbt*log(dx[i]);
        }

        // smooth 10 times
        for        (i=0;i<10;++i)
                smooth(dx);

        zeros(fx);
        zeros(fx2);
        zeros(hx);
        zeros(hx2);
        zeros(gx);
        zeros(gx2);
       
        for (i=from;i                 gx2[i] = dx[i];

        smooth(gx2);

        // first 797 row
        for (i=0;i<797;++i)
        {
                tablenon[i][0] = x[i];
                tablenon[i][1] = fx[i];
                tablenon[i][2] = fx2[i];
                tablenon[i][3] = gx[i];
                tablenon[i][4] = gx2[i];
                tablenon[i][5] = hx[i];
                tablenon[i][6] = hx2[i];
        }


        // the rest
        for (i=797;i<1501;++i)
        {
                tablenon[i][0] = xto+(i+1-797)*jingdu;
                for (j=1;j<7;++j)
                        tablenon[i][j] = 0;
        }

        saveData(tablenon);

        system("PAUSE");
        return 0;
}

±È½Ï,Îó²îÊÇ0
CODE:
>> tt = load('table_CR1_CR1.xvg');
>> size(tt)
ans =
        1501           7
>> tn = table_non;
>> size(table_non)
ans =
        1501           7
>> e = tn-tn;
>> sum(e(:))
ans =
     0
>>  

matlab/VB/python/c++/Javaд³ÌÐòÇë·¢QQÓʼþ:790404545@qq.com
2Â¥2011-11-11 05:07:48
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

libralibra

ÖÁ×ðľ³æ (ÖøÃûдÊÖ)

æôÆï½«¾ü

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

¡ï ¡ï
xzhdty(½ð±Ò+2): »¶Ó­³£À´³ÌÐòÓïÑÔÌÖÂÛ 2011-11-11 10:48:28
dubo(½ð±Ò+1000): 100,Ã÷ÌìÎÒ²âÊÔһϸøÆäËûµÄ½ð±Ò£¬ºÇºÇ£¬ÐÁ¿àÁË£¡£¡£¡ 2011-11-11 23:33:21
ben_ladeng(³ÌÐòÇ¿Ìû+1): ר¼Ò¿¼ºË´æµµ 2011-11-12 23:28:11
·Ç³£±§Ç¸,¿´´íÁËgxºÍgx2,Ìû×ÓÎÞ·¨ÐÞ¸Ä,ÖØÌùÁË
CODE:
#include
#include
#include


// --------------------------
// load data from xvg file
// --------------------------
void loadData(FILE *fid, float data[797][2])
{
        int i=0;
        while(fscanf(fid,"%f %f\n",&data[i][0],&data[i][1])!=EOF)
                i++;
}


// --------------------------
// write back to xvg file
// --------------------------
void saveData(float data[1501][7])
{
        FILE *fout;
        int i,j;
        fout = fopen("table_CR1_CR1.xvg","w");
        if(fout==NULL)
                return;

        for (i=0;i<1501;++i)
        {
                for (j=0;j<7;++j)
                {
                        fprintf(fout,"%f ",data[i][j]);
                }
                fprintf(fout,"\n");
        }
               

        fclose(fout);
}

// --------------------------
// zeros vector
// --------------------------
void zeros(float vec[797])
{
        int i;
        for (i=0;i<797;++i)
                vec[i] = 0.0;
}
// --------------------------
// smooth the array with
// default span 5
// --------------------------
void smooth(float vec[797])
{
        float sum;
        int i,j;
        for (i=0;i<797;++i)
        {
                sum = 0.0;

                if (i<3)
                {
                        for (j=0;j<=i;++j)
                                sum += vec[j];
                        vec[i] = sum/(i+1);
                }
                else if (i>=797-3)
                {
                        for (j=i;j<797;++j)
                                sum += vec[j];
                        vec[i] = sum/(797-i);
                }
                else
                {
                        for (j=i-2;j<=i+2;++j)
                                sum += vec[j];
                        vec[i] = sum/5;
                }
        }
}

// --------------------------
// main entry
// --------------------------
int main(int argc, char *argv[])
{
        FILE *fid;
        float eps = 2.2204e-16;
        float data[797][2], tablenon[1501][7];
        float x[797], dx[797],
                fx[797], fx2[797],
                hx[797], hx2[797],
                gx[797], gx2[797];
        double xfrom = 0.0, xto = 1.592, xtobig = 3.0, jingdu = 0.002, kbt;

        int T = 500, multi = 500, from = 1, to = 797, len = 797;

        int i,j;

        fid = fopen("rdf.xvg","r");
        if(fid==NULL)
                return -1;

        // read to data 797*2
        loadData(fid,data);
        fclose(fid);

        // make x and dx
        for (i=0;i<797;++i)
        {
                x[i] = i*jingdu;
                dx[i] = data[i][1];
        }

        // update dx
        kbt = T*8.3145/1000;
        smooth(dx);
        for (i=0;i<797;++i)
        {
                dx[i] += eps;
                dx[i] = -1*kbt*log(dx[i]);
        }

        // smooth 10 times
        for        (i=0;i<10;++i)
                smooth(dx);

        zeros(fx);
        zeros(fx2);
        zeros(hx);
        zeros(hx2);
        zeros(gx);
        zeros(gx2);
       
        for (i=0;i<797;++i)
                gx[i] = dx[i];

        smooth(gx2);

        // first 797 row
        for (i=0;i<797;++i)
        {
                tablenon[i][0] = x[i];
                tablenon[i][1] = fx[i];
                tablenon[i][2] = fx2[i];
                tablenon[i][3] = gx[i];
                tablenon[i][4] = gx2[i];
                tablenon[i][5] = hx[i];
                tablenon[i][6] = hx2[i];
        }


        // the rest
        for (i=797;i<1501;++i)
        {
                tablenon[i][0] = xto+(i+1-797)*jingdu;
                for (j=1;j<7;++j)
                        tablenon[i][j] = 0;
        }

        saveData(tablenon);

        system("PAUSE");
        return 0;
}

matlab/VB/python/c++/Javaд³ÌÐòÇë·¢QQÓʼþ:790404545@qq.com
3Â¥2011-11-11 07:49:13
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

imyourkobe

Ìú¸Ëľ³æ (ÖøÃûдÊÖ)

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

¡ï
jjdg(½ð±Ò+1): ¸Ðл²ÎÓë 2011-11-12 00:42:45
ÎÒÒÔǰ×öÁËÒ»ÄêÕâÑùµÄ¹¤×÷¡£Æäʵ±È½ÏÈÝÒ׵ġ£
4Â¥2011-11-11 18:09:27
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

dubo

½ð³æ (ÖøÃûдÊÖ)

ÓÅÐã°æÖ÷

ÒýÓûØÌû:
3Â¥: Originally posted by libralibra at 2011-11-11 07:49:13:
·Ç³£±§Ç¸,¿´´íÁËgxºÍgx2,Ìû×ÓÎÞ·¨ÐÞ¸Ä,ÖØÌùÁË
[code] #include <stdio.h>
#include <stdlib.h>
#include <math.h>


// --------------------------
// load data from xvg file
// -- ...

½ð±Ò¶¼¸øÄãÁ˰¡£¡Äã¸øµÄ´úÂëÄ£¿é»¯Í¦ºÃµÄ£¬²»¹ýÓÐЩ²ÎÁ¿ÒªÊÇÄÜ´ÓÎļþÖжÁÈ룬¾Í¸üºÃÁË£¡£¡
5Â¥2011-11-12 12:42:30
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

libralibra

ÖÁ×ðľ³æ (ÖøÃûдÊÖ)

æôÆï½«¾ü

¡ï
ÓàÔó³É(½ð±Ò+1): лл²ÎÓëÓ¦Öú£¡ 2011-11-13 21:37:30
ÒýÓûØÌû:
5Â¥: Originally posted by dubo at 2011-11-12 12:42:30:
½ð±Ò¶¼¸øÄãÁ˰¡£¡Äã¸øµÄ´úÂëÄ£¿é»¯Í¦ºÃµÄ£¬²»¹ýÓÐЩ²ÎÁ¿ÒªÊÇÄÜ´ÓÎļþÖжÁÈ룬¾Í¸üºÃÁË£¡£¡

Èç¹ûÊÇc++,¶¯Ì¬Êý×é»á·½±ãЩ.
cÄܲ»Äܶ¯Ì¬Êý×éÎÒ²»Êì°¡
matlab/VB/python/c++/Javaд³ÌÐòÇë·¢QQÓʼþ:790404545@qq.com
6Â¥2011-11-13 03:24:20
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ dubo µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 085600²ÄÁÏÓ뻯¹¤×¨Ë¶329 Çóµ÷¼Á +8 ¶îcc 2026-04-06 8/400 2026-04-06 15:07 by lbsjt
[¿¼ÑÐ] ²ÄÁϵ÷¼Á +10 СÁõͬѧ߹߹ 2026-04-06 11/550 2026-04-06 14:54 by ÉÐË®¸óÖ÷
[¿¼ÑÐ] Ò»Ö¾Ô¸±±½»´ó²ÄÁϹ¤³Ì×Ü·Ö358Çóµ÷¼Á +8 cs0106 2026-04-05 9/450 2026-04-06 12:50 by ÉÐË®¸óÖ÷
[¿¼ÑÐ] 319·Ö085702°²È«¹¤³ÌÇóµ÷¼Á +4 rious 2026-04-05 4/200 2026-04-06 11:08 by ¾²¾²¾²¾²¾²¾²¾²¾
[¿¼ÑÐ] ¹¤¿Æ370Çóµ÷¼Á +3 äçÐļ弦µ° 2026-04-05 3/150 2026-04-06 10:55 by ÕâÊÇÒ»¸öÎÞÁĵÄê
[¿¼ÑÐ] 315Çóµ÷¼Á +5 £¦123456789 2026-04-05 5/250 2026-04-05 19:55 by nepu_uu
[¿¼ÑÐ] 358Çóµ÷¼Á +7 Çïgk 2026-04-04 7/350 2026-04-05 13:29 by huangmoli
[¿¼ÑÐ] ²ÄÁϵ÷¼Á +7 dxyµ÷¼Á 2026-04-04 7/350 2026-04-05 09:15 by İÇï26
[¿¼ÑÐ] Ò»Ö¾Ô¸±±¾©2£¬²ÄÁÏÓ뻯¹¤308Çóµ÷¼Á +10 ÐܶþÏëÉϰ¶ 2026-04-04 10/500 2026-04-05 05:20 by houyaoxu
[¿¼ÑÐ] ²ÄÁϵ÷¼Á +15 Ò»ÑùYWY 2026-04-01 15/750 2026-04-04 22:23 by hemengdong
[¿¼ÑÐ] Çóµ÷¼Á +3 ũҵ¹¤³ÌÓëÐÅÏ¢¼ 2026-04-04 3/150 2026-04-04 12:19 by Éá¶øºóµÃ
[¿¼ÑÐ] Çóµ÷¼Á£¬Ò»Ö¾Ô¸ÄϾ©º½¿Õº½Ìì´óѧ £¬080500²ÄÁÏ¿ÆÑ§Ó빤³Ìѧ˶ +10 @taotao 2026-04-03 10/500 2026-04-04 09:01 by T¿É¿ÉÎ÷ÀïT
[¿¼ÑÐ] 350Ò»Ö¾Ô¸±±¾©º½¿Õº½Ìì´óѧ08500²ÄÁÏ¿ÆÑ§Ó빤³ÌÇóµ÷¼Á +5 kjnasfss 2026-04-03 5/250 2026-04-03 22:29 by Î޼ʵIJÝÔ­
[¿¼ÑÐ] 279Çóµ÷¼Á +6 qazplm0852 2026-04-02 6/300 2026-04-03 10:03 by À¶ÔÆË¼Óê
[¿¼ÑÐ] 326Çóµ÷¼Á +10 áÌáÌ×Ð 2026-04-02 10/500 2026-04-03 09:08 by ÅÁ¶ûÂíÀ­ÌØ
[¿¼ÑÐ] 271Çóµ÷¼Á +15 ÀÕ²¼ÀÊ@ 2026-03-31 20/1000 2026-04-02 11:24 by Sammy2
[¿¼ÑÐ] 279Çóµ÷¼Á +6 ѧ¶øË¼ÙâÖª 2026-04-01 6/300 2026-04-02 09:16 by vgtyfty
[¿¼ÑÐ] 085410 Ò»Ö¾Ô¸211 22408·ÖÊý359Çóµ÷¼Á +3 123456789qw 2026-03-31 4/200 2026-04-02 00:06 by ÒåÎÄwang
[¿¼ÑÐ] 292Çóµ÷¼Á +17 ľ³æer12138 2026-04-01 17/850 2026-04-01 21:37 by Æß¶È²»ÐÅÈÎ
[¿¼ÑÐ] Ò»Ö¾Ô¸´óÁ¬Àí¹¤´óѧ²ÄÁÏÇóµ÷¼Á +6 Gymno 2026-03-30 6/300 2026-03-31 07:26 by Î޼ʵIJÝÔ­
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û