matlab求导实验一  基本信号在MATLAB中的表示和运算
一、实验目的
1.学会用MATLAB表示常用连续信号的方法;
2.学会用MATLAB进行信号基本运算的方法;
二、实验原理
1.连续信号的MATLAB表示
MATLAB提供了大量的生成基本信号的函数,例如指数信号、正余弦信号。表示连续时间信号有两种方法,一是数值法,二是符号法。数值法是定义某一时间范围和取样时间间隔,然后调用该函数计算这些点的函数值,得到两组数值矢量,可用绘图语句画出其波形;符号法是利用MATLAB的符号运算功能,需定义符号变量和符号函数,运算结果是符号表达的解析式,也可用绘图语句画出其波形图。
例1-1指数信号  指数信号在MATLAB中用exp函数表示。
,调用格式为  ft=A*exp(a*t)  程序是
A=1; a=-0.4;
t=0:0.01:10;      %定义时间点
ft=A*exp(a*t);    %计算这些点的函数值
plot(t,ft);          %画图命令,用直线段连接函数值表示曲线
grid on;          %在图上画方格
例1-2  正弦信号  正弦信号在MATLAB中用 sin 函数表示。
调用格式为  ft=A*sin(w*t+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;                      %在图上画方格
例1-3  抽样信号  抽样信号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('抽样信号')        %定义图的标题名字
例1-4  三角信号  三角信号在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]);
例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
例1-6复指数信号 调用格式是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('相角')
例1-7  矩形脉冲信号  矩形脉冲信号可用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;
例1-8  单位阶跃信号  单位阶跃信号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]);
例1-9  正弦信号符号算法
syms t                        %定义符号变量t
y=sin(pi/4*t)                    %符号函数表达式
ezplot(y,[-16,16])                %符号函数画图命令
或者
f=sym('sin(pi/4*t)')              %定义符号函数表达式
ezplot(f,[-16,16])
例1-10单位阶跃信号  MATTLAB符号数学函数Heaviside表示阶跃信号,但要画图需在工作目录创建Heaviside的M文件
function f=Heaviside(t)
f=(t>0); 
保存,文件名是Heaviside ,调用该函数即可画图,例
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 
   
2.信号基本运算的MATLAB实现
信号基本运算是乘法、加法、尺度、反转、平移、微分、积分,实现方法有数值法和符号法
例1-11  以f(t)为三角信号为例,求f(2t) , f(2-2t)
  t=-3:0.001:3;
  ft=tripuls(t,4,0.5);
  subplot(3,1,1);                                                                         
      plot(t,ft);  grid on;
      title ('f(t)');
      ft1= tripuls(2*t,4,0.5);
  subplot(3,1,2);