- 实验目的
- 学会运用MATLAB进行信号时移、反折和尺度变换。
- 学会运用MATLAB进行连续信号微分、积分运算。
- 学会运用MATLAB进行连续信号相加、相乘运算。
- 学会运用MATLAB进行连续信号的奇偶分解。
- 实验设备
- 计算机。
- MATLAB软件。
- 实验内容
1. 实验教程 p15 练习二,1;
2. 用diff和int各画出一个函数x(t)(自定),和x(t)的导数与积分图。(提示:用函数 ezplot)。
四、实验步骤
1.信号一:y(t)=3t2+t+5
源程序:
t=-6:0.01:6; %表示t的取值范围以及增长步幅。
yt=3.*t.*t+t+5; %MATLAB中用.*表示矩阵的各个元素分别相乘。
plot(t,yt),grid on
axis([-6,6,0,30])
title('练习二信号一')
图像:
2.信号二:y2(t)=tsin5Πt·u(t)
源程序:
t=-10:0.001:10;
y1=t;
y2=sin(5*pi*t);
y3=heaviside(t); %MATLAB中阶跃信号用heaviside函数表示。
plot(t,y1.*y2.*y3),grid on
axis([0,5,-10,10])
title('练习二信号二')
图像:
3.信号三:f(t)=e-tsin(10Πt)+e-t/2sin(9Πt)
源程序:
t=-5:0.001:5;
ft=exp(-t).*sin(10*pi*t)+exp(-t/2).*sin(9*pi*t);
plot(t,ft),grid on
axis([-5,5,-10,10]) %axis函数表示画图显示的横纵坐标的取值范围。
title('练习二信号三')
图像:
4.x(t)=10et+sin(2t)+(1+t)2的微分与积分图像
源程序:
syms t x1 y;
x1=10*exp(t)+sin(2*t)+(1+t)*(1+t);
dx1=diff(x1,'t') %MATLAB中diff函数表示差分。
y=int(x1,'t',-3,3) %MATLAB中int函数表示积分,-3,3表示积分上下限。
subplot(211),ezplot(dx1),grid on,title('x1的微分'); %subplot(211)表示图像分布为两行一列,且该图像位于第一行。
subplot(212),ezplot(y),grid on,title('x1的积分');
图像:
五、实验总结
1.*仅适用于矩阵的乘法,需要确保第一个矩阵中的列数与第二个矩阵中的行数匹配。如果要单独对矩阵的每个元素进行运算,则应该使用 TIMES (.*)执行按元素相乘。
2.MATLAB中subplot函数表示将界面分块并在各个分块位置建立坐标区,便于将不同的图像显示在同一界面来作对比观察。
3.MATLAB中不同的指令需要用不同的函数来完成,需要查明并牢记各种函数的功能以及用法,遇到不会或者不懂的函数,可以通过查找资料或者与同学讨论将其学会并能熟练使用。
4.在编写程序的过程中,注意各个符号需要用英文版,而不能使用中文版,否则会出现文本字符无效的提示。
5.在此次实验的过程中出现了微分函数diff的错误使用,通过查阅资料我知道了出现错误的原因是我没有定义自变量,并且还将自变量的取值范围固定了,导致无法求微分,最后用syms函数定义变量,解决了该问题。