本人也是刚入MATLAB,刚刚进入这个神奇的世界时遇到许多困难,发现许多资料也解释不是很清楚,所以就想自己来总结下,当然也是希望能够和大家更好探讨学习。
首先第一个就是一些基本信号的实现,希望对大家有所帮助;
一、周期方波信号
这个信号在MATLAB是有相关的实现函数,所以大家可以很方便的使用它,当然它的图形是固定,而想要实现我们想要的,就可以利用时移和线性等性质进行变换;
这个函数是square(At,B),其中A是角频率,B是占空比;
比如代码
t=-10:0.1:10;
y=square(pi./2*t,50);
plot(t,y);
axis([-10,10,-2,2])
grid on`
其图像如下(周期为4s、占空比50%的脉冲信号)
可知不是一个标准的脉冲信号,那么如果要实现一个标准的脉冲信号(以T=4S占空比25%为例幅度为1),那么可以对其进行线性运算,代码如下
>> t=-10:0.1:10;
>> y=(square(pi./2*(t+0.5),25)+1)./2;%函数变换、进行时移、线性变换,可自己体会
>> plot(t,y);
>> axis([-10,10,-2,2])
>> grid on
而对于矩形波信号,只需要通过下述代码就能实现:
>> t=-10:0.1:10;
>> y=1*(t>-0.5)-1*(t>0.5);%利用类似t>t0这样的语句为真时返回1,可构建许多基本函数
>> plot(t,y);
>> axis([-10,10,-2,2])
>> grid on
二、阶跃函数
对于阶跃函数,MATLAB也有相关的函数实现,其为stepfun(t,t0),t为自变量范围,t0为发生阶跃的点;实现u(t)代码如下:`
>> t=-10:0.1:10;
>> y=stepfun(t,0);%其也可以通过线性、时移改变相关图像
>> plot(t,y);
>> axis([-10,10,-2,2])
>> grid on
当然,也可以通过自己书写代码进行实现,代码如下:
t=-10:0.1:10;
y=1*(t>0);%也可通过改变t>t0来进行时移
plot(t,y);
axis([-10,10,-2,2])
grid on
三、冲激串函数
对于实现冲激周期函数,可利用求余函数mod(m,n),其意思是m/n的余数,如mod(5,4)=1;
对于实现冲激串函数,可利用如下代码:
>> t=-10:0.1:10;
>> y=1*(mod(t,4)==0);%实现周期为4的冲激串,周期可变
>> plot(t,y);
>> axis([-10,10,-2,2])
>> grid on**
刚进入MATLAB,也是自己的一点学习经历,接下来也会有相关的一下学习经历分享交流,望大家指教、一同进步;