1
我只是要解决并绘制与matplotlib非线性方程,但有一个错误说:类型错误:绘图阵列包括元组
TypeError: zip argument #1 must support iteration
你能帮我解决它...
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)
你需要使用'的append'代替'extend'创建一个二维数组。但是你可能有另一个bug,因为你所有的'x'值都是'0' ...最后请注意,对于相同的结果,你可以使用换位而不是'zip':'x,y = my_array.T' – Julien
@朱利安:谢谢。我已经应用了你所说的替换。错误已解决,但程序不会返回任何内容! –
你期待它返回什么? – Julien