给定时间t作为自变量,请构造以下三种周期函数: 1.正弦波函数 2.矩形波函数 3.三角波函数 在图中绘制出三种不同函数的时域波形图。要求: 三种波形的幅度、频率与相位均不相同。且数字大小兼容
时间: 2024-03-18 09:45:17 浏览: 12
好的,我明白了您的要求。以下是三种周期函数的示例代码和时域波形图:
1. 正弦波函数
```python
import numpy as np
import matplotlib.pyplot as plt
# 设置正弦波的参数
amplitude = 5 # 振幅
frequency = 0.5 # 频率
phase = np.pi/4 # 相位
# 生成时间序列
t = np.linspace(0, 10, 1000)
# 计算正弦波的值
y = amplitude * np.sin(2*np.pi*frequency*t + phase)
# 绘制时域波形图
plt.plot(t, y)
plt.xlabel('Time (s)')
plt.ylabel('Amplitude')
plt.title('Sinusoidal Waveform')
plt.show()
```
时域波形图:
![Sinusoidal Waveform](https://img-blog.csdnimg.cn/20210726161350882.png)
2. 矩形波函数
```python
import numpy as np
import matplotlib.pyplot as plt
# 设置矩形波的参数
amplitude = 5 # 振幅
frequency = 0.5 # 频率
duty_cycle = 0.7 # 占空比
# 生成时间序列
t = np.linspace(0, 10, 1000)
# 计算矩形波的值
y = amplitude * np.where(np.mod(t, 1/frequency) < duty_cycle/frequency, 1, 0)
# 绘制时域波形图
plt.plot(t, y)
plt.xlabel('Time (s)')
plt.ylabel('Amplitude')
plt.title('Rectangular Waveform')
plt.show()
```
时域波形图:
![Rectangular Waveform](https://img-blog.csdnimg.cn/20210726161433214.png)
3. 三角波函数
```python
import numpy as np
import matplotlib.pyplot as plt
# 设置三角波的参数
amplitude = 5 # 振幅
frequency = 0.5 # 频率
phase = np.pi/4 # 相位
# 生成时间序列
t = np.linspace(0, 10, 1000)
# 计算三角波的值
y = amplitude * (2*np.abs(np.mod(t, 1/frequency) - 1/2) - 1) * np.sin(2*np.pi*frequency*t + phase)
# 绘制时域波形图
plt.plot(t, y)
plt.xlabel('Time (s)')
plt.ylabel('Amplitude')
plt.title('Triangular Waveform')
plt.show()
```
时域波形图:
![Triangular Waveform](https://img-blog.csdnimg.cn/20210726161511573.png)