MATLAB信号处理之信号的积分和微分

1、微分

syms t f2;                                          %定义符号变量?
f2=t*(2*heaviside(t)-heaviside(t-1))+heaviside(t-1);%生成一个原始信号,其中heaviside(t)为阶跃函数,当t<0时,其为0,当t=0时,其为0.5,当t>0时,其为1
t=-1:0.01:2;                                        %定义变量t的范围
subplot(121);
ezplot(f2,t);
title('原函数')
grid on
ylabel('x(t)');
f=diff(f2,'t',1);                                   %对函数f2中的变量t进行一次微分(即求一阶导数)
subplot(122)
ezplot(f,t);
title('微分函数')
grid on
ylabel('x(t)')


以上代码需要注意:因为我们这里用到了符号变量的定义,关于这个符号变量我现在也不是很清楚(等我再深入了解一下,然后再专门介绍它),我在写代码的时候发现,这个程序中变量t的定义必须放在定义函数f2的后面,我也不知道为啥,可能和符号变量有关吧,还有就是注意下符号变量的绘图函数也不是plot()了,而是变成了ezplot()

2、积分

syms t f1;                                          %定义符号变量?
f1=2*heaviside(t)-heaviside(t-1);%生成一个原始信号,其中heaviside(t)为阶跃函数,当t<0时,其为0,当t=0时,其为0.5,当t>0时,其为1
t=-1:0.01:2;                                        %定义变量t的范围
subplot(121);
ezplot(f1,t);
title('原函数')
grid on
ylabel('x(t)');
f=int(f1,'t');                                      %对函数f1中的变量t进行积分
subplot(122)
ezplot(f,t);
title('积分函数')
grid on
ylabel('x(t)')


注:

  1. 上图所求出来的积分函数是已知原函数的原函数,因为求积分就是求原函数的过程
  2. 我们在这里求的是不定积分,不定积分积出来总会有一个常数,这个常数是随意的,也就是说求出来的积分函数整体结构就如上图所示,但是它可以在纵轴方向上进行上下移动,即结果不唯一(常数C不确定)

猜你喜欢

转载自blog.csdn.net/qq_36554582/article/details/81664665