コード例 #1
0
ファイル: MyModel.py プロジェクト: tjwjy/Model_python
def get_route(args_model,args_times,args_steps,time_max,gridDimension,grid_args):
    #初始化数据
    #args_model包含参数包括S,p,和指数gama
    #args_times包含参数包括时间的指数,上下限,要模拟的结果次数
    #args_step 包含步长的信息,指数,上限
    lstep=1
    tstep=powerlow.get_float_powerlaw(args_times[0],args_times[1],args_times[2],args_times[3])
    L_Place=Grid.get_powerlaw_grid(grid_args,dimenssionX=gridDimension,dimenssionY=gridDimension)
    L_tempPlace=[]
    gama=args_model[2]
    S=args_model[0]
    r=args_model[1]
    #随机选择起始点,并初始化所要用到的循环数据
    postion=random.choice(L_Place)
    L_tempPlace.append(postion)
    S=S+1
    index=0
    time_sum=0
    while((time_sum<time_max)&( index<len(tstep)-1)):
        tag=r*S**(gama)
        tag2=random.random()
        if(tag>tag2):
            #这时候去探索新的场所代码
            next_postion=get_next_step(grid=L_Place,beta=args_steps[0],postion=postion,max_dis=args_steps[1])
            if(next_postion==0):
                continue
            postion=next_postion
            ##更新当前坐标
            L_tempPlace.append(postion)
            S=S+1
            index=index+1
        else:
            postion=random.choice(L_tempPlace)
            L_tempPlace.append(postion)
            index=index+1
        time_sum=time_sum+tstep[index]
    return L_tempPlace
コード例 #2
0
 def set_t(self):
     if (len(self.args_t) != 0):
         self.ts = powerlow.get_float_powerlaw(self.args_t[0], self.args_t[1], self.args_t[2], self.args_t[3])