1.5信号的Matlab实现
- 信号的Matlab表示
绘制连续信号f(t)=Sa(t)=sin(t)/t的波形 向量表示法:
t1 = -10:0.5:10; f1 = sin(t1)./t1; figure(1); plot(t1,f1); t2 = -10:0.1:10; f2 = sin(t2)./t2; figure(2); plot(t2,f2);
符号运算表示法:
syms t; f = sin(t)/t; ezplot(f,[-10,10]);%R2019a推荐使用fplot
- 常用信号的Matlab仿真
单位阶跃信号:符号数学函数:heaviside(t) 向量数值表示:t=t1:t2;y=(t>=0);
syms t; y = heaviside(t); ezplot(y,[-3,3]); axis([-4,4,-0.5,1.5]);
- 单位冲激函数:dirac(t);
只可参与符号数学运算,但绘不出图形 dirac(1,t);%冲击偶 - 辛格函数:sinc(t);
- 信号运算的Matlab实现
信号的加减乘除运算 例:已知f1(t)=sin(2pit),f2(t)=sin(16pit),使用命令画出两信号及两信号乘积的波形图
syms t; f1 = sin(2pit); f2 = sin(16pit); f = f1.*f2; subplot(311); ezplot(f1); subplot(312); ezplot(f2); subplot(313); ezplot(f);
syms t; f = 2*heaviside(t) - heaviside(t-1) - heaviside(t-2); subplot(211); ezplot(f,[-4,5]); grid on; title(‘f(t)’); f1 = subs(f,t,-t);%符号替代命令,使用格式:subs(表达式,原变量,新变量) subplot(212); ezplot(f1,[-4,5]); grid on; title(‘f(-t)’);
- 极限的运算
极限的运算使用limit实现求解,其调用格式为: limit(f,x,a):计算符号表达式在x->a条件下的极限; limit(f,a):计算符号表达式f中默认自变量趋向于a条件下的极限; limit(t):计算符号表达式f在默认自变量趋向于0时的极限; limit(f,x,a,‘right’)和limit(f,x,a,‘left’):计算符号表达式f在x->a条件下的右极限和左极限 无穷大:inf - 微分的运算
diff(f):求符号表达式f对于默认自变量的导数; diff(f,x):求符号表达式f对于自变量x的导数; diff(f,x,n):求符号表达式f对于默认自变量的n次导数
syms a b x y z; f = x * exp(y) / y^2; diff(f,x) 答案:ans = exp(y)/y^2
- 积分的运算
int(f):求符号表达式f对于默认自变量的不定积分 int(f,x):求符号表达式f对于自变量x的不定积分 int(f,x,a,b):求符号表达式f对于默认自变量从a到b的定积分 - 级数求和
symsum(f):计算通项表达式f对于默认自变量的不定和,即求前n项和公式 symsum(f,v):计算通项表达式f对于自变量v的不定和,即求前n项和公式 symsum(f,a,b):计算通项表达式f对于默认自变量从a到b的有限和 symsum(f,v,a,b):计算通项表达式f对于自变量v从a到b的有限和
|