我要解决并用matplotlib绘制一个非线性方程,但是有一个错误说:
TypeError:zip参数#1必须支持迭代
你能帮我解决一下吗?...
import numpy as np
import matplotlib.pyplot as plt
from scipy.optimize import fsolve
r = np.arange(-100, 100, step=0.01, dtype=float)
def equation(p,r0):
x = p
r = r0
return (r * x + np.power(x,3)- np.power(x,5))
temp = []
for i in r:
x = fsolve(equation, 0, args=(i,))
temp.extend((i,x))
my_array = np.array(temp)
#print(my_array)
x, y = zip(*my_array)
plt.plot(x,y)
答案 0 :(得分:1)
正如@Julien所说,您必须使用from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get("https://example.com")
inputElement = driver.find_element_by_id("searchterm")
inputElement.send_keys('pets')
inputElement.send_keys(Keys.ENTER)
driver.find_element_by_id("mp-pusher").click()
inputElement.submit()
代替append
。此外,我猜您无法看到结果,因为您的代码段中没有extend
。您需要在plt.show()
之后立即添加。然后,输出将是:
您最好将初始猜测更改为其他内容,因为plt.plot(x,y)
是所有0
等式的答案。例如,以下是r
的结果: