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
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])