本文涉及内容,均可在matlab软件的命令窗口执行! 希望大家能够熟练使用MATLAB表示常用连续信号,一起共同进步吧。
指数信号在MATLAB中用exp函数表示。 调用格式为 ft=Aexp(at) 程序,如下:
A=1; a=-0.4; t=0:0.01:10; %定义时间点 ft=A*exp(a*t); %计算这些点的函数值 plot(t,ft); %画图命令,用直线段连接函数值表示曲线 grid on; %在图上画方格正弦信号在MATLAB中用 sin 函数表示。 调用格式为 ft=Asin(wt+phi),程序如下:
A=1; w=2*pi; phi=pi/6; t=0:0.01:8; %定义时间点 ft=A*sin(w*t+phi); %计算这些点的函数值 plot(t,ft); %画图命令 grid on; %在图上画方格抽样信号Sa(t)=sin(t)/t在MATLAB中用 sinc 函数表示,调用格式如下: 程序如下:
t=-3*pi:pi/100:3*pi %定义时间点 ft=sinc(t/pi); plot(t,ft); grid on; axis([-10,10,-0.5,1.2]); %定义画图范围,横轴,纵轴 title('抽样信号'); %定义图的标题名字三角信号在MATLAB中用 tripuls 函数表示。 调用格式为 ft=tripuls(t,width,skew),产生幅度为1,宽度为width,且以0为中心左右各展开width/2大小,斜度为skew的三角波。width的默认值是1,skew的取值范围是-1~+1之间。一般最大幅度1出现在t=(width/2)*skew的横坐标位置。
t=-3:0.01:3; ft=tripuls(t,4,0.5); plot(t,ft); grid on; %画图命令,并且在方格中显示 axis([-3,3,-0.5,1.5]); %定义画图范围,横轴,纵轴虚指数信号的调用格式是f=exp((j*w)*t)
t=0:0.01:15; w=pi/4; X=exp(j*w*t); Xr=real(X); %取实部 Xi=imag(X); %取虚部 Xa=abs(X); %取模 Xn=angle(X); %取相位 subplot(2,2,1),plot(t,Xr),axis([0,15,-(max(Xa)+0.5),max(Xa)+0.5]), title('实部'); subplot(2,2,3),plot(t,Xi),axis([0,15,-(max(Xa)+0.5),max(Xa)+0.5]), title('虚部'); subplot(2,2,2), plot(t,Xa),axis([0,15,0,max(Xa)+1]),title('模'); subplot(2,2,4),plot(t,Xn),axis([0,15,-(max(Xn)+1),max(Xn)+1]),title('相角'); %subplot(m,n,i) 命令是建立m行n列画图窗口,并指定画图位置i复指数信号的调用格式是f=exp((a+j*b)*t)
t=0:0.01:3; a=-1;b=10; f=exp((a+j*b)*t); subplot(2,2,1),plot(t,real(f)),title('实部') subplot(2,2,3),plot(t,imag(f)),title('虚部') subplot(2,2,2),plot(t,abs(f)),title('模') subplot(2,2,4),plot(t,angle(f)),title('相角')矩形脉冲信号可用rectpuls函数产生。 调用格式为y=rectpuls(t,width),幅度是1,宽度是width,以t=0为对称中心。
t=-2:0.01:2; width=1; ft=2*rectpuls(t,width); plot(t,ft) grid on;单位阶跃信号u(t)用“t>=0”产生,调用格式为ft=(t>=0)
t=-1:0.01:5; ft=(t>=0); plot(t,ft); grid on; axis([-1,5,-0.5,1.5]);正弦信号可用y=sin(x)表示,有两种表示方法:
syms t %定义符号变量t y=sin(pi/4*t) %符号函数表达式 ezplot(y,[-16,16]) %符号函数画图命令或者
f=sym('sin(pi/4*t)') %定义符号函数表达式 ezplot(f,[-16,16])在MATTLAB符号数学函数Heaviside表示阶跃信号,如要画图需在工作目录创建Heaviside的M文件(M文件为脚本文件)。
t=-1:0.01:3; f=heaviside(t); plot(t,f) axis([-1,3,-0.2,1.2])或者
y=sym('Heaviside(t)'); ezplot(y,[-1,5]);grid on文中有提到相同的信号类型,代码不同,但能达到同等的目的,可以根据喜好学习呀!