python
또는 와 같은 스크립팅 언어 기능이 있습니까 bash
?zipf와 같은 배포, 은 인덱스입니다 0<a<=1
.
추신: 거기에 있다는 걸 알아요멍청한 함수zipf 샘플을 생성할 수 있지만 a >1
.
답변1
기본 방정식에 따르면 어떻게:
#!/usr/bin/python
import sys
k = float(sys.argv[1])
s = float(sys.argv[2])
N = int(sys.argv[3])
def zipf(k, s, N):
return (1/k**s) / sum(1/n**s for n in range(1, N+1))
print zipf(k, s, N)
언어에 내장된 기본 루틴만 사용하세요. 거의 모든 다른 언어로 변환할 수 있습니다 perl
. ruby
버전은 다음과 같습니다 awk
.
#!/bin/awk -f
BEGIN {
for (n=1; n<=N; n++) {
den=den+1/n^s;
}
print (1/(k^s))/den;
}
스크립트 awk
에는 입력 파일이 필요하지 않지만 명령줄에서 변수를 할당해야 합니다.
$ /tmp/zipf.awk -vk=10 -vs=4 -vN=10
9.24183e-05
답변2
파이썬이 아닌가요?외부변수의 분포, 올바른 람다 값을 사용하세요. 알겠죠?