如何为预定义函数生成随机值?

How to generate random values for a predefined function?

我有一个预定义函数,例如:

my_func = lambda x: (9 * math.exp((-0.5 * y) / 60))/1000

我如何根据它生成随机值,以便我可以使用 matplotlib 绘制函数的结果?

如果要绘图,请不要使用随机 x 值,而是使用范围。

您还应该使用 numpy.exp 可以将向量作为输入,并且 lambda 中的 y 应该是 xy 未定义)。

这给了我们:

import numpy as np
import matplotlib.pyplot as plt

my_func = lambda x: (9 * np.exp((-0.5 * x) / 60))/1000

xs = np.arange(-1000,10)

plt.plot(xs, my_func(xs))

输出:

取决于您要做什么,但是 random 模块是您要搜索的地方。例如,用 0 到 1 之间的 100 个值对其进行测试:

import random
my_func = lambda y: (9 * math.exp((-0.5 * y) / 60))/1000
values = [my_func(random.random()) for _ in range(100)]

或者 1000 个介于 50 和 250 之间的整数:

import random
my_func = lambda y: (9 * math.exp((-0.5 * y) / 60))/1000
values = [my_func(random.randint(50, 250)) for _ in range(1000)]

模块的文档可能有帮助:here

对于大型数据集,numpy 也可以实现同样的效果,但同样,这取决于您在这里的确切需求

P.S 我更正了你的 lambda 实际使用 y 值而不是 x,我认为这只是一个错字