连续LTI系统的时域分析(10)

本文介绍了如何使用MATLAB进行连续时间系统的时域分析,包括零输入响应、零状态响应、冲激响应和阶跃响应的求解,以及卷积积分的计算。通过实例演示了如何处理微分方程、特征根计算、状态空间模型转换等技术。
摘要由CSDN通过智能技术生成

实验目的

1)掌握利用MATLAB对系统进行时域分析的方法;
2)掌握连续时间系统零输入响应的求解方法;
3)掌握连续时间系统零状态响应、冲激响应和阶跃响应的求解方法;
4)掌握利用计算机进行卷积积分和卷积和计算的方法。

实验要求

1)实验前,要认真预习实验任务,了解实验目的和实验内容;
2)实验时,要利用MATLAB语言编写程序代码形成独立的M文件,并调试程序使其能正确运行;
3)实验后,按要求编写实验报告,源程序要有适当的注释,以提高程序的可读性。

在这里插入图片描述

b=[1];  %微分方程右边系数向量
a=[1,1,6]; %微分方程左边系数向量
subplot(1,2,1)
impulse(b,a,0:0.1:10);% 绘出由向量a和b所定义的连续系统在t1 ~ t2时间范围内,并且以时间间隔p均匀取样的冲激响应的时域波形。
title('冲激响应');
subplot(1,2,2)
step(b,a,0:0.1:10);% 绘出由向量a和b所定义的连续系统在t1 ~ t2时间范围内,并且以时间间隔p均匀取样的阶跃响应的时域波形。
title('阶跃响应');

这里是引用

在这里插入图片描述

function [t,x]=sconv(x1,x2,t1,t2,dt)
%x1,x2为两个可近似连续信号的离散序列;t1,t2为两个信号的时间范围;dt为时间间隔
x=conv(x1,x2)*dt;%计算序列x1,x2的卷积和
t0=t1(1)+t2(1);%获取序列x非零样值的起点位置
l=length(x1)+length(x2)-2;%计算卷积和x的非零样值的宽度
t=t0:dt:(t0+l*dt);%确定卷积和x的非零样值的时间向量
end
%调用函数
dt=0.1;t1=-5:dt:5;t2=-5:dt:5;   
f1=2*(heaviside(t1+1)-heaviside(t1-1));
f2=(heaviside(t1+2)-heaviside(t1-2));
[t,f]=sconv(f1,f2,t1,t2,dt);
plot(t,f),title('f2*f1'),grid

这里是引用

在这里插入图片描述

 a=[1 4 4];  % 微分方程左侧的系数向量  3有问题
 b=[1 3];  %微分方程右侧的系数向量右
 [r,p]=residue(b,a);%residue函数求特征根p1、p2
 dt=0.1; t=0:dt:10;
 h=r(1)*exp(p(1)*t)+r(2)*exp(p(2)*t);%叠加各根分量
 subplot(1,2,1),plot(t,h),title('冲激响应');
 x=exp(-t);%任意输入信号
 y=conv(x,h)*dt;%求x和h的卷积,长度为2*length(t)-1
 subplot(1,2,2),plot(t,y(1:length(t))),title('零状态响应')
 %y(1:length(t))) 保证t和y长度相同

这里是引用

在这里插入图片描述

%数值法
a=[1 0 2];% 微分方程左侧的系数向量
n=length(a)-1;  %微分方程阶数
b=[3 4];
p=roots(a);  %特征方程求根
V=rot90(vander(p));  %生成范德蒙特矩阵
C=V\b'; %对应于各特征根系数
dt=0.1;tf=10;
t=0:dt:tf;y=zeros(1,length(t));
for k=1:n y=y+C(k)*exp(p(k)*t); end %对于有多个根用for循环方便,这个题也可以用上个方法
subplot(1,2,1);
plot(t,y),title('数值法');xlabel('t'),ylabel('real(y)'),grid on
%符号法
eq='D2y+2*y=0';con='y(0)=4,Dy(0)=1';
y=dsolve(eq,con);y=simplify(y);
subplot(1,2,2);
ezplot(y),title('符号法');grid

这里是引用

在这里插入图片描述

	a=[1 0 1];b=[1];
t=0:0.1:10;
x=cos(t); %输入
% sys1=tf(b,a);
% y1=lsim(sys1,x,t);
% subplot(1,2,1),plot(t,y1);xlabel('时间t');title('零状态响应')
[A B C D]=tf2ss(b,a);
%系统函数模型转化成状态空间模型参数
sys2=ss(A,B,C,D);%产生状态空间模型和初始状态矩阵
zi=[-1 0];%zi初始状态时的全响应
y2=lsim(sys2,x,t,zi);%全响应
% subplot(1,2,2);
plot(t,y2);
xlabel('时间');title('全响应');

这里是引用

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值