我想情节
如何使用开源软件绘制像这样的分段函数?
我想情节
如何使用开源软件绘制像这样的分段函数?
#!/usr/bin/env python
import numpy as np
import matplotlib.pyplot as plt
def fun (n, x):
if n <= x <= n + 1:
return float(x) - n
elif n + 1 <= x <= n + 2:
return 2.0 - x + n
return 0.0
vfun = np.vectorize(fun)
x = np.linspace(0, 10, 1000)
y = vfun(3, x)
plt.plot(x, y, '-')
plt.show()
另一种选择是在 Python中使用matplotlib包。您可以创建一个函数 f(n, x) 来相当容易地评估该函数,然后针对一组点对其进行评估。生成的绘图命令非常类似于 MATLAB,因此如果您了解 MATLAB,那么在 matplotlib 中的工作将非常容易。
如果你是学生,你可以获得一个免费的、易于安装的 Python 学术版本,其中包含 NumPy、matplotlib 和一大堆通过Enthought Python Distribution预安装的其他包。它非常有用,并且在安装核心 Python 包方面消除了很多猜测。
SymPy能够绘制您的分段函数:
from sympy import *
x = Symbol('x')
n = 2 # you have to choose some explicit number for n
f = Piecewise((0, n<=x), (x-n, x<=n+1), (2-x+n, x<=n+1), (0, True))
plot(f)