信号在MATLAB中的运算——信号的积分和微分
对于连续时间信号,其微分运算是用 diff 函数来完成的,
其调用格式为:diff(function, 'variable', n),
其中 function:为需要进行求导运算的信号(或被赋值的符号表达式);
variable:为求导运算的独立变量;n:为求导的阶数,默认值为求一阶导。
1、信号的微分
% E_5_17.m
% 微分运算示例
clear, clc, clf;
syms t f2;
f2 = t*(2*heaviside(t) - heaviside(t-1)) + heaviside(t-1);
t = -1:0.01:2;
subplot(121); ezplot(f2,t); grid on;
ylabel('x(t)'); title('原函数');
f = diff(f2, 't', 1);
subplot(122); ezplot(f,t); grid on;
ylabel('x(t)'); title('微分后函数');
2、信号的积分
连续时间信号的积分运算用函数 int 来完成,
其调用格式为:int(function, 'variable', a,b)
其中 function:为需要进行被积的信号(或被赋值的符号表达式);
variable:为求积运算的独立变量;a、b:为积分的上下限,当a、b省略时,表示求不定积分。
% E_5_18.m
% 积分运算示例
figure
clear, clc, clf;
syms t f1;
f1 = 2*heaviside(t) - heaviside(t-1);
t = -1:0.01:2;
subplot(121); ezplot(f1,t); grid on;
ylabel('x(t)'); title('原函数');
f0 = int(f1, 't');
subplot(122); ezplot(f0,t); grid on;
ylabel('x(t)'); title('积分后函数');
3、卷积运算
卷积运算在信号处理中十分重要。在Matlab 中,提供卷积运算的函数有 conv、conv2 和 convn。
% 卷积运算
% 卷积运算在信号处理中十分重要。
% 在Matlab 中,提供卷积运算的函数有 conv、conv2 和 convn。
A = ones(1,3);
B = [1 8 8 5];
C = conv(A,B);
disp(A);
disp(B);
disp(C);
% 输出结果为:
A =
1 1 1
B =
1 8 8 5
C =
1 9 17 21 13 5