⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bankbatchswarm.m

📁 仿真人工金融市场Jackson代码
💻 M
字号:
// #define __USE_FIXED_PROTOTYPES__  // for gcc headers#import "BankBatchSwarm.h"#import "BankModelSwarm.h"#import <collections.h>@implementation BankBatchSwarm// createBegin: here we set up the default observation parameters.+createBegin: (id) aZone {  BankBatchSwarm * obj;  obj = [super createBegin: aZone];  obj->displayFrequency = 1;  return obj;}-buildObjects {  id modelZone;  [super buildObjects];  modelZone = [Zone create: [self getZone]];  bankModelSwarm = [BankModelSwarm create: modelZone];  [bankModelSwarm buildObjects];/*  unhappinessAverager = [Averager createBegin: [self getZone]];  [unhappinessAverager setList: [bankModelSwarm getBankList]];  [unhappinessAverager setProbedSelector: M(getUnhappiness)];  unhappinessAverager = [unhappinessAverager createEnd];*/  // And open a file for writing (see -writeData for comments)  outputFile = fopen("banks.data", "w");  return self;}  -buildActions {  [super buildActions];    [bankModelSwarm buildActions];  /*  displayActions = [ActionGroup create: [self getZone]];  // Now schedule the update of the unhappiness graph  [displayActions createActionTo: unhappinessAverager message: M(update)];  [displayActions createActionTo: self message: M(writeData)];  // the displaySchedule controls how often we write data out.  displaySchedule = [Schedule createBegin: [self getZone]];  [displaySchedule setRepeatInterval: displayFrequency];  displaySchedule = [displaySchedule createEnd];  [displaySchedule at: 0 createAction: displayActions];*/  stopSchedule = [Schedule create: [self getZone]];  [stopSchedule at: 250 createActionTo: self message: M(stopRunning)];    return self;}  -activateIn: (id) swarmContext {  [super activateIn: swarmContext];  [bankModelSwarm activateIn: self];/*  [displaySchedule activateIn: self];*/  [stopSchedule activateIn: self];  return [self getSwarmActivity];}-go {  printf("No DISPLAY environment variable was set, so we're running without graphics.\n");  printf("Bank is running for 250 time steps and writing data to banks.data.\n");  fprintf(outputFile,"Starting simulation!\n") ;  [[self getActivity] run];  return [[self getActivity] getStatus];}-writeData {/*  fprintf(outputFile, "%d %g\n", getCurrentTime(),	  [unhappinessAverager getAverage]);*/  return self;}-stopRunning {  [getTopLevelActivity() terminate];  fclose(outputFile);  return self;}@end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -