def simulate(self):
     for job in self.design:
         self.setJobParameters(job)
         job_outputs = collections.OrderedDict()  # a dictionary accessed by output variable name
         # initialize empty lists to track repetition outputs for each output variable
         for output in self.output_getters:
             job_outputs[output] = []
         for i in range(self.job_repetitions):
             self.simInitFunc()
             while not self.simStopFunc():
                 self.simStepFunc()
             outputs = self.getOutputs()
             for output in outputs:
                 job_outputs[output].append(outputs[output])
             self.outputFile.write("\n")
             self.fileWriteOutputs(outputs)
             
         # write statistics to file
         averages = collections.OrderedDict()
         stddevs = collections.OrderedDict()
         for variable in job_outputs:
             averages[variable] = U.mean(job_outputs[variable])
             stddevs[variable] = U.standardDeviation(job_outputs[variable])
         self.output("\naverages: ")
         self.fileWriteOutputs(averages)
         self.output("\nstandard deviations: ")
         self.fileWriteOutputs(stddevs)
示例#2
0
    def simulate(self):
        for job in self.design:
            self.setJobParameters(job)
            job_outputs = collections.OrderedDict(
            )  # a dictionary accessed by output variable name
            # initialize empty lists to track repetition outputs for each output variable
            for output in self.output_getters:
                job_outputs[output] = []
            for i in range(self.job_repetitions):
                self.simInitFunc()
                while not self.simStopFunc():
                    self.simStepFunc()
                outputs = self.getOutputs()
                for output in outputs:
                    job_outputs[output].append(outputs[output])
                self.outputFile.write("\n")
                self.fileWriteOutputs(outputs)

            # write statistics to file
            averages = collections.OrderedDict()
            stddevs = collections.OrderedDict()
            for variable in job_outputs:
                averages[variable] = U.mean(job_outputs[variable])
                stddevs[variable] = U.standardDeviation(job_outputs[variable])
            self.output("\naverages: ")
            self.fileWriteOutputs(averages)
            self.output("\nstandard deviations: ")
            self.fileWriteOutputs(stddevs)
 def std_pop(self):
     return  U.standardDeviation(self.theWorld.populations[self.metrics_start:])
 def std_pop(self):
     return U.standardDeviation(
         self.theWorld.populations[self.metrics_start:])