用pycharm编写程序,分别采用面向对象和面向函数两种方式绘制正弦曲线和余弦曲线。提示:利用 numpy的 linspace(、sin(或cos( 函数生成样本数据、正弦值或余弦值。
时间: 2024-09-06 16:01:41 浏览: 27
在PyCharm中,我们可以使用面向对象和面向函数两种方式来分别绘制正弦曲线和余弦曲线。这里我将提供两个示例:
**面向对象的方式:**
```python
import numpy as np
import matplotlib.pyplot as plt
class FunctionPlotter:
def __init__(self, func, start=0, end=2 * np.pi, num_points=100):
self.func = func
self.x = np.linspace(start, end, num_points)
def plot(self):
y = self.func(self.x)
plt.plot(self.x, y)
plt.xlabel('X')
plt.ylabel(f'{self.func.__name__} curve')
plt.title(f'Drawing {self.func.__name__} Curve')
plt.show()
# 创建正弦曲线和余弦曲线实例
sin_plotter = FunctionPlotter(np.sin)
cos_plotter = FunctionPlotter(np.cos)
sin_plotter.plot()
cos_plotter.plot()
```
**面向函数的方式:**
```python
def draw_sine_cosine(func_name, start=0, end=2 * np.pi, num_points=100):
x = np.linspace(start, end, num_points)
y = eval(f'sin(x)' if func_name == 'sine' else f'cos(x)')
plt.figure(figsize=(8,6))
plt.plot(x, y, label=func_name)
plt.legend()
plt.grid(True)
plt.title(f'Drawing {func_name} Curve')
plt.xlabel('X')
plt.ylabel(f'{func_name} curve')
plt.show()
draw_sine_cosine('sine') # 绘制正弦曲线
draw_sine_cosine('cosine') # 绘制余弦曲线
```
在这两个例子中,我们都是先生成了x轴的等间隔点,然后应用numpy的`sin()`或`cos()`函数计算对应的y值,最后用matplotlib绘制图形。