²é¿´: 1326  |  »Ø¸´: 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 µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] ²ÄÁÏÓ뻯¹¤×¨Ë¶µ÷¼Á +3 heming3743 2026-03-16 3/150 2026-03-16 15:05 by peike
[»ù½ðÉêÇë] ¹ú×Ô¿ÆÃæÉÏ»ù½ð×ÖÌå +5 iwuli 2026-03-12 6/300 2026-03-16 13:13 by Kamiu_MK
[¿¼ÑÐ] 0703 ÎïÀí»¯Ñ§µ÷¼Á +3 ÎÒ¿ÉÒÔÉϰ¶µÄ¶Ô 2026-03-13 5/250 2026-03-16 10:50 by ÎÒ¿ÉÒÔÉϰ¶µÄ¶ÔÂ
[¿¼ÑÐ] 290Çóµ÷¼Á +5 ¿×Ö¾ºÆ 2026-03-12 10/500 2026-03-16 09:01 by ÓàêÍ&
[¿¼ÑÐ] 0856ר˶279Çóµ÷¼Á +5 ¼ÓÓͼÓÓÍ£¡? 2026-03-15 5/250 2026-03-15 11:58 by 2020015
[¿¼ÑÐ] 070305Çóµ÷¼Á +3 mlpqaz03 2026-03-14 4/200 2026-03-15 11:04 by peike
[¿¼ÑÐ] 308 085701 ËÄÁù¼¶ÒѹýÇóµ÷¼Á +7 ÎÂÇÇÇÇÇÇÇÇ 2026-03-12 14/700 2026-03-14 10:49 by JourneyLucky
[¿¼ÑÐ] ÔÆÄϲƾ­´óѧÐÅϢѧԺ¼ÆËã»úѧ˶ר˶ѧλµã +3 zjptai 2026-03-10 5/250 2026-03-14 01:23 by ·ÉÐÐçù
[¿¼ÑÐ] 265Çóµ÷¼Á +9 Сľ³æ085600 2026-03-09 12/600 2026-03-14 01:11 by JourneyLucky
[¿¼ÑÐ] ²ÄÁϹ¤³Ìר˶£¬Ò»Ö¾Ô¸Öйú¿óÒµ´óѧ£¬×Ü·Ö314£¬Çóµ÷¼Á +5 ÎÞи¿É»÷µÄ¾ÞÈË 2026-03-10 5/250 2026-03-14 00:37 by JourneyLucky
[¿¼ÑÐ] Ò»Ö¾Ô¸»ªÖÐũҵ´óѧ071010£¬×Ü·ÖÈý°Ù¶þ,Çóµ÷¼Á +3 À§À§À§À§À¤À¤ 2026-03-10 3/150 2026-03-14 00:35 by JourneyLucky
[¿¼ÑÐ] 308Çóµ÷¼Á +3 ÊÇLupa°¡ 2026-03-10 3/150 2026-03-14 00:30 by JourneyLucky
[¿¼ÑÐ] bÇø»·¾³¹¤³ÌÇóµ÷¼Á +4 Maps1 2026-03-10 6/300 2026-03-14 00:23 by JourneyLucky
[¿¼ÑÐ] 341Çóµ÷¼Á +3 ·¬ÇÑÍ·--- 2026-03-10 3/150 2026-03-13 23:07 by JourneyLucky
[¿¼ÑÐ] ²ÄÁÏר˶288·ÖÇóµ÷¼Á Ò»Ö¾Ô¸211 +4 ÔÚ¼ÒÏëÄã 2026-03-11 4/200 2026-03-13 22:49 by JourneyLucky
[¿¼ÑÐ] ÇóbÇøÑ§Ð£µ÷¼Á +3 ÖÜ56 2026-03-11 3/150 2026-03-13 16:20 by JourneyLucky
[¿¼ÑÐ] Çóµ÷¼Á +3 ³ÌÓ꺼 2026-03-12 3/150 2026-03-13 15:06 by JourneyLucky
[¿¼ÑÐ] 333Çóµ÷¼Á +3 152697 2026-03-12 4/200 2026-03-13 07:08 by Iveryant
[¿¼ÑÐ] Ñо¿ÉúÕÐÉú +3 Ð캣ÌÎ11 2026-03-10 7/350 2026-03-12 14:26 by Ð캣ÌÎ11
[¿¼ÑÐ] Êý¶þÓ¢¶þ309·ÖÇëÇóµ÷¼Á +3 dtdxzxx 2026-03-09 4/200 2026-03-09 19:56 by yuningshan
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û