24小时热门版块排行榜    

查看: 712  |  回复: 0

yali1990

金虫 (小有名气)

[求助] 自规避行走链

#include "stdafx.h"
#include "math.h"
#include"stdlib.h"//调用rand()及srand()函数
#include "time.h"
#define PI 3.1415926
void mass_center_Rg2()
{
        double X[10000][3];//链段坐标
        double MC_X[3];//质心坐标
        int l=500;//链条数
        int N;//聚合度
        srand((unsigned)time(NULL));
        double a,b,d;
        double r=2.0;
        double Sum_Rg2;
        double Rg2;
        double  X_Dis;
        double  Y_Dis;
        double  Z_Dis;
        FILE *write;
    write = fopen("Rg2_compute-1.txt","w";
        for(N=1000;N<=2000;N+=20)
{
                Sum_Rg2=0.0;
                for(int j=1;j         {
                        d=0.0;
                        X[0][0]=0.0;
                        X[0][1]=0.0;
                        X[0][2]=0.0;
                        MC_X[0] = 0.0;
                        MC_X[1] = 0.0;
                        MC_X[2] = 0.0;
                        for(int i=0;i                 {
                                d=((float)rand())/RAND_MAX;
                                a=d*PI;
                                b=d*PI*2.0;
                                X[i+1][0]=X[0]+r*sin(a)*cos(b);//链单元的坐标
                                X[i+1][1]=X[1]+r*sin(a)*sin(b);//链单元的坐标
                                X[i+1][2]=X[2]+r*cos(a);//链单元的坐标                                                                 
                         if((i+1)>=2)                                                                                                                                                               
         {
                                    for(int counter=i-1;counter>=0;counter--)  
                            {
                                           double r0,x0,y0,z0;  
                                   x0=X[i+1][0]-X[counter][0];
                                   y0=X[i+1][1]-X[counter][1];
                                   z0=X[i+1][2]-X[counter][2];
                                   r0=pow(x0,2)+pow(y0,2)+pow(z0,2);
                                   if(r0>=4.0)
                                    {                                             
                                       d=((float)rand())/RAND_MAX;
                                           a=d*PI;
                                           b=d*PI*2.0;
                                           X[i+1][0]=X[0]+r*sin(a)*cos(b);//链单元的坐标
                                           X[i+1][1]=X[1]+r*sin(a)*sin(b);//链单元的坐标
                                           X[i+1][2]=X[2]+r*cos(a);//链单元的坐标
                                                                                                           
                                }
                                       else continue;
                                 }      
                        }
            }
                        for(int i=1;i<=N;i++){
                                MC_X[0]=MC_X[0]+ X[0];
                                MC_X[1]=MC_X[1]+ X[1];
                                MC_X[2]=MC_X[2]+ X[2];
                          }
                       
                            MC_X[0]=MC_X[0]/N;
                            MC_X[1]=MC_X[1]/N;
                            MC_X[2]=MC_X[2]/N;
                               //printf("%f, %f ,%f\n",MC_X[0],MC_X[1],MC_X[2]);
                       
                        Rg2=0.0;
                       
                        for(int i=1;i<=N;i++){   
                                X_Dis=X[0]-MC_X[0];
                                Y_Dis=X[1]-MC_X[1];
                                Z_Dis=X[2]-MC_X[2];
                                Rg2+=pow(X_Dis,2)+pow(Y_Dis,2)+pow(Z_Dis,2);
                        }
                       
                        Rg2= Rg2/N;
                        Sum_Rg2+=Rg2;
                }
               
                Sum_Rg2=Sum_Rg2/l; //平均,求出均方半径  
                fprintf(write,"输出N=%d,Sum_Rg2=%f\n",N,Sum_Rg2);
                printf("N= %d \n", N);
        }
        fclose(write);
}



int _tmain(int argc, _TCHAR* argv[])
{
                  mass_center_Rg2();//调用函数求出链的质心和Rg

            getchar();
            return 0;
}

    这个是我编的代码,目的是每产生一个坐标,都判断它是否与前面的坐标重合,如果重合,则重新产生一个新的坐标。接下来是算质心坐标,进而计算均方回转半径。
   目前我的问题是:这个和我之前计算无规行走链,得到的均方回转半径值基本一致,我要怎么改变坐标的判断条件?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

找到一些相关的精华帖子,希望有用哦~

科研从小木虫开始,人人为我,我为人人
相关版块跳转 我要订阅楼主 yali1990 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 综述论文作为代表作会不会影响评审专家的印象分? +11 yufeiwaner 2026-08-09 12/600 2026-08-12 01:27 by 南京中西医
[基金申请] 应该是93bebmhtak前后十一个字符比较关键 +17 Lanmanbaby 2026-08-09 29/1450 2026-08-12 00:24 by zhanghaozhu
[基金申请] 帮忙看看fileCode +7 wwncly 2026-08-10 13/650 2026-08-11 19:36 by 冰心玉壶晴
[基金申请] 为什么网上很多人说本周 12号出结果 +6 瞬息宇宙 2026-08-10 7/350 2026-08-11 19:25 by Tide man
[基金申请] 什么时候出结果,有咨询渠道??? +3 Tide man 2026-08-11 3/150 2026-08-11 17:54 by kudofaye
[基金申请] 分享一下我之前已中青C的计划书的filecode +3 布布和一二 2026-08-11 4/200 2026-08-11 15:20 by aasahr
[基金申请] FileCode能看出啥? +7 要乐观耀哥 2026-08-10 17/850 2026-08-11 10:50 by 要乐观耀哥
[基金申请] filecode +9 documentary 2026-08-10 9/450 2026-08-11 10:08 by wk7465
[基金申请] 基金中了 +15 laoda193707 2026-08-06 15/750 2026-08-11 00:11 by jiafei2190
[基金申请] 静等基金结果 +5 gjjjzhong 2026-08-10 16/800 2026-08-10 17:19 by Tide man
[基金申请] 关于Filecode分析方法 +3 majunge000 2026-08-10 3/150 2026-08-10 15:46 by lch2012
[基金申请] 国自然结果 +4 Vierhys 2026-08-10 8/400 2026-08-10 15:06 by Vierhys
[基金申请] 这样的filecode谁见过 +11 布布和一二 2026-08-08 22/1100 2026-08-10 11:10 by wmfsnow
[基金申请] filecode与中标关系的预测 +5 布布和一二 2026-08-07 5/250 2026-08-09 16:15 by 袁向阳007
[基金申请] 关于豆爷回答的JTJC与%2F数量 +5 yang182083 2026-08-06 7/350 2026-08-08 18:29 by zhanghaozhu
[基金申请] 关于filecode +4 布布和一二 2026-08-07 7/350 2026-08-07 22:55 by zhanghaozhu
[基金申请] 化学口download_prp&amp;fileCode的固定段好像这几天一直没变,有变的大神么? +3 Tide man 2026-08-07 4/200 2026-08-07 22:39 by Tide man
[基金申请] 固定端突然变了,今天 +6 archvillain 2026-08-06 10/500 2026-08-07 16:03 by 医学老男孩
[基金申请] filecode +14 等待解的谜 2026-08-06 19/950 2026-08-07 12:20 by wlwhappy
[基金申请] 好消息?这个有何含义??? +8 Tide man 2026-08-05 10/500 2026-08-05 16:14 by xmuxiaoyu
信息提示
请填处理意见