编写程序,分别采用面向对象和面向西数两种方式绘制正弦曲线和余弦曲线。 提示:利用mumapy的 linspace、 sin或 cos西数生成样本数据、正弦值或余弦值。
时间: 2024-09-08 16:03:58 浏览: 58
在Python中,我们通常会使用matplotlib库来绘制图形,无论是面向过程还是面向对象的方式。这里我会简述两个不同的方法:
**面向对象的方式 (Object-Oriented Programming)**
```python
import numpy as np
import matplotlib.pyplot as plt
class TrigonometricPlotter:
def __init__(self, func, start=0, stop=2*np.pi, num_points=400):
self.x = np.linspace(start, stop, num_points)
self.y = func(self.x)
def plot(self):
plt.plot(self.x, self.y)
plt.xlabel('角度')
plt.ylabel(func.__name__)
plt.title(f'{func.__name__}函数曲线')
plt.show()
# 使用面向对象的方式绘制正弦和余弦曲线
plotter_sin = TrigonometricPlotter(np.sin)
plotter_sin.plot()
plotter_cos = TrigonometricPlotter(np.cos)
plotter_cos.plot()
```
**面向过程的方式 (Procedural Programming)**
```python
def draw_curve(func, start=0, stop=2*np.pi, num_points=400):
x = np.linspace(start, stop, num_points)
y = func(x)
plt.figure(figsize=(8, 6))
plt.plot(x, y, label=func.__name__)
plt.xlabel('角度')
plt.ylabel(func.__name__)
plt.title(f'{func.__name__}函数曲线')
plt.legend()
plt.grid(True)
plt.show()
draw_curve(np.sin)
draw_curve(np.cos)
```
在这两个例子中,我们都用到了numpy的linspace函数来创建x轴的样本点,然后通过sin或cos函数计算对应的y值。最后,利用matplotlib来绘制和显示曲线。
阅读全文