2014-04-01 1 views
2

특정 행동이 일어 났을 때 관찰자가 지난 10 년 (= 틱) 동안 집 (= 패치)의 홍수 횟수의 평균을 계산하기를 원합니다 케이스, 거북이에 의한 보험 적용). 이 발생은 규칙적으로 발생하지 않고 임의의 발생으로 간주 될 수 있습니다 (다소간).설정된 틱의 양에 대한 평균을 계산합니다.

기본적으로 보험 신청이 발생했을 때 지난 10 번의 틱에서 홍수의 평균을 계산하는 코드가 필요합니다.

+0

를 시도? 기존 코드는 어디에 있습니까? 당신은 당신이 기대하는 견본을 가지고 있습니까? – Layke

답변

2

패치는 변수 floodings입니다 가정하고 주어진 패치 floodings의 평균 수를 결정하고 싶습니다 : 당신은 무엇을

patches-own [ 
    floodings 
    floodingsHistory 
    floodingsMean10 
] 

; At the end of each tick, patches store the current 
; number of floodings in a list: 

ask patches [ set floodingsHistory fput floodings floodingsHistory ] 


; In case of [insurance application] patches (or a certain patch) calculate 
; the mean over a sublist that only comprises the values of the latest 10 ticks: 

ask patches [ set floodingsMean10 mean (sublist floodingsHistory 0 10) ] 
+0

덕분에, 이것은 부분적으로 나를 도와줍니다! 질문은 실제로 좀 더 복잡하지만 그 문제를 해결할 수있을 것으로 예상됩니다. 나는 모든 패치를 고려할 수 없으며, 마지막 10 틱에서 적어도 하나의 범람이있는 주택들만 고려합니다. 답변을 주셔서 감사합니다. 선생님 께 내가 사용해야 할 것이 무엇인지 내일 물어 보겠습니다. 가능한 경우 스레드를 닫을 수 있도록이 코드를 게시하겠습니다. – user3484606

+0

귀하의 질문에 주어진 정보에서 이것은 내가 얻을 수있는 것처럼 가까웠습니다 @ user3484606. 당신은 단지 그 패치가 지난 10 틱 동안에 적어도 하나의 홍수를 가졌던 평균을 계산하도록 할 수있었습니다. 그러나, 예를 들어,''[floodingsMean10> = 0.1] [...]'또는''패치의 분산 표시 [floodingsMean10] ''와 같은 패치를 묻기 만하면 실제로 패치를 서브 세트 할 수 있습니다. [floodingsMean10> 0.1]'과 함께. – Dave

관련 문제