连续时间信号和系统时域分析及MATLAB实现 下载本文

Matlab应用实践课程设计

subplot(212); ezplot(y1); 倒相 clc; t=0:0.0001:2; y=sin(2*pi*t); y1=-y; subplot(211); plot(t,y);

axis([0 2 -1.5 1.5]); subplot(212); plot(t,y1); axis([0 2 -1.5 1.5]); 综合变化 clc; syms t;

f=sym('sin(t)/t'); %定义符号函数f(t)=sin(t)/t f1=subs(f,t,t+3); %对f进行移位 f2=subs(f1,t,2*t); %对f1进行尺度变换 f3=subs(f2,t,-t); %对f2进行反褶 subplot(2,2,1);ezplot(f,[-8,8]);grid on; subplot(2,2,2);ezplot(f1,[-8,8]);grid on; subplot(2,2,3);ezplot(f2,[-8,8]);grid on; subplot(2,2,4);ezplot(f3,[-8,8]);grid on;

交直流分解

clc;

32

Matlab应用实践课程设计

t=-1:0.001:1; f=sin(2*pi*t)+2; g=mean(f); h=f-g; subplot(311); plot(t,f);

axis([-1 1 0.5 3.5]); subplot(312); plot(t,g);

axis([-1 1 1.5 2.5]); subplot(313); plot(t,h);

axis([-1 1 -1.5 1.5]);

奇偶分解

clc; syms t;

f=sym('sin(t- 0.1)+t '); f1=subs(f,t,-t) g=1/2*(f+f1); h=1/2*(f-f1); subplot(311); ezplot(f,[-8,8]); subplot(312); ezplot(g,[-8,8]); subplot(313); ezplot(h,[-8,8]);

卷积

33

Matlab应用实践课程设计

function [f,k]=sconv(f1,f2,k1,k2,p) %计算连续信号卷积积分 f(t)=f1(t)*f2(t) % f: 卷积积分 f(t)对应的非零样值向量 % k:f(t)的对应时间向量 % f1: f1(t)非零样值向量 % f2: f2(t)的非零样值向量 % k1: f1(t)的对应时间向量 % k2: f2(t)的对应时间向量 % p:取样时间间隔

f=conv(f1,f2); %计算序列 f1 与 f2 的卷积和 f f=f*p;

k0=k1(1)+k2(1); %计算序列 f 非零样值的起点位置 k3=length(f1)+length(f2)-2; %计算卷积和 f 的非零样值的宽度

k=k0:p:k3*p; %确定卷积和 f 非零样值的时间向量 subplot(2,2,1)

plot(k1,f1) %在子图 1 绘 f1(t)时域波形图 title('f1(t)') xlabel('t') ylabel('f1(t)') subplot(2,2,2)

plot(k2,f2) %在子图 2 绘 f2(t)时波形图 title('f2(t)') xlabel('t') ylabel('f2(t)') subplot(2,2,3)

plot(k,f); %画卷积 f(t)的时域波形 h=get(gca,'position'); h(3)=2.5*h(3);

set(gca,'position',h) %将第三个子图的横坐标范围扩为原来的 2.5 倍

34

Matlab应用实践课程设计

title('f(t)=f1(t)*f2(t)') xlabel('t') ylabel('f(t)')

35