나는 일주일 전 matplotlib로 시작했습니다. 나는Matplotlib로 다카기 기능을 플로팅
내가
from math import*
import numpy as np
import matplotlib.pyplot as plt
def phi(x):
return min(ceil(x) - x, x - floor(x))
n=50
def f(x):
return sum([phi(x*2.0**i)/(2.0**i) for i in range (1,n)])
t = np.arange(0.0, 3.0, 0.1)
plt.plot(t, map(f,t))
plt.show()
내 코드를 변경하는 기능
을 그릴려고하지만 그것은 작동하지 않습니다. 내가 얻는 오류는 다음과 같습니다.
File "C:\Documents and Settings\Macedo\Desktop\exem.py", line 15, in <module>
plt.plot(t, map(f,t))
File "C:\Python32\lib\site-packages\matplotlib\pyplot.py", line 2459, in plot
ret = ax.plot(*args, **kwargs)
File "C:\Python32\lib\site-packages\matplotlib\axes.py", line 3850, in plot
for line in self._get_lines(*args, **kwargs):
File "C:\Python32\lib\site-packages\matplotlib\axes.py", line 325, in _grab_next_args
for seg in self._plot_args(remaining, kwargs):
File "C:\Python32\lib\site-packages\matplotlib\axes.py", line 302, in _plot_args
x, y = self._xy_from_xy(x, y)
File "C:\Python32\lib\site-packages\matplotlib\axes.py", line 242, in _xy_from_xy
raise ValueError("x and y must have same first dimension")
ValueError: x and y must have same first dimension
''phi'는'return' 문을 포함해야합니까? 마치 아무것도 반환하지 않는 것처럼 보입니다. –
'return'을 'lambda'로 변경하려고 시도했지만 작동하지 않습니다. –
당신의 합계를 어느 시점에서 자르시겠습니까? – katrielalex