f(t)=3cos(wt)+5sin(2wt)用matlab绘制幅频曲线和相频曲线
时间: 2024-10-13 13:19:16 浏览: 88
matlab2.rar_坐标轴_曲线MATLAB_绘制函数曲线
5星 · 资源好评率100%
在MATLAB中,可以使用`fft`函数来分析信号的频率成分,并通过`plot`函数创建幅频(magnitude spectrum)和相频(phase spectrum)曲线。对于给定的函数f(t) = 3cos(wt) + 5sin(2wt),它是一个包含两个正弦波分量的简谐信号。首先,我们需要将其转换为离散时间信号,然后进行快速傅里叶变换(FFT)。以下是步骤:
1. 定义信号的时间长度、采样率以及周期常数w和2w。
```matlab
t = 0:0.001:1; % 时间向量,假设采样率为1000Hz,时间范围从0到1秒
w = 2*pi; % 原始角频率
tw = 2*w; % 双倍角频率
f = 3*cos(w*t) + 5*sin(tw*t); % 创建信号
```
2. 使用`fft`计算离散傅里叶变换(DFT),并取其幅度和相位信息。
```matlab
Y = fft(f);
n = length(f);
frq = (0:n-1)*(f.sampleRate/(n*length(t)))/w; % 频率轴,单位为Hz
abs_Y = abs(Y/n); % 幅度谱
phase_Y = unwrap(angle(Y)); % 相位谱(去除环绕现象)
```
3. 绘制幅频曲线和相频曲线。
```matlab
figure;
subplot(2,1,1)
plot(frq, abs_Y);
title('幅频曲线');
xlabel('Frequency (Hz)');
ylabel('Magnitude');
subplot(2,1,2)
plot(frq, phase_Y);
title('相频曲线');
xlabel('Frequency (Hz)');
ylabel('Phase (radians)');
```
以上就是用MATLAB绘制幅频曲线和相频曲线的过程。运行这段代码后,你会看到第一个子图显示了两个频率成分(3Hz和6Hz)的幅度分布,第二个子图展示了相应频率的相位变化。
阅读全文