matlab已知信号f(t)=(1+cosπt)[ε(t)-ε(t-2)],求f(2t)和f(2-t)的波形的用subplot实现源代码
时间: 2023-07-28 11:06:55 浏览: 110
基于matlab实现的二维面阵FFT波束形成,matlab源码.zip
4星 · 用户满意度95%
以下是Matlab源代码:
```
syms t;
f(t) = (1 + cos(pi*t))*(heaviside(t) - heaviside(t-2)); % 定义f(t)
f1(t) = subs(f(t), t, 2*t); % 计算f(2t)
f2(t) = subs(f(t), t, 2-t); % 计算f(2-t)
% 绘制f(t)波形
t1 = linspace(-1, 3, 1000);
y1 = subs(f(t), t, t1);
% 绘制f(2t)波形
t2 = linspace(-0.5, 1.5, 1000);
y2 = subs(f1(t), t, t2);
% 绘制f(2-t)波形
t3 = linspace(1, 3, 1000);
y3 = subs(f2(t), t, t3);
% 绘制三个波形图
figure();
subplot(3,1,1);
plot(t1, y1);
title('f(t)');
subplot(3,1,2);
plot(t2, y2);
title('f(2t)');
subplot(3,1,3);
plot(t3, y3);
title('f(2-t)');
```
在上述代码中,使用`heaviside`函数定义了`f(t)`的表达式,`subs`函数计算了`f(2t)`和`f(2-t)`的表达式,然后使用`subplot`函数将三个波形图绘制在同一个窗口中。
阅读全文