Как построить рекурсивную функцию в matplotlib.pyplot? - PullRequest
0 голосов
/ 07 ноября 2018

Я пытаюсь построить рекурсивную функцию, которую я сделал, которая измеряет рост с течением времени. Вот функция:

def pop(start_pop, years, percentage_change, max_pop):
    if years == 0:
         return start_pop
    else:
         changes = pop(start_pop,years-1,percentage_change,max_pop)
         return changes + (1-changes/max_pop)*percentage_change*changes

print(pop(600,85,0.1,20000))

Что дает мне вывод:

19879.4425

Как я могу построить эту функцию на графике, где «лет» находится на оси х, а «max_pop» на оси у?

Спасибо за вашу помощь!

Примечание: Если это поможет, я хочу / ожидаю, когда однажды построил график, что кривая будет выглядеть как обучающая кривая.

1 Ответ

0 голосов
/ 07 ноября 2018

Вы можете просто добавить список вверху:

import matplotlib as mpl
import matplotlib.pyplot as plt
changes_plot=[]
def pop(start_pop, years, percentage_change, max_pop):
    if years == 0:
         return start_pop
    else:
        changes = pop(start_pop,years-1,percentage_change,max_pop)
        changes_plot.append(changes)
        return changes + (1-changes/max_pop)*percentage_change*changes

pop(600,85,0.1,20000)
plt.plot(changes_plot)
plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...