我设计了一个简单的函数来返回一个数学函数,该函数可用于将实验数据拟合到它.这些函数看起来非常像以下内容:
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))
Run Code Online (Sandbox Code Playgroud)
不幸的是,我遇到了RunTimeWarnings的麻烦:
RuntimeWarning: overflow encountered in power
RuntimeWarning: overflow encountered in divide
Run Code Online (Sandbox Code Playgroud)
由于值太大或太小.我无法自己解决这个问题.有没有办法重新定义我的功能,所以它会在没有警告的情况下通过?
我开始使用pyGTK +了解使用python和matplotlib进行交互式绘图.因此,我看了一下matplotlib网站上给出的例子.
这是本守则的简短内容:
#!/usr/bin/env python
"""
Example of embedding matplotlib in an application and interacting with
a treeview to store data. Double click on an entry to update plot
data
"""
import pygtk
pygtk.require('2.0')
import gtk
from gtk import gdk
import matplotlib
matplotlib.use('GTKAgg') # or 'GTK'
from matplotlib.backends.backend_gtk import FigureCanvasGTK as FigureCanvas
from numpy.random import random
from matplotlib.figure import Figure
Run Code Online (Sandbox Code Playgroud)
我尝试在终端中运行此脚本我收到以下错误:
Traceback (most recent call last):
File "gtk_spreadsheet.py", line 15, in <module>
from matplotlib.backends.backend_gtk import FigureCanvasGTK …Run Code Online (Sandbox Code Playgroud)