MATLAB已知信号f1(t)和f2(t)如图2-1所示,编写一个MATLAB程序Q2_2表示信号f1(t)、f2(t)、x(t)=f2(t)cos(50t)和y(t)=f1(t)+f2(t)cos(50t),画出波形,取t=0:0.01:2.5。
时间: 2024-09-29 10:15:13 浏览: 38
为了在MATLAB中表示和绘制给定的信号,我们可以使用`sin`和`cos`函数以及`plot`命令。假设我们已经有了信号f1(t)和f2(t)的数据,它们可能是通过读取文件或直接输入的形式存在。下面是一个示例程序,展示了如何定义这些信号,以及如何计算和绘制x(t)和y(t):
```matlab
% 假设 f1(t) 和 f2(t) 已经准备好了,这里以简单正弦和余弦函数为例
f1 = sin(2*pi*10*t); % 可替换为你实际的f1(t)数据
f2 = cos(2*pi*20*t); % 可替换为你实际的f2(t)数据
t = linspace(0, 2.5, 251); % 时间范围和采样点
% 定义 x(t) 和 y(t)
x = f2 .* cos(50*t); % f2(t) 乘以 cos(50t)
y = f1 + f2 .* cos(50*t); % f1(t) 加上 f2(t) 乘以 cos(50t)
% 绘制波形
figure;
subplot(2,1,1);
plot(t, f1, 'b', 'LineWidth', 2); % f1(t)
hold on; % 保持当前图像,以便叠加其他线
plot(t, f2, 'r', 'LineWidth', 2); % f2(t)
hold off; % 清除叠加
xlabel('t');
ylabel('Amplitude');
title('Signals f1(t) and f2(t)');
subplot(2,1,2);
plot(t, x, 'g', 'LineWidth', 2); % x(t) = f2(t) * cos(50t)
plot(t, y, 'm', 'LineWidth', 2); % y(t) = f1(t) + f2(t) * cos(50t)
xlabel('t');
ylabel('Amplitude');
legend('f1(t)', 'f2(t)', 'x(t)', 'y(t)', 'Location', 'Best');
% 别忘了清除hold状态,以便每个子图都有独立的颜色
hold off;
阅读全文