【问题标题】:How to compose function range in Python如何在 Python 中编写函数范围
【发布时间】:2012-10-07 14:09:26
【问题描述】:

所以我希望在 python 中创建以下函数的 log(y) vs log(x)。我不确定应该如何组合范围 (w) 以获得良好的图表。现在我把它留空了。

import numpy as np
import matplotlib.pyplot as plt

w =  
y = 1/(1+2.56e-8*(w)^2)

plt.plot(log(w),log(y));

好的,现在我必须再做一个情节,但它有点复杂。

w = np.arange(1e3, 1e7, 1e3)

z = 1/ (((5.89824e-15 (w ** 4))+(1-2.56e-8 (w ** 2))) ** 0.5)
b = plt.loglog(w, z);

这给我一个错误:

    z = 1/ (((5.89824e-15 (w ** 4))+(1-2.56e-8 (w ** 2))) ** 0.5)
TypeError: 'float' object is not callable

没关系,我修好了。

【问题讨论】:

  • 你知道plt.loglog这个函数吗?
  • 我不是。下面的人给我看了。

标签: python math syntax matplotlib


【解决方案1】:

您可以使用numpy.arange 函数来获取一个numpy 版本的范围。这个函数的合理范围是:

w = np.arange(1e3, 1e7, 1e3)

(即,以 1000 为步长从 1000 变为 10000000)。但是,请注意,为了让 Python 知道您正在尝试使用幂运算而不是按位异或运算符,您应该将您的行更改为:

y = 1/(1+2.56e-8*(w ** 2))

然后,如果你制作一个对数图,你最终会得到:

plt.loglog(w, y)

【讨论】:

  • 谢谢,成功了。我不知道 loglog() 函数。
  • 也可以考虑使用numpy.logspace 创建w
猜你喜欢
  • 2011-11-29
  • 2010-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-02
  • 1970-01-01
  • 1970-01-01
  • 2021-05-03
相关资源
最近更新 更多