为啥在这种情况下 python 不能绘制我的函数?

Posted

技术标签:

【中文标题】为啥在这种情况下 python 不能绘制我的函数?【英文标题】:Why can't python plot my function in this scenario?为什么在这种情况下 python 不能绘制我的函数? 【发布时间】:2021-06-19 13:22:51 【问题描述】:

我有以下 Python 函数,用于计算 k 个人样本中两个人在同一天出生的概率:

def d(x):
  a=1-((factorial(365)/(factorial(365-x)))/365**x)
  return a

这很好,当我尝试绘制它,或者在数组或列表中使用时出现问题:

t=np.arange(1,50)
plt.plot(t,d(t))

所以我得到了那个 TypeError,老实说我不知道​​我做错了什么,因为这个函数本身就可以正常工作。我该如何解决这个问题?

【问题讨论】:

所以我得到了 TypeError 向我们展示整个错误回溯。 会不会是阶乘函数的问题? 您的问题是您的函数d 接受单个值。您正在尝试传递一个数组。 【参考方案1】:

试试这个:

t=np.arange(1,50)
plt.plot(t,[d(i) for i in t])

【讨论】:

以上是关于为啥在这种情况下 python 不能绘制我的函数?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 vim 在制表符的位置绘制下划线以及如何避免这种情况?

为啥 setState() 在我的情况下不能在 React 中工作?

为啥我的函数不能访问它所在类的私有变量 INSIDE?

为啥我不能在这种情况下使用 push_back? [复制]

为啥在这种重载解析情况下编译器不能告诉更好的转换目标? (协方差)

为啥要以这种方式绘制我的图表?