当前位置: 首页 > 面试题库 >

Python:如何避免在函数定义中出现numpy RuntimeWarning?

林炫明
2023-03-14
问题内容

我设计了一个简单的函数来返回数学函数,该函数可用于拟合实验数据。这些功能看起来很像以下内容:

def colecole_2(f,*p):
    term1=p[0] * ( 1 - 1 / (1 + numpy.power((0+1j) * 2 * numpy.pi * f * p[1], p[2])))
    term2=p[3] * ( 1 - 1 / (1 + numpy.power((0+1j) * 2 * numpy.pi * f * p[4], p[5])))
    return p[6]*(1-abs( term1+ term2))

不幸的是,我在RunTimeWarnings中遇到了麻烦:

RuntimeWarning: overflow encountered in power
RuntimeWarning: overflow encountered in divide

由于值太大或太小。但我无法自行解决此问题。有什么办法可以重新定义我的功能,使其在没有警告的情况下通过?


问题答案:

使用numpy.seterr以控制在这种情况下做什么numpy的:http://docs.scipy.org/doc/numpy/reference/generated/numpy.seterr.html

使用警告模块来控制如何显示或不显示警告:http :
//docs.python.org/library/warnings.html



 类似资料:
  • Lodash castArray函数没有任何特殊之处。有没有什么方法可以在没有任何外部库的情况下,利用最新的语言功能解决这个问题,但时间很短? 如果您不熟悉该任务: 有没有办法在没有类型检查的情况下做到这一点?请注意,我寻找最短的等效物ES6。

  • 问题内容: 我有以下内容: 但是,并非总是有一个结果会给我以下错误: NoSuchElementException:没有值 那么,如果没有值,我该如何返回? 问题答案: 您可以使用,它比检查要简单得多:

  • 问题内容: 有没有一种方法可以将一个函数定义为在一个类中是全局的(或者,实际上是在另一个函数中)?类似于定义全局变量。 问题答案: 将函数添加到当前名称空间,就像将添加任何其他名称一样。这意味着您可以在函数或方法中使用关键字: 同样适用于类主体或方法: 区别将在导入时执行顶级类主体时立即定义。 像您的所有用途一样,您可能想重新思考问题并找到另一种解决方法。例如,您可以 返回 如此创建的函数。 演示

  • 我正在设计一个名为unlink Node的非静态无效方法,它将节点n作为参数。它应该确保节点与它之前和之后的节点解除链接。它需要改变n后节点的prev和n前节点的下一个。目前,当我运行它时,我得到了错误 第111行n.getPrev(). Next=null; 尽管我已经输入了语句,以确保如果n是尾部,则不访问它的上一个,如果是头部,则不访问它的下一个,以确保没有访问null。 方法如下: 以及设

  • 问题内容: 我正在编写一个函数,该函数最多可以调用5000次。当然,我得到了。有什么办法可以以一种非常简单的方式重写此代码?: 顺便说一下,我们可以调用这些函数的深度有什么限制? 问题答案: 使用显式的对象堆栈和循环,而不是调用堆栈和递归:

  • 我被困在编写Python Selenium脚本中,似乎无法令人满意地解决我得到的这个StaleElementReistrceException。 我加载了我的页面,然后单击一个按钮,打开一个表单,允许用户向订单中添加新的信用卡。在这一点上,我做了一个WebDriverWait来暂停脚本,直到这个表单上的Save按钮变为可见。此时,重新创建页面对象,因为它已更改,我的目的是填充字段并保存卡片。 问题