用python写一个函数,输出一个正弦波函数连续的值
时间: 2024-10-18 10:08:17 浏览: 24
python实现函数极小值
```python
import numpy as np
import matplotlib.pyplot as plt
def generate_sine_wave(frequency, duration, sample_rate):
"""
生成一个正弦波函数连续的值。
参数:
frequency (float): 正弦波的频率,单位为赫兹(Hz)。
duration (float): 正弦波的持续时间,单位为秒(s)。
sample_rate (int): 采样率,单位为样本/秒。
返回:
numpy.ndarray: 包含正弦波值的数组。
"""
t = np.linspace(0, duration, int(sample_rate * duration), endpoint=False)
y = np.sin(2 * np.pi * frequency * t)
return y
# 示例:生成一个频率为5Hz,持续时间为1秒,采样率为44100Hz的正弦波
frequency = 5
duration = 1
sample_rate = 44100
sine_wave = generate_sine_wave(frequency, duration, sample_rate)
# 绘制正弦波图形
plt.plot(sine_wave[:1000]) # 仅绘制前1000个样本以减少绘图时间
plt.xlabel('Sample Index')
plt.ylabel('Amplitude')
plt.title('Sine Wave')
plt.show()
```
阅读全文