matplotlib와 함께 파이썬을 사용하여 플롯을 만들려고합니다. 나는 함수가 streaks()
이고, 확률이 p
이고 확률이 n
인 목록을 'True'로 지정하고 연속 줄무늬 목록을 반환합니다. 예를 들어 [True, False, True, True, False]
은 [1, 1, 2, 1]
입니다.중첩 루프를 사용하여 파이썬에서 플롯 만들기
이 함수를 n의 각 값에 대해 500 번 사용해야합니다 (0부터 400까지 10 단위로). n의 각 값에 대한 이러한 500 번의 시도에서 최대 연승 행보를 찾아 500 번의 시도에 대해 평균을 취해야합니다.
마지막 플롯에는 n
을 나타내는 x 축과 평균 최대 줄무늬를 나타내는 y 축이 있습니다.
내 코드는 내가 원하는 것을하지 않고 모든 구성 요소를 갖고있는 것처럼 느껴집니다. 어떤 도움을 주시면 감사하겠습니다. 감사!
def averagemaximums():
maxvals = []
avgmaxvals = []
for j in range(500):
for n in range(0, 400, 10):
maxvals.append(max(streaks(0.5, n)))
a = (sum(maxvals))/(500)
avgmaxvals.append(a)
plot(avgmaxvals)
show()
편집 : 추가 정보 요청에 따라 :
#Makes list of bools
def bools(p, n):
return (rand(n) < p)
#Makes list that counts successive values
def streaks(p, n):
run = bools(p, n)
successionlist = []
counter = 1
for j in range(1, n):
if run[j] == run[j - 1]:
counter = counter + 1
else:
successionlist.append(counter)
counter = 1
successionlist.append(counter)
return successionlist
는 [최소, 테스트, 완벽한 읽을 예]를 게시하시기 바랍니다 (http://stackoverflow.com/help/mcve). 말하자면, 우리가 실행할 수있는 포스트 코드 ('streaks (...)'정의를 추가하십시오)가 도움이됩니다. – Christian
@Christian 죄송합니다. 질문을 수정했습니다. 바라건대 지금은 충분히 명확합니다. – user2901181
@Christian 나는 그것을 다시 편집했다. 나는 마지막 두 줄을 잊어 버렸다. 나는 어떤 오류도 내지 않고있다. 그냥 잘못된 음모. – user2901181