2014-04-15 3 views
3

이벤트가 발생할 확률을 계산하려고합니다. 두 개의 전역 ("성공"및 "총")을 만들어이를 구현하려고했습니다. 이벤트가 발생할 때마다 "성공"및 "전체"변수가 증가하고 이벤트가 발생하지 않을 때 (다른 하나가 발생하는 경우) "합계"만 증가합니다.NetLogo : 백분율 계산

그래서 백분율 기회를 얻으려면 "성공"변수를 "합계"로 나누고 100을 곱해야합니다.이 값을 사용자 인터페이스의 모니터에 표시하고 싶습니다. 다른 변수 "백분율"로 계산을 지정하여 모니터에 선언 할 수 있습니다.

계산이라는 프로 시저를 작성하고 이동 프로 시저에서 호출했습니다. 그러나 작업이 필요한 올바른 구문을 확신 할 수 없습니다. 나는 그것이 작동한다고 믿는 것처럼 의사 코드를 추가했습니다.

to calculate 
set percentage (count success)/(count total) 
end 

답변

3

정말 가깝습니다. count은 상담원 세트의 상담원 수를 계산합니다. successtotal은 숫자 일 뿐이므로 원하지 않습니다. 찾고있는 기본 표현은 100 * success/total입니다. 다음으로 실제로는 percentage 전역 변수가 필요하지 않습니다.

to-report percent-success 
    report 100 * success/total 
end 

그런 다음, 모니터의 "기자"필드에, 당신은 단지 percent-success을 넣어 것 대신, 당신은 기자를 만들 수 있습니다. 이 필드는 실제로 리포터 표현식을 취할 수도 있으므로 위의 리포터 프로 시저를 사용하면 조금 더 깨끗하지만 100 * success/total을 직접 입력 할 수 있습니다. 또한 "소수 자리"필드를 더 작은 것으로 설정하려고 할 것입니다.