我试图用matplotlib显示函数f(x)=exp(-1/x^2)的图像,运行结果成了这样子。这到底是什么类型的错误?该如何解决?
如果要用matplotlib和sympy显示分段函数的话应该怎么写?我每次直接使用lambdify也会报错。
我试图用matplotlib显示函数f(x)=exp(-1/x^2)的图像,运行结果成了这样子。这到底是什么类型的错误?该如何解决?
错误原因:sympy.lambdify
语法错误,输入应该是符号运算的自变量和字符串函数表达式,输出是函数类型,你截图的几行纯粹是自己臆想的。
实际上,无需符号运算,直接描点作图即可,参考代码:
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-2,230)
y = np.exp(-1/x**2)
plt.plot(x,y)
plt.show()
如果要用matplotlib和sympy显示分段函数的话应该怎么写?我每次直接使用lambdify也会报错。
分段函数也同理,按照前面思路直接算出每一个点后作图即可,技巧在于利用逻辑值区分区间。以下面简单分段函数为例(更复杂函数也可以类似处理): [-1, 0] 区间 y = x^2,[0,1] 区间 y = x
x = np.linspace(-1,1,20)
y = (x<0) * x**2 + (x>=0) * x
plt.plot(x,y)
plt.show()