您好,我得到了这段代码,我在函数n=1,5,10中实现了绘图。 现在我也应该画出零。如果我在(0,1,5,10)中输入n_val的:,不幸的是,我得到了错误x和y必须具有相同的第一维度,但具有形状(1000,)和(1,)。谢谢你帮助我
x = sp.symbols("x")
k = sp.symbols("k")
n = sp.symbols("n")
b = sp.Sum(((-1) ** k) * (x ** (2 * k + 1)) / sp.factorial(((2 * k + 1))), (k, 0, n))
c = sp.diff(b,x, 1)
a = sp.simplify(c)
for n_val in (1,5,10):
a_np = sp.lambdify(x, a.subs(n, n_val).doit())
x_vals = np.linspace(0, 10, 1000)
plt.plot(x_vals, a_np(x_vals), label=n_val)
plt.ylim(-2, 2)
plt.margins(x=0)
plt.legend(title='n', bbox_to_anchor=[1.02, 1.02], loc='upper left')
plt.tight_layout()
plt.show()
您可以使用Sympy: lambdify such that operations on arrays always result in arrays, also for constants?的方法,测试函数是否为常量,并在这种情况下创建常量numpy函数:
相关问题 更多 >
编程相关推荐