gpt4 book ai didi

python从迭代返回数组

转载 作者:太空宇宙 更新时间:2023-11-04 10:35:49 25 4
gpt4 key购买 nike

我想绘制由两个均匀分布的随机变量的函数生成的数字“pi”的近似值。目标是表明使用更高的样本绘制函数值近似于“pi”。

这是我的 pi 函数:

def pi(n):
x = rnd.uniform(low = -1, high = 1, size = n) #n = size of draw
y = rnd.uniform(low = -1, high = 1, size = n)
a = x**2 + y**2 <= 1 #1 if rand. draw is inside the unit cirlce, else 0
ac = np.count_nonzero(a) #count 1's
af = np.float(ac) #create float for precision
pi = (af/n)*4 #compute p dependent on size of draw
return pi

我的问题:

我想创建一个线图,根据 n 绘制 pi() 的值。

我的拳头尝试是:

def pipl(n):
for i in np.arange(1,n):
plt.plot(np.arange(1,n), pi(i))
print plt.show()

pipl(100)

返回:

ValueError: x and y must have same first dimension

我的第二个猜测是启动一个迭代器:

def y(n):
n = np.arange(1,n)
for i in n:
y = pi(i)
print y

y(1000)

结果是:

3.13165829146
3.16064257028
3.06519558676
3.19839679359
3.13913913914

所以算法离我们不远了,但是我需要输出作为 matplotlib 可以读取的数据类型。

我读了:

http://docs.scipy.org/doc/numpy/reference/routines.array-creation.html#routines-array-creation

并尝试 tom 实现如下功能:

...
y = np.array(pi(i))
...

...
y = pi(i)
y = np.array(y)
...

以及网站提供的所有其他功能。但是,我似乎无法将迭代后的 y 值转换为 matplotlib 可以读取的值。

我是 python 的新手,所以请考虑我的简单要求。我真的被困在这里,似乎无法自己解决这个问题。

非常感谢您的帮助。

最佳答案

你可以试试这个

def pipl(n):
plt.plot(np.arange(1,n), [pi(i) for i in np.arange(1,n)])
print plt.show()

pipl(100)

给我这个情节

enter image description here

关于python从迭代返回数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23406570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com