1
I 해요 단지 거 해결하기 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)
는 2 차원 배열을 만들 append' 대신'extend'의'사용해야합니다 : 예를 들어, 여기
2
에 대한 결과입니다. 그러나 여러분의 모든 x 값은 '0'이므로 아마 어딘가에 또 다른 버그가있을 것입니다 ... 그리고 마지막으로 같은 결과에 대해'zip'보다는 'zip'을 사용할 수 있습니다 :'x, y = my_array.T' – Julien@ 고마워. 네가 말한 대치를 적용했다. 오류는 해결되었지만 프로그램은 아무것도 반환하지 않습니다! –
돌아 오기를 기대하고 있습니까? – Julien