matlab零状态零输入响应
matlab状态空间表达式的解
标题:MATLAB状态空间表达式的解析一、概述MATLAB是一种非常常用的数学软件,用于分析、设计和模拟动态系统。
在控制系统理论中,状态空间表达式是描述线性系统动态行为的重要方法。
本文旨在介绍如何使用MATLAB对状态空间表达式进行解析和分析。
二、状态空间表达式简介状态空间表达式是一种描述线性时不变系统的数学模型。
通常由状态方程和输出方程组成。
状态方程描述了系统的演化规律,而输出方程则描述了系统状态和输出之间的关系。
三、MATLAB中的状态空间表示在MATLAB中,状态空间表示可以使用ss函数进行表达。
该函数的输入参数包括系统的状态方程系数矩阵A、输入矩阵B、输出矩阵C 和前馈矩阵D。
四、求解状态空间表达式1. 稳态响应分析在MATLAB中,可以使用sys = ss(A,B,C,D)定义一个状态空间模型,然后使用step(sys)绘制系统的阶跃响应曲线。
通过阶跃响应曲线可以分析系统的稳态性能。
2. 传递函数表示使用tf(sys)可以将状态空间表示转换为传递函数表示,这样可以更方便地分析系统的特性。
3. 稳定性分析使用eig(A)可以计算状态方程系数矩阵A的特征值,从而判断系统的稳定性。
如果系统的所有特征值都是负实数,那么系统是稳定的。
4. 频域特性分析使用bode(sys)可以绘制系统的频率响应曲线,这样可以分析系统在不同频率下的特性。
五、应用实例以电机控制系统为例,假设系统的状态空间表达式为:A = [-2 -1; 3 -4]B = [1; 0]C = [0 1]D = [0]可以使用以下代码在MATLAB中求解该系统:sys = ss(A,B,C,D)step(sys)tf_sys = tf(sys)eig(A)bode(sys)六、结语本文介绍了MATLAB中状态空间表达式的解析方法,并以电机控制系统为例进行了说明。
希望本文能够帮助读者更好地理解和应用状态空间表达式在MATLAB中的求解方法。
信号与信号实验
信号与信号实验MATLAB 部分实验一:基本信号在MATLAB 中的表示和运算 一、 实验目的;1、学会用MATLAB 表示常用连续信号的方法;2、学会用MATLAB 进行信号基本运算的方法;3、学会用MATLAB 实现连续时间信号的卷积的方法。
二、 实验内容:1、绘出下列信号的时域波形(1)f(t)=(2-e-2t)u(t) (2)f(t)=cos(πt)[u(t)-u(t-1)] (3)f(t)=u(-3t+2) (4)f(t)= -(1/2)tu(t+2) 解:t1=0:0.01:5; y1=(2-exp(-2*t1)).*(t1>0); subplot(221);plot(t1,y1);grid; title('f(t)=(2-e-2t)u(t)'); t2=0:0.01:5; y2=cos(pi*t2).*((t2>0)-(t2>1)); subplot(222);plot(t2,y2);grid; title('f(t)=cos(πt)[u(t)-u(t-1)]'); t3=-2:0.01:5; y3=(-3*t3+2>0); subplot(223);plot(t3,y3);grid; title('f(t)=u(-3t+2)'); t4=-3:0.01:5; y4=(-1/2)*t4.*(t4>-2); subplot(224);plot(t4,y4);grid; title('f(t)=-(1/2)tu(t+2)');00.511.52f(t)=(2-e-2t)u(t)图 1-1f(t)=cos(πt)[u(t)-u(t-1)]图1-200.51f(t)=u(-3t+2)图1-3f(t)=-(1/2)tu(t+2)图 1-42、用MATLAB 绘出下列信号的卷积积分f1(t)*f2(t)的时域波形(1) f1(t)=tu(t), f2(t)=u(t) (2) f1(t)=u(t)-u(t-4), f2(t)=sin(πt)u(t) (3) f1(t)= e-2t u(t), f2(t)= e-t u(t) (4) f1(t)= e-t u(t), f2(t)=u(t) 解:(1)fs=1000; t=-1:1/fs:4; x1=stepfun(t,0); x2=x1.*t; y=conv(x1,x2)/fs; n=length(y1); tt=(0:n-1)/fs-2; subplot(311),plot(t,x1),grid; title('f1(t)=tu(t)'); subplot(312),plot(t,x2),grid; title(' f2(t)=u(t)'); subplot(313),plot(tt,y),grid on; title('f1(t) * f2(t)');(2)fs=1000; t=-1:1/fs:4; x1=(t>0)-(t>4); x2=sin(pi*t).*(t>0); x=conv(x1,x2)/fs; n=length(x); tt=(0:n-1)/fs-2; subplot(311);plot(t,x1);grid; title('f1(t)=u(t)-u(t-4))'); subplot(312);plot(t,x2);grid; title('f2(t)=sin(πt)u(t)'); subplot(313);plot(tt,x);grid; title('f1(t) * f2');(3)t=0:1/fs:4; x1=exp(-2*t).*(t>0); x2=exp(-t).*(t>0); x=conv(x1,x2)/fs; n=length(x); tt=(0:n-1)/fs-0; subplot(311);plot(t,x1);grid; title('f1(t)= e-2t u(t)'); subplot(312);plot(t,x2);grid; title('f2(t)= e-t u(t)'); subplot(313);plot(tt,x);grid; title('f1(t) * f2(t)');(4)t=0:1/fs:2; x1=exp(-2*t).*(t>0); x2=(t>0); x=conv(x1,x2)/fs; n=length(x); tt=(0:n-1)/fs-0; subplot(311);plot(t,x1);grid; title(' f1(t)= e-t u(t))'); subplot(312);plot(t,x2);grid; title('f2(t)=u(t)'); subplot(313);plot(tt,x);grid; title('f1(t)*f2(t)');0.51 1.52 2.53 3.540.51 1.52 2.53 3.5412345678-1 -0.5 00.51 1.52 2.53 3.54? 2-1 -1 -0.5 00.51 1.52 2.53 3.54? 2-2 -2-112 3 4 5678? 2-3实验二:连续时间LTI 系统的时域分析一、实验目的:学会用MATLAB 求解连续系统的零状态响应、冲击响应和阶跃响应。
MATLAB实验报告(1-4)
信号与系统MATLAB第一次实验报告一、实验目的1.熟悉MATLAB软件并会简单的使用运算和简单二维图的绘制。
2.学会运用MATLAB表示常用连续时间信号的方法3.观察并熟悉一些信号的波形和特性。
4.学会运用MATLAB进行连续信号时移、反折和尺度变换。
5.学会运用MATLAB进行连续时间微分、积分运算。
6.学会运用MATLAB进行连续信号相加、相乘运算。
7.学会运用MATLAB进行连续信号的奇偶分解。
二、实验任务将实验书中的例题和解析看懂,并在MATLAB软件中练习例题,最终将作业完成。
三、实验内容1.MATLAB软件基本运算入门。
1). MATLAB软件的数值计算:算数运算向量运算:1.向量元素要用”[ ]”括起来,元素之间可用空格、逗号分隔生成行向量,用分号分隔生成列向量。
2.x=x0:step:xn.其中x0位初始值,step表示步长或者增量,xn 为结束值。
矩阵运算:1.矩阵”[ ]”括起来;矩阵每一行的各个元素必须用”,”或者空格分开;矩阵的不同行之间必须用分号”;”或者ENTER分开。
2.矩阵的加法或者减法运算是将矩阵的对应元素分别进行加法或者减法的运算。
3.常用的点运算包括”.*”、”./”、”.\”、”.^”等等。
举例:计算一个函数并绘制出在对应区间上对应的值。
2).MATLAB软件的符号运算:定义符号变量的语句格式为”syms 变量名”2.MATLAB软件简单二维图形绘制1).函数y=f(x)关于变量x的曲线绘制用语:>>plot(x,y)2).输出多个图像表顺序:例如m和n表示在一个窗口中显示m行n列个图像,p表示第p个区域,表达为subplot(mnp)或者subplot(m,n,p)3).表示输出表格横轴纵轴表达范围:axis([xmax,xmin,ymax,ymin])4).标上横轴纵轴的字母:xlabel(‘x’),ylabel(‘y’)5).命名图像就在subplot写在同一行或者在下一个subplot前:title(‘……’)6).输出:grid on举例1:举例2:3.matlab程序流程控制1).for循环:for循环变量=初值:增量:终值循环体End2).while循环结构:while 逻辑表达式循环体End3).If分支:(单分支表达式)if 逻辑表达式程序模块End(多分支结构的语法格式)if 逻辑表达式1程序模块1Else if 逻辑表达式2程序模块2…else 程序模块nEnd4).switch分支结构Switch 表达式Case 常量1程序模块1Case 常量2程序模块2……Otherwise 程序模块nEnd4.典型信号的MATLAB表示1).实指数信号:y=k*exp(a*t)举例:2).正弦信号:y=k*sin(w*t+phi)3).复指数信号:举例:4).抽样信号5).矩形脉冲信号:y=square(t,DUTY) (width默认为1)6).三角波脉冲信号:y=tripuls(t,width,skew)(skew的取值在-1~+1之间,若skew取值为0则对称)周期三角波信号或锯齿波:Y=sawtooth(t,width)5.单位阶跃信号的MATLAB表示6.信号的时移、反折和尺度变换:Xl=fliplr(x)实现信号的反折7.连续时间信号的微分和积分运算1).连续时间信号的微分运算:语句格式:d iff(function,’variable’,n)Function:需要进行求导运算的函数,variable:求导运算的独立变量,n:求导阶数2).连续时间信号的积分运算:语句格式:int(function,’variable’,a,b)Function:被积函数variable:积分变量a:积分下限b:积分上限(a&b默认是不定积分)8.信号的相加与相乘运算9.信号的奇偶分解四、小结这一次实验让我能够教熟悉的使用这个软件,并且能够输入简单的语句并输出相应的结果和波形图,也在一定程度上巩固了c语言的一些语法。
信号与系统仿真作业
nGDOU-B—11—112广东海洋大学学生实验报告书(学生用表)课程名称课程号学院(系)信息学院专业班级学生姓名学号实验地点04002 实验日期实验一连时间信号的MATLAB表示和连续时间LTI系统的时域分析一、实验目的1.掌握MA TLAB产生常用连续时间信号的编程方法,并熟悉常用连续时间信号的波形和特性;2.运用MATLAB符号求解连续系统的零输入响应和零状态响应;3.运用MATLAB数值求解连续系统的零状态响应;4.运用MATLAB求解连续系统的冲激响应和阶跃响应;5.运用MATLAB卷积积分法求解系统的零状态响应。
二、实验原理1. 连续信号MATLAB实现原理从严格意义上讲,MA TLAB数值计算的方法并不能处理连续时间信号.然而,可用连续信号在等时间间隔点的取样值来近似表示连续信号,即当取样时间间隔足够小时,这些离散样值能够被MATLAB处理,并且能较好地近似表示连续信号.MATLAB提供了大量生成基本信号的函数.比如常用的指数信号、正余弦信号等都是MATLAB的内部函数。
为了表示连续时间信号,需定义某一时间或自变量的范围和取样时间间隔,然后调用该函数计算这些点的函数值,最后画出其波形图.三、实验内容1.实例分析与验证根据以上典型信号的MA TLAB函数,分析与验证下列典型信号MA TLAB程序,并实现各信号波形图的显示,连续信号的图形显示使用连续二维图函数plot().(1)正弦信号:用MA TLAB命令产生正弦信号2sin(2/4)ππ+,并会出时间0≤t≤3的波形图。
程序如下:K=2;w=2*pi ;phi=pi/4;t=0:0.01:3;ft=K*sin (w*t+phi );plot(t,ft ),grid on ;axis ([0,3,-2。
2,2.2])title (’正弦信号’)(2) 抽样信号:用MA TLAB 中的sinc(t)函数命令产生抽样信号Sa(t),并会出时间为66t ππ-≤≤的波形图。
连续时间LTI系统分析
连续时间L T I系统分析(总8页) -本页仅作为预览文档封面,使用时请删除本页-实验三 连续时间LTI 系统分析一、实验目的(一)掌握使用Matlab 进行连续系统时域分析的方法1、学会使用符号法求解连续系统的零输入响应和零状态响应2、学会使用数值法求解连续系统的零状态响应3、学会求解连续系统的冲激响应和阶跃响应(二)掌握使用Matlab 进行连续时间LTI 系统的频率特性及频域分析方法1、学会运用MATLAB 分析连续系统的频率特性2、学会运用MATLAB 进行连续系统的频域分析(三)掌握使用Matlab 进行连续时间LTI 系统s 域分析的方法1、学会运用MATLAB 求拉普拉斯变换(LT )2、学会运用MATLAB 求拉普拉斯反变换(ILT )3、学会在MATLAB 环境下进行连续时间LTI 系统s 域分析二、实验条件装有MATLAB 的电脑三、实验内容(一)熟悉三部分相关内容原理(二)完成作业1、已知某系统的微分方程如下:)(3)()(2)(3)(t e t e t r t r t r +'=+'+''其中,)(t e 为激励,)(t r 为响应。
(1) 用MATLAB 命令求出并画出2)0(,1)0(),()(3='==---r r t u e t e t 时系统的零状态响应和零输入响应(零状态响应分别使用符号法和数值法求解,零输入响应只使用符号法求解);符号法求解零输入响应: >> eq='D2y+3*Dy+2*y=0';>> cond='y(0)=1,Dy(0)=2';>> yzi=dsolve(eq,cond);>> yzi=simplify(yzi)yzi =符号法求解零状态响应:exp(-2*t)*(4*exp(t) - 3)eq1='D2y+3*Dy+2*y=Dx+3*x';eq2='x=exp(-3*t)*heaviside(t)';cond='y=0,Dy=0';yzs=dsolve(eq1,eq2,cond);yzs=simplify(yzs)yzs =(exp(-2*t)*(exp(t) - 1)*(sign(t) + 1))/2图像如下:代码:subplot(211)ezplot(yzi,[0,8]);grid ontitle('ÁãÊäÈëÏìÓ¦')subplot(212)ezplot(yzs,[0,8]);grid ontitle('Áã״̬ÏìÓ¦')数值计算法:t=0::10;sys=tf([1,3],[1,3,2]);f=exp(-3*t).*uCT(t);y=lsim(sys,f,t);plot(t,y),grid on ;axis([0 10 ]);title('ÊýÖµ¼ÆËã·¨µÄÁã״̬ÏìÓ¦')(2)使用MATLAB命令求出并画出系统的冲激响应和阶跃响应(数值法);用卷积积分法求系统的零状态响应并与(1)中结果进行比较;系统的冲激响应和阶跃响应(数值法):代码:t=0::10;sys=tf([1,3],[1,3,2]);h=impulse(sys,t);g=step(sys,t);subplot(211)plot(t,h),grid on;axis([0 10 ]);title('³å¼¤ÏìÓ¦')subplot(212)plot(t,g),grid on;axis([0 10 ]);title('½×Ô¾ÏìÓ¦'卷积积分法求系统的零状态响应:Ctsconv函数的定义:function[f,t]=ctsconv(f1,f2,t1,t2,dt)f=conv(f1,f2);f=f*dt;ts=min(t1)+min(t2);te=max(t1)+max(t2);t=ts:dt:te;subplot(221)plot(t1,f1);grid onaxis([min(t1),max(t1),min(f1)-abs(min(f1)*,max(f1)+abs(max(f1)*])title('f1(t)');xlabel('t')subplot(222)plot(t2,f2);grid onaxis([min(t2),max(t2),min(f2)-abs(min(f2)*,max(f2)+abs(max(f2)*])title('f2(t)');xlabel('t')subplot(212)plot(t,f);grid onaxis([min(t),max(t),min(f)-abs(min(f)*,max(f)+abs(max(f)*])title('f(t)=f1(t)*f2(t)');xlabel('t')求系统的零状态响应代码:dt=;t1=0:dt:10;f1=exp(-3*t1).*uCT(t1);t2=t1;sys=tf([1,3],[1,3,2]);f2=impulse(sys,t2);[t,f]=ctsconv(f1,f2,t1,t2,dt)如图,根据两图相比较,两种方法做出的零状态响应大体相同。
零输入响应和零状态响应
计算方法
利用系统的传递函数和初始条 件进行计算。
通过求解常微分方程或差分方 程ห้องสมุดไป่ตู้找到系统的零输入响应。
在MATLAB/Simulink等仿真软 件中,可以通过设置系统的初 始状态来模拟零输入响应。
02 零状态响应
定义
零状态响应:是指在系统无输入 信号的情况下,系统对初始状态
产生的响应。
描述了系统在没有输入信号作用 时,其内部状态的变化情况。
零状态响应完全取决于系统本身 的特性,与输入信号无关。
产生原因
系统内部存在储能元件(如电容、电 感),当输入信号为零时,储能元件 的能量不会立即消失,而是会以某种 形式继续存在并产生响应。
系统参数(如电阻、电感、电容等) 发生变化,导致系统内部状态发生变 化,从而产生零状态响应。
计算方法
根据系统的传递函数 和初始状态进行计算。
针对复杂系统和多尺度问题,发展基于零输入响应和零状态响应的跨学科 解决方案,促进各领域之间的交流与合作。
探索零输入响应和零状态响应在可持续发展、环境保护、公共安全等领域 的潜在应用价值,为社会发展和人类福祉做出贡献。
技术创新
开发高效、稳定的零输入响应和零状态响应算 法,提高计算效率和精度,降低计算成本。
零状态响应
零状态响应描述的是系统在外部输入作用下的输出变化。通过研究零状态响应, 可以了解系统对不同类型输入的响应特性,进而设计出更好的控制系统。
系统建模与仿真
零输入响应
在系统建模与仿真中,零输入响应用 于描述系统的内部动态特性。通过分 析零输入响应,可以深入了解系统的 内部工作原理和稳定性。
零状态响应
零状态响应用于描述系统对外部输入 的响应特性。通过研究零状态响应, 可以预测系统在不同输入条件下的行 为表现,有助于优化系统的设计和控 制。
matlab求解零状态零输入响应
matlab求解零状态零输入响应在控制系统理论中,零状态零输入响应是关于一个特定系统的动态响应的一种模型。
这种响应是指在输入信号为零的情况下,考虑到初始状态对系统的影响而产生的响应。
对于多数控制问题,除非考虑到开始时就有输入信号的情况,否则零状态零输入响应会是我们更加感兴趣的一种状态,因为它考虑到了初值的影响并且可以帮助我们得到一个特定时间内的系统响应。
在这里,我们将主要介绍如何使用MATLAB软件包来解决零状态零输入响应问题。
考虑到这种响应是一个关于时间的函数,我们将讨论如何利用MATLAB的功能包来创建一个时间序列并生成相应的输出结果。
在MATLAB中,我们可以使用过渡矩阵法(State Transition Matrix)来求解零输入响应。
该方法是将系统的状态空间描述通过定义一个从时间t1到t2的矩阵转换,输入输出关系描述为超前作用器(feedforward action),并依次解决零输入和零状态响应的问题。
因此,我们可以将求解零状态零输入响应的问题转换为一个简单的线性代数问题。
在MATLAB中,我们需要定义一个描述系统的状态空间模型,并使用矩阵乘法来表示状态空间方程和状态转换。
在MATLAB中,有两种常用的方法可以解决零输入响应问题:直接使用转移矩阵法或使用MATLAB中的laplace变换。
1. 直接使用转移矩阵法在MATLAB中,我们可以使用矩阵操作命令来实现求解零输入响应时的状态转移过程。
具体步骤如下:a. 首先,需要定义系统的状态空间模型,包括矩阵A,B,C和D。
b. 接着,我们需要使用MATLAB中的expm命令来计算过渡矩阵。
c. 最后,利用在MATLAB中定义的C和D矩阵来计算响应。
例如,在以下控制系统中:x' = Ax + B1u1 + B2u2y = Cx + Du其中,A,B1,B2,C和D由以下矩阵给出:A = [0 1 0;0 0 1;0 0 0]B1 = [0;0;1]B2 = [1;0;0]C = [1 1 1]D = 0我们可以使用以下MATLAB命令来计算系统响应:%计算过渡矩阵t = 0:0.1:10;phi = expm(A*t);plot(t,y)2. 使用MATLAB中的laplace变换另一个解决零输入响应问题的方法是使用MATLAB中的laplace变换。
电源 零极点 matlab
电源零极点 matlab介绍在电力系统中,电源是一个重要的组成部分,它为电力设备提供所需的电能。
电源的性能直接影响到电力系统的稳定性和可靠性。
为了更好地了解电源的特性和行为,我们可以使用Matlab来进行分析和模拟。
什么是零极点在电源的分析中,零极点是非常重要的概念。
零点是电源传递函数中使得输出为零的输入值,而极点则是使得传递函数无穷大的输入值。
了解电源的零极点分布可以帮助我们更好地理解电源的频率响应和稳定性。
使用Matlab分析电源的零极点Matlab是一个功能强大的数学计算软件,它提供了丰富的工具和函数来进行电源的分析。
以下是使用Matlab分析电源零极点的一般步骤:1. 定义电源传递函数首先,我们需要定义电源的传递函数。
传递函数是描述输入和输出之间关系的数学表达式。
在Matlab中,可以使用tf函数来定义传递函数。
例如,如果我们有一个传递函数为s/(s+1)的电源,可以使用以下代码进行定义:num = [1];den = [1, 1];sys = tf(num, den);2. 绘制零极点图接下来,我们可以使用zpk函数来获取电源的零极点信息,并使用zplane函数来绘制零极点图。
零极点图可以帮助我们直观地了解电源的频率响应和稳定性。
以下是绘制零极点图的代码示例:[z, p, k] = zpkdata(sys);zplane(z, p);3. 分析零极点的位置和数量通过观察零极点图,我们可以分析电源的零极点的位置和数量。
零极点的位置可以告诉我们电源的频率响应特性,而零极点的数量则与电源的稳定性相关。
通常情况下,零极点越远离原点,电源的频率响应越宽,但稳定性可能会受到影响。
4. 评估电源的稳定性除了通过零极点图来评估电源的稳定性外,我们还可以使用Matlab提供的稳定性分析工具来进行评估。
Matlab提供了一些函数,如isstable和margin,可以帮助我们快速评估电源的稳定性。
以下是使用isstable函数来评估电源稳定性的代码示例:isStable = isstable(sys);5. 优化电源设计根据对电源零极点的分析和评估结果,我们可以进一步优化电源的设计。
用MATLAB对RC、RL电路进行分析.
题目:用MATLAB 对RC 、RL 电路进行分析摘要: MATLAB 是美国Mathworks 公司开发的大型软件包,是MATrix LABoratory 的缩略语。
目前,MATLAB 广泛应用于线性代数、高等数学、物理、电路分析、信号与系统、数字信号处理、自动控制等众多领域,是当前国际上最流行的科学与工程计算的工具软件。
MATLAB 功能强大并且同其它高级语言相比具有语法规则简单、容易掌握、调试方便等特点。
Simulink 是MATLAB 软件的扩展,它是实现动态系统建模和仿真的一个软件包。
MATLAB 具有强大的图形处理功能、符号运算功能和数值计算功能。
其中系统的仿真(Simulink )工具箱是从底层开发的一个完整的仿真环境和图形界面。
在这个环境中,用户可以完成面向框图系统仿真的全部过程,并且更加直观和准确地达到仿真的目标。
本次主要介绍基于MATLAB 的一阶动态电路特性分析。
关键字:MATLAB ;仿真;图形处理;一阶动态电路。
一. RC 串联电路1.1 RC 串联电路的零输入响应动态电路中无外施激励电源,仅由动态元件初始储能所产生的响应,称为动态电路的零输入响应。
在图1所示的RC 电路中,开关S 打向2前,电容C 充电,U u u C R =+。
当开关S 打向2后,电压C R u u =,电容储存的能量将通过电阻以热能的形式释放出来【2】。
图1 RC 电路的零输入响应电路分析:由图可知 t RC o e R U i 1-=, t RC o C R e U u u 1-== t RC o R e R U R I p 222-==,t RC o C C e R U iu p 22-== 在MATALAB 的M 文件编写以下程序:U0=40;R=10;C=0.5; %输入给定参数U1=10;R1=5;C1=0.5; %输入给定参数t=[0:0.1:10]; %确定时间范围Uc1=U0*exp(-t/(R*C));Uc2=U1*exp(-t/(R*C)); %电容电压值Ur1=U0*exp(-t/(R*C));Ur2=U1*exp(-t/(R*C)); %电阻电压值I1=U0/R*exp(-t/(R*C));I2=U1/R*exp(-t/(R*C)); %计算电流值Pc1=U0^2/R*exp(-2*t/(R*C));Pc2=U1^2/R*exp(-2*t/(R*C)); %电容功率值 Pr1=U0^2/R*exp(-2*t/(R*C));Pr2=U1^2/R*exp(-2*t/(R*C)); %电阻功率值 figuresubplot(5,1,1);plot(t,Uc1,t,Uc2); title('Uc(t)的波形图')subplot(5,1,2);plot(t,Ur1,t,Ur2); title('Ur(t)的波形图')subplot(5,1,3);plot(t,I1,t,I2); title('I(t)的波形图')subplot(5,1,4);plot(t,Pc1,t,Pc2); title('Pc(t)的波形图')subplot(5,1,5);plot(t,Pr1,t,Pr2); title('Pr(t)的波形图')波形仿真图:图2 RC 串联电路零输入响应特性曲线蓝线表示U0=40;R=10;C=0.5情况下的特性曲线绿线表示U1=10;R1=5;C1=0.5情况下的特性曲线1.2 RC 串联电路的直流激励的零状态响应零状态响应就是电路在零初始状态下(动态元件初始储能为零)由外施激励引起的响应。
长江大学信号与系统matlab实验答案
实验1 信号变换与系统非时变性质的波形绘制●用MA TLAB画出习题1-8的波形。
●用MA TLAB画出习题1-10的波形。
Eg 1.8代码如下:function [y]=zdyt(t) %定义函数zdyty=-2/3*(t-3).*(heaviside(-t+3)-heaviside(-t));endt0=-10;t1=4;dt=0.02;t=t0:dt:t1;f=zdyt(t);y=zdyt(t+3);x=zdyt(2*t-2);g=zdyt(2-2*t);h=zdyt(-0.5*t-1);fe=0.5*(zdyt(t)+zdyt(-t));fo=0.5*(zdyt(t)-zdyt(-t));subplot(7,1,1),plot(t,f);title('信号波形的变化')ylabel('f(t)')grid;line([t0 t1],[0 0]);subplot(7,1,2),plot(t,y);ylabel('y(t)')grid;line([t0 t1],[0 0]);subplot(7,1,3),plot(t,x);ylabel('x(t)')grid;line([t0 t1],[0 0]);subplot(7,1,4),plot(t,g);ylabel('g(t)')grid;line([t0 t1],[0 0]);subplot(7,1,5),plot(t,h);ylabel('h(t)')grid;line([t0 t1],[0 0]);subplot(7,1,6),plot(t,fe);ylabel('fe(t)')grid;line([t0 t1],[0 0]);subplot(7,1,7),plot(t,fo);ylabel('fo(t)')grid;line([t0 t1],[0 0]);xlabel('Time(sec)')结果:Eg1.10代码如下:function [u]=f(t) %定义函数f(t) u= heaviside(t)-heaviside(t-2); endfunction [u] =y(t) %定义函数y(t)u=2*(t.*heaviside(t)-2*(t-1).*heaviside(t-1)+(t-2).*heaviside(t-2)); endt0=-2;t1=5;dt=0.01; t=t0:dt:t1; f1=f(t); y1=y(t); f2=f(t)-f(t-2); y2=y(t)-y(t-2); f3=f(t)-f(t+1); y3=y(t)-y(t+1);subplot(3,2,1),plot(t,f1); title('激励——响应波形图') ylabel('f1(t)')grid;line([t0 t1],[0 0]);-10-8-6-4-2024012信号波形的变化f (t)-10-8-6-4-2024012y (t)-10-8-6-4-2024012x (t)-10-8-6-4-2024012g (t)-10-8-6-4-2024012h (t)-10-8-6-4-202400.51f e (t)-10-8-6-4-2024-101f o (t)Time(sec)subplot(3,2,2),plot(t,y1); ylabel('y1(t)')grid;line([t0 t1],[0 0]); subplot(3,2,3),plot(t,f2); ylabel('f2(t)')grid;line([t0 t1],[0 0]); subplot(3,2,4),plot(t,y2); ylabel('y2(t)')grid;line([t0 t1],[0 0]); subplot(3,2,5),plot(t,f3); ylabel('f3(t)')grid;line([t0 t1],[0 0]); subplot(3,2,6),plot(t,y3); ylabel('y3(t)')grid;line([t0 t1],[0 0]); xlabel('Time(sec)')结果:实验2 微分方程的符号计算和波形绘制上机内容用MA TLAB 计算习题2-1,并画出系统响应的波形。
信号与系统matlab课后作业-北京交通大学
信号与系统MATLAB平时作业学院:电子信息工程学院班级::学号:教师:钱满义MATLAB 习题M3-1 一个连续时间LTI系统满足的微分方程为y ’’(t)+3y ’(t)+2y(t)=2x ’(t)+x(t)(1)已知x(t)=e -3t u(t),试求该系统的零状态响应y zs (t); (2)用lism 求出该系统的零状态响应的数值解。
利用(1)所求得的结果,比较不同的抽样间隔对数值解精度的影响。
解:(1) 由于''()3'()2()2'()(),0h t h t h t t t t δδ++=+≥则2()()()t t h t Ae Be u t --=+ 将()h t 带入原方程式化简得(2)()()'()2'()()A B t A B t t t δδδδ+++=+所以1,3A B =-=2()(3)()t t h t e e u t --=-+又因为3t ()()x t e u t -= 则该系统的零状态响应3t 23t 2t ()()()()(3)()0.5(6+5)()zs t t t y t x t h t e u t e e u t e e e u t ----=*=*-+=-- (2)程序代码 1、ts=0;te=5;dt=0.1;sys=tf([2 1],[1 3 2]);t=ts:dt:te;x=exp(-3*t).*(t>=0);y=lsim(sys,x,t)2、ts=0;te=5;dt=1;sys=tf([2 1],[1 3 2]);t=ts:dt:te;x=exp(-3*t).*(t>=0);y1=-0.5*exp(-3*t).*(exp(2*t)-6*exp(t)+5).*[t>=0];y2=lsim(sys,x,t)plot(t,y1,'r-',t,y2,'b--')xlabel('Time(sec)')legend('实际值','数值解')用lism求出的该系统的零状态响应的数值解在不同的抽样间隔时与(1)中求出的实际值进行比较将两种结果画在同一幅图中有图表 1 抽样间隔为1图表 2 抽样间隔为0.1图表 3 抽样间隔为0.01当抽样间隔dt减小时,数值解的精度越来越高,从图像上也可以看出数值解曲线越来越逼近实际值曲线,直至几乎重合。
信号与系统实验指导书(matlab软件仿真)
信号与系统实验指导书(MATLAB仿真)目录实验一MATLAB 基本应用 (2)实验二信号的时域表示 (7)实验三连续信号卷积 (11)实验四典型周期信号的频谱表示 (18)实验五傅立叶变换性质研究 (23)实验六离散信号分析 (26)实验七离散系统的Z域分析 (29)Matlab相关符号及函数说明 (37)实验一MATLAB 基本应用一、实验目的:学习MATLAB的基本用法,了解 MATLAB 的目录结构和基本功能以及MATLAB在信号与系统中的应用。
二、实验内容:例一已知x的取值范围,画出y=sin(x)的图型。
参考程序:x=0:0.05:4*pi;y=sin(x);plot(y)例二计算y=sin(π/5)+4cos(π/4)例三已知z 取值范围,x=sin(z);y=cos(z);画三维图形。
z=0:pi/50:10*pi;x=sin(z);y=cos(z);plot3(x,y,z)xlabel('x')ylabel('y')zlabel('z')例四已知x的取值范围,用subplot函数绘图。
参考程序:x=0:0.05:7;y1=sin(x);y2=1.5*cos(x);y3=sin(2*x);y4=5*cos(2*x);subplot(2,2,1),plot(x,y1),title('sin(x)')subplot(2,2,2),plot(x,y2),title('1.5*cos(x)')subplot(2,2,3),plot(x,y3),title('sin(2*x)')subplot(2,2,4),plot(x,y4),title('5*cos(2*x)')连续信号的MATLAB表示1、指数信号:指数信号Ae at在MATLAB中可用exp函数表示,其调用形式为:y=A*exp(a*t) (例取A=1,a=-0.4)参考程序:A=1;a=-0.4;t=0:0.01:10;ft=A*exp(a*t);plot(t,ft);grid on;注:grid on是一个函数,表示在画图的时候添加网格线。
基于Matlab的零输入和零状态响应
一、课程设计题目:信号系统的时域分析二、课程设计目的:1、学习MATLAB 软件的使用。
2、使学生掌握利用工具软件来实现信号系统基本概念、基本原理的方法。
3、通过编程对matlab软件的具体应用有了更好的了解,进一步加强了对函数卷积,零输入,零响应状态这三种函数状态的理解。
二、基本原理1、卷积信号的卷积是数学上的一种积分运算,两个信号的卷积定义为:信号的卷积运算在系统分析中主要用于求解系统的零状态响应。
一般情况,卷积积分的运算比较困难,但在MATLAB中则变得十分简单,MATLAB中是利用conv函数来实现卷积的。
Conv函数功能:实现二个函数和的卷积。
格式:说明:表示二个函数,表示两个函数的卷积结果。
例:已知两信号f1(t)= ε(t+1)+ε(t-2) f2(t)=ε(t-3)+ε(t-8)求卷积MATLAB程序如下:t1=-1:0.01:2;f1=ones(size(t1)); %高度为一的门函数,时间从t=-1到t=2t2=3:0.01:8;f2=ones(size(t2)); %高度为一的门函数,时间从t=3到t=8g=conv(f1,f2); %对f1和f2进行卷积t3=2:0.01:10;subplot(3,1,1),plot(t1,f1),title(‘f1’);grid %画f1的波形subplot(3,1,2),plot(t2,f2) ,title(‘f2’);grid %画f2的波形subplot(3,1,3),plot(t3,g) ,title(‘f1*f2’);grid %画g的波形其中p 1,p 2,…,p n 是特征方程a 1λn +a 2λn-1+…+a n λ+a n =0的根,它们可以用root(a)语句求得。
各系数 由y 及其各阶导数的初始值来确定。
对此有写成矩阵形式为: P 1n-1C 1+ P 2n-1C 2+…+ P n n-1C n =D n-1y 0 1012201111120111n n n n n n n C y p p p C Dy p p p C D y ----⋅⋅⋅⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⋅⋅⋅⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⋅⋅⋅⎣⎦⎣⎦⎣⎦A A A A A A 即 V•C=Y 0 其解为:C=V\Y 0 式中V 为范德蒙矩阵,在matlab 的特殊矩阵库中有vander 。
北京交通大学《信号与系统》 课后matlab作业
Matlab课后作业1.M2-1(1)Matlab程序:t=-5:0.01:5;x=(t>0)-(t>2);plot(t,x);axis([-5,5,-2,2]);仿真结果:(8)Matlab程序:t=-10:0.01:10;pi=3.14;x=sin(pi*t)./(pi*t).*cos(30*t);plot(t,x);仿真结果:M2-2Matlab程序:t=-2:0.001:2;x=(t>-1)-(t>0)+2*tripuls(t-0.5,1,0); plot(t,x);axis([-2,2,-2,2]);仿真结果:M3-3(1)function yt=f(t)yt=t.*(t>0)-t.*(t>=2)+2*(t>=2)-3*(t>3)+(t>5); (2)Matlab程序:t=-10:0.01:11;subplot(3,1,1);plot(t,f(t));title('x(t)');axis([-1,6,-2,3]);subplot(3,1,2);plot(t,f(0.5*t));axis([-1,11,-2,3]);title('x(0.5t)');subplot(3,1,3);plot(t,f(2-0.5*t));title('x(2-0.5t)');axis([-9,5,-2,3]);仿真结果:M2-9(1)Matlab程序:k=-4:7;x=[-3,-2,3,1,-2,-3,-4,2,-1,4,1,-1]; stem(k,x);仿真结果:(2)Matlab程序:k=-12:21;x=[-3,-2,3,1,-2,-3,-4,2,-1,4,1,-1]; N=length(x);y=zeros(1,3*N-2);y(1:3:end)=x;stem(k,y);仿真结果:Matlab程序:k=-1:3;x=[0,0,-3,-2,3,1,-2,-3,-4,2,-1,4,1,-1]; x1=x(1:3:end);stem(k-1,x1);仿真结果:(3)Matlab程序:k=-6:5;x=[-3,-2,3,1,-2,-3,-4,2,-1,4,1,-1]; stem(k,x);仿真结果:程序>> k=-2:9;>> x=[-3,-2,3,1,-2,-3,-4,2,-1,4,1,-1]; >> stem(k,x);结果程序>> k=-4:7;>> x=[-3,-2,3,1,-2,-3,-4,2,-1,4,1,-1]; >> xk=fliplr(x);>> k1=-fliplr(k);>> stem(k1,xk);结果M3-1(1)程序>> ts=0;te=5;dt=0.01; >> sys=tf([2 1],[1 3 2]); >> t=ts:dt:te;>> x=exp(-3*t).*(t>=0); >> y=lsim(sys,x,t);>> plot(t,y);>> xlabel('Time(sec)') >> ylabel('y(t)')结果(2)程序>> ts=0;te=5;dt=0.0001; >>sys=tf([2 1],[1 3 2]); >>t=sys:dt:te;>>x=exp(-3*t).*(t>=0); >>y=lsim(sys,x,t);>>plot(t,y);>>xlabel('Time(sec)') >>ylabel('y(t)')结果M3-4>> x=[0.85,0.53,0.21,0.67,0.84,0.12]; >> k1=-2:3;>> h=[0.68,0.37,0.83,0.52,0.71];>> k2=-1:3;>> y=conv(x,h);>> k=(k1(1)+k2(1)):(k1(end)+k2(end)); >> stem(k,y)结果M6-1(1)>> num=[16 0 0];>> den=[1 5.6569 816 2262.7 160000]; >> [r,p,k]=residue(num,den)得r =0.0992 - 1.5147i0.0992 + 1.5147i-0.0992 + 1.3137i-0.0992 - 1.3137ip =-1.5145 +21.4145i-1.5145 -21.4145i-1.3140 +18.5860i-1.3140 -18.5860ik =[]所以可得 X(s)=j s j j s j j s j 5860.183140.13137.10992.05860.183140.13137.10992.04145.215145.15147.10992.021.4145j -1.5145s j 5147.1-0992.0++--+-++-++++++x(t)=3.0108e-1.5145tcos(21.4145t-1.5054)u(t)+2.635e-1.314tcos(18.586t+1.6462)u(t ) (2)X(s)=)2552^)(5(2^+++s s s s解:>> num=[1 0 0 0];den=conv([1 5],[1 5 25]);[r,p,k]=residue(num,den)[angle,mag]=cart2pol(real(r),imag(r))得r =-5.0000 + 0.0000i-2.5000 - 1.4434i-2.5000 + 1.4434ip =-5.0000 + 0.0000i-2.5000 + 4.3301i-2.5000 - 4.3301ik =1angle =3.1416-2.61802.6180mag =5.00002.88682.8868所以X(s)=3301.45.24434.15.23301.45.24434.15.25s 5.0-1j s j j s j +++-+-+--+++x(t)=δ(t)+5e-5tu(t)+5.7736e-2.5tcos(4.3301t-2.618)u(t)M6-2程序>> t=0:0.1:10;>> y1=(2.5*exp(-t)-1.5*exp(-3*t)).*(t>=0);>> y2=((1/3)+2*exp(-t)-(5/6)*exp(-3*t)).*(t>=0);>> y=((1/3)+(9/2)*exp(-t)-(7/3)*exp(-3*t)).*(t>=0);>> plot(t,y1,'r-',t,y2,'g--',t,y,'b-')>> xlabel('Time');>> legend('零输入响应','零状态响应','完全响应')结果M6-5>> num=[1 2];>> den=[1 2 2 1];>> sys=tf(num,den);>> pzmap(sys)>> num=[1 2];den=[1 2 2 1];[r,p,k]=residue(num,den) [angle,mag]=cart2pol(real(r),imag(r))1.0000 + 0.0000i-0.5000 - 0.8660i-0.5000 + 0.8660ip =-1.0000 + 0.0000i-0.5000 + 0.8660i-0.5000 - 0.8660ik =[]angle =-2.09442.0944mag =1.00001.00001.0000所以H(s)=866.05.0866.05.0866.05.0866.05.01s 1j s j j s j +++-+-+--++系统冲激响应h(t)=e-tu(t)+2e-0.5tcos(0.866t-2.0944)u(t)>> num=[1 2];>> den=conv([1 0],[1 2 2 1]);>> [r,p,k]=residue(num,den)r =-1.0000 + 0.0000i-0.5000 + 0.8660i-0.5000 - 0.8660i2.0000 + 0.0000ip =-1.0000 + 0.0000i-0.5000 + 0.8660i-0.5000 - 0.8660i0.0000 + 0.0000ik =[][angle,mag]=cart2pol(real(r),imag(r))angle =3.14162.0944-2.0944mag =1.00001.00001.00002.0000所以Y(s)=s j s j j s j 2866.05.0866.05.0866.05.0866.05.0-1s 1-+++--+-++++ 系统阶跃响应y(t)=e-tu(t)+2e-0.5tcos(0.866t+2.0944)u(t)因为系统的冲激响应h(t)=e-tu(t)-1.00001e-0.5tcos(0.866t)u(t)+1.73205e-0.5tsin(0.866t)u(t) 所以系统的频率响应H(j ω)=5.0)866.0(866.05.0)866.0(866.05.0)866.0(5.05.0)886.0(5.01j 1j j j j ++--+--++-+++++ωωωωω。
【最新精选】基于matlab的零输入和零状态响应
一、课程设计题目:信号系统的时域分析二、课程设计目的:1、学习MATLAB 软件的使用。
2、使学生掌握利用工具软件来实现信号系统基本概念、基本原理的方法。
3、通过编程对matlab软件的具体应用有了更好的了解,进一步加强了对函数卷积,零输入,零响应状态这三种函数状态的理解。
二、基本原理1、卷积信号的卷积是数学上的一种积分运算,两个信号的卷积定义为:信号的卷积运算在系统分析中主要用于求解系统的零状态响应。
一般情况,卷积积分的运算比较困难,但在MA TLAB中则变得十分简单,MA TLAB中是利用conv函数来实现卷积的。
Conv函数功能:实现二个函数和的卷积。
格式:说明:表示二个函数,表示两个函数的卷积结果。
例:已知两信号f1(t)= ε(t+1)+ε(t-2) f2(t)=ε(t-3)+ε(t-8)求卷积MATLAB程序如下:t1=-1:0.01:2;f1=ones(size(t1)); %高度为一的门函数,时间从t=-1到t=2t2=3:0.01:8;f2=ones(size(t2)); %高度为一的门函数,时间从t=3到t=8g=conv(f1,f2); %对f1和f2进行卷积t3=2:0.01:10;subplot(3,1,1),plot(t1,f1),title(‘f1’);grid %画f1的波形subplot(3,1,2),plot(t2,f2) ,title(‘f2’);grid %画f2的波形subplot(3,1,3),plot(t3,g) ,title(‘f1*f2’);grid %画g的波形2、零输入,零状态响应一般的连续时间系统分析有以下几个步骤: ①求解系统的零输入响应; ②求解系统的零状态响应; ③求解系统的全响应; ④分析系统的卷积;⑤画出它们的图形. 下面以具体的微分方程为例说明利用MATLAB 软件分析系统的具体方法.2.1.连续时间系统的零输入响应描述n 阶线性时不变(LTI )连续系统的微分方程为:已知y 及各阶导数的初始值为y(0),y (1)(0),… y(n-1)(0), 求系统的零输入响应。
连续时间系统的时域分析实验报告
实验二连续时间系统的时域分析一、实验目的通过使用MATLAB 软件对连续时间线性非时变系统的时域特性进行仿真分析,熟悉IT 系统在典型激励下的响应及特征,熟悉相应MATLAB 函数的调用格式和作用,熟悉井掌握用MATLAB 函数求解冲激响应、阶跃响应、零输入响应、零状态响应及全响应的方法。
二、实验原理(一)连续时间系统的时域分析方法 连续时间线性非时变系统(LTI )的输入()t f 与输出()t y 可以用线性常系数微分方程来描述:()()()()()()()()()()t f b t f b t fb t y a t y a t y a t y a m m n n n n 0'10'111++=++++--如果已知系统的输入信号()t f 及系统的初始条件为()()()()()-----0,,0,0,01'''n y y y y ,就可以利用解析方法求出系统的响应。
线性系统的全响应由零输入响应分量和零状态响应分量组成。
零输入响应是指当输入为零时仅由t=0的初始条件产生的系统响应,零状态响应是当初始条件(在t=0)假定为零时仅由0≥t 时的输入产生的系统响应分量。
零输入响应(单极点时)为:()∑==+++=nk t k tn ttx k n e c ec ec ec t y 12121λλλλ f式中,n c c c 、、、 21为任意待定常数,由初始条件确定。
零状态响应为:()()()τττd t h f t y f -=⎰∞∞-此式是对任意输入()t f ,用单位冲激响应()t h 形式表示的零状态响应()t y f 的公式。
已知()t h 就可确定任意输入()t f 的零状态响应()t y f ,即系统对任意输入的响应都可以用单位冲激响应确定。
系统总响应为:()()()()()τττλd t h f ec t y t y t y tnj j f x j -+=+=⎰∑∞∞-=1对于高阶系统,手工计算非常繁琐。
MATLAB 3.连续时间LTI系统的时域分析
1
3.连续时间 LTI 系统的时域分析
作业题
2、某连续系统的输入为 e(t),输出为 y(t),系统的微分方程为:y ’’(t)+5y ’(6)+6y(t)=3f ’(t)+2f(t) 绘出该系统的单位冲激响应和单位阶跃响应时域图形 若f t = ������ −2������ ������(������),绘出系统的零状态响应时域图形
将激励信号和单位冲击响应进行卷积,由下图发现结果一致。
6
3.连续时间 LTI 系统的时域分析
作业题
4、如下图所示的电路中,已知 电压 y(t ) 作为系统输出:
R1 R2 R3 4() , L1 L2 1( H ) ,如果以电阻 R3 上
请画出系统的冲击响应 h(t) 请画出系统在激励e(������) = 12������(������)(v)作用下的零状态响应,要求写出系统微分方程的求 解步骤。 对所求结果进行验证。
零输入响应: eq1='D2y+4*Dy+4*y=0'; cond='Dy(-0.01)=1,y(-0.01)=1'; answer=dsolve(eq1,cond) answer = 103/(100*exp(1/50)*exp(2*t))+ (3*t)/(exp(1/50)*exp(2*t)) >> 全响应: eq1='D2y+4*Dy+4*y=Df+3*f'; eq2='f=exp(-t)*heaviside(t)'; cond='Dy(-0.01)=1,y(-0.01)=1'; answer=dsolve(eq1,eq2,cond); simplify(answer.y) ans = (3*t+2*exp(t+1/50)*heaviside(t)-2*exp(1/50)*heaviside(t)-t*exp(1/50)* heaviside(t) + 103/100)/exp(2*t + 1/50)
基于Matlab的信号与系统实验指导
基于Matlab 的信号与系统实验指导实验一 连续时间信号在Matlab 中的表示一、实验目的1、学会运用Matlab 表示常用连续时间信号的方法2、观察并熟悉这些信号的波形和特性二、实验原理及实例分析1、信号的定义与分类2、如何表示连续信号?连续信号的表示方法有两种;符号推理法和数值法。
从严格意义上讲,Matlab 数值计算的方法不能处理连续时间信号。
然而,可利用连续信号在等时间间隔点的取样值来近似表示连续信号,即当取样时间间隔足够小时,这些离散样值能被Matlab 处理,并且能较好地近似表示连续信号。
3、Matlab 提供了大量生成基本信号的函数。
如:(1)指数信号:K*exp(a*t)(2)正弦信号:K*sin(w*t+phi)和K*cos(w*t+phi)(3)复指数信号:K*exp((a+i*b)*t)(4)抽样信号:sin(t*pi)注意:在Matlab 中用与Sa(t)类似的sinc(t)函数表示,定义为:)t /()t (sin )t (sinc ππ=(5)矩形脉冲信号:rectpuls(t,width)(6)周期矩形脉冲信号:square(t,DUTY),其中DUTY 参数表示信号的占空比DUTY%,即在一个周期脉冲宽度(正值部分)与脉冲周期的比值。
占空比默认为0.5。
(7)三角波脉冲信号:tripuls(t, width, skew),其中skew 取值范围在-1~+1之间。
(8)周期三角波信号:sawtooth(t, width)(9)单位阶跃信号:y=(t>=0)三、实验内容1、验证实验内容直流及上述9个信号2、程序设计实验内容(1)利用Matlab 命令画出下列连续信号的波形图。
(a ))4/3t (2cos π+(b ))t (u )e 2(t -- (c ))]2()(u )][t (cos 1[--+t u t π(2)利用Matlab 命令画出复信号)4/t (j 2e)t (f π+=的实部、虚部、模和辐角。
matlab课程设计参考题目
课题一:连续时间信号和系统时域分析及MATLAB实现课题要求:深入研究连续时间信号和系统时域分析的理论知识。
利用MATLAB强大的图形处理功能、符号运算功能以及数值计算功能,实现连续时间信号和系统时域分析的仿真波形。
课题内容:一、用MATLAB实现常用连续时间信号的时域波形(通过改变参数,分析其时域特性)。
1、单位阶跃信号,2、单位冲激信号,3、正弦信号,4、实指数信号,5、虚指数信号,6、复指数信号。
二、用MATLAB实现信号的时域运算1、相加,2、相乘,3、数乘,4、微分,5、积分三、用MATLAB实现信号的时域变换(参数变化,分析波形变化)1、反转,2、使移(超时,延时),3、展缩,4、倒相,5、综合变化四、用MATLAB实现信号简单的时域分解1、信号的交直流分解,2、信号的奇偶分解五、用MATLAB实现连续时间系统的卷积积分的仿真波形给出几个典型例子,对每个例子,要求画出对应波形。
六、用MATLAB实现连续时间系统的冲激响应、阶跃响应的仿真波形。
给出几个典型例子,四种调用格式。
七、利用MATLAB实现连续时间系统对正弦信号、实指数信号的零状态响应的仿真波形。
给出几个典型例子,要求可以改变激励的参数,分析波形的变化。
课题二:离散时间信号和系统时域分析及MATLAB实现。
课题要求:深入研究离散时间信号和系统时域分析的理论知识。
利用MATLAB强大的图形处理功能、符号运算功能以及数值计算功能,实现离散时间信号和系统时域分析的仿真波形。
课题内容:一、用MATLAB绘制常用信号的时域波形(通过改变参数分析其时域特性)1、单位序列,2、单位阶跃序列,3、正弦序列,4、离散时间实指数序列,5、离散时间虚指数序列,6、离散时间复指数序列。
二、用MATLAB实现信号的时域运算1、相加,2、相乘,3、数乘。
三、用MATLAB实现信号的时域变换(参数变化,分析波形的变化)1、反转,2、时移(超时,延时),3、展缩,4、倒相。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 已知离散时间系统的差分方程为:2y(n) - y(n-1) - 3y(n-2)=2x(n) - x(n-1)x(n)= 0.5nu(n) , y(-1)=1,y(-2)=3 , 试用filter 函数求系统的零输入响应、零状态响应和全响应.解:将差分方程Z 变换得:12112()[()(1)]3[()(1)(2)]2()[()(1)]Y z z Y z y z Y z z y y X z z X z x -----+--+-+-=-+- …………………………………….(1) 依题意有:x(-1)=0,x(-2)=0,y(-1)=1,y(-2)=3 ,X(z)=1110.50.5z z z -=-- 将上式变形如下: 1211(23)()[(1)3(1)3(2)](2)()z z Y z y z y y z X z --------+-+-=- ………..(2) 1211(23)()(2)()[(1)3(1)3(2)]z z Y z z X z y z y y ------=-+-+-+-1211(23)()(2)()[103]z z Y z z X z z ------=-++ (3)易得系统函数为H(z)= 12122222323z z z z z z z -----=---- ① 零输入时零输入时,x(n)=0,差分方程右边为0,z 变换后应为121(23)()103z z Y z z -----=+112103()23z Y z z z ---+=-- =2210323z z z z +-- =71835152z z z z ++- 将Y(z)进行Z 反变换,得到其零输入响应为: y(n)= 7183[(1)()]()552n n u n -+ ② 零状态时零状态时,将y(-1)=0,y(-2)=0代入上面的式(2)中,得Y(z)= 112223z z z ------X(z)= 112223z z z ------1110.5z --=22223z z z --=233 5152 z z z z++-将其Z反变换,得到零状态响应为:y(n)=233 [(1)()]() 552n n u n -+③全响应与上面同理,y(-1)=1,y(-2)=3将上面式(3)变形得:Y(z)=2212323z zz z+--=92135152z zz z++-Z反变换得全响应为Y(n)=921[]()35152z zu n z z++-程序代码:%第二章Z变换第2.12题程序clear all;close all;num=[2 -1 0]; %系统函数分子的系数den=[2 -1 -3]; %系统函数分母的系数n=0:50;nl=length(n);%求零输入响应y01=[1 3]; %y的初始状态x01=[0 0]; %x 的初始状态x1=zeros(1,nl);zi1=filtic(num,den,y01,x01); %为filter函数准备初始值y1=filter(num,den,x1,zi1); %求零输入响应subplot(311);stem(n,y1,'r.');title('零输入响应');grid on;%求零状态响应y02=[0 0];x02=[0 0];x2=0.5.^n;zi2=filtic(num,den,y02,x02);y2=filter(num,den,x2,zi2);subplot(312);stem(n,y2,'r.');title('零状态响应');grid on;%求全响应y03=[1 3];x03=[0 0];x3=0.5.^n;zi3=filtic(num,den,y03,x03);y3=filter(num,den,x1,zi3);subplot(313);stem(n,y3,'r.');title('全响应');grid on;运行结果如下:2. 已知离散系统的系统函数分别为(1)2321()21z zH zz--=-(2)31()1zH zz+=-(3)2322()2241zH zz z z+=+-+(4)332()0.20.30.4zH zz z z=+++试用MATLAB实现下列分析过程:①求出系统的零极点位置;②绘出系统的零极点图,根据零极点图判断系统的稳定性;③绘出系统单位响应的时域波形,并分析系统稳定性与系统单位响应时域特性的关系。
解:程序代码如下:%%第二章Z变换第2.13题程序clear all;close all;%题(1)a1=[2 0 0 -1]; %系统函数分母的系数b1=[0 2 -2 -1]; %系统函数分子的系数p1=roots(a1), %求极点pa1=abs(p1), %求极点到坐标原点的距离,看它是否大于1,若有一个大于1, %则系统不稳定;若所有的都小于1,则系统稳定q1=roots(b1), %求零点h1=impz(b1,a1); %求单位响应subplot(421);zplane(b1,a1);%画零极点图title('(1)的零极点图');subplot(425);stem(h1,'.'); %单位响应的时域波形grid on;title('(1)的单位响应的时域波形');%题(2)a2=[3 0 0 -1];b2=[0 0 1 1];p2=roots(a2),pa2=abs(p2),q2=roots(b2),h2=impz(b2,a2);subplot(422);zplane(b1,a1);title('(2)的零极点图');subplot(426);stem(h2,'.');grid on;title('(2)的单位响应的时域波形');%题(3)a3=[1 2 -4 1];b3=[0 1 0 2];p3=roots(a3),pa3=abs(p3),q3=roots(b1),h3=impz(b3,a3);subplot(423);zplane(b3,a3);title('(3)的零极点图');subplot(427);stem(h3,'.');grid on;title('(3)的单位响应的时域波形');%题(4)a4=[1 0 0 0];b4=[1 0.2 0.3 0.4];p4=roots(a4),pa4=abs(p4),q4=roots(b4),h4=impz(b4,a4);subplot(424);zplane(b1,a1);title('(1)的零极点图');subplot(428);stem(h4,'.');grid on;title('(1)的单位响应的时域波形');运行结果如下:3. 已知描述离散系统的差分方程为:y(n) - y(n-1) - y(n-2)=4x(n) - x(n-1) - x(n-2)试用MA TLAB绘出系统的零极点分布图,并绘出系统的幅频和相频特性曲线,分析该系统的作用解:程序代码如下:clear all;close all;num=[4,-1,-1];den=[1 -1 -1];[H,w]=freqz(num,den);subplot(311);zplane(num,den);subplot(312);plot(w/pi,abs(H));grid on;title('幅频响应曲线')subplot(313);plot(w/pi,angle(H));title('相频响应曲线');grid on;运行结果如下:4. 已知因果(单边)离散序列的Z变换分别如下所示,试用MATLAB求出其Z反变换(1)221()2z zF zz z++=+-(2)23221()12z zF zz z z-+=++(3)22()21F zz z=++(4)3243221()32321z z zF zz z z z+++=++++解:程序代码如下:clear all;close all;F1=sym('(z^2+z+1)/(z^2+z-2)');f1=iztrans(F1),F2=sym('(2*z^2-z+1)/(z^3+z^2+z/2)');f2=iztrans(F2),F3=sym('(z^2)/(z^2+sqrtm(2)*z+1)');f3=iztrans(F3),F4=sym('(z^3+2*z^2+z+1)/(3*z^4+2*z^3+3*z^2+2*z+1)');f4=iztrans(F4)运行结果如下:f1 =(-2)^n/2 - kroneckerDelta(n, 0)/2 + 1δ注:kroneckerDelta(n, 0)=()nf2 =2*kroneckerDelta(n - 1, 0) - 6*kroneckerDelta(n, 0) + 3*(-1)^n*2^(1 - n)*i*(i + 1)^(n - 1) - 3*(-1)^n*2^(1 - n)*i*(1 - i)^(n - 1)f3 =2*(-1)^n*cos(n*acos(sqrtm(2)/2)) + ((-1)^n*(sqrtm(2)/2 + (sqrtm(2)^2/4 - 1)^(1/2))^(n - 1))/(2*(sqrtm(2)^2/4 - 1)^(1/2)) - ((-1)^n*(sqrtm(2)/2 - (1/4*sqrtm(2)^2 - 1)^(1/2))^(n - 1))/(2*(sqrtm(2)^2/4 - 1)^(1/2))f4 =sum(-(r3*r3^n + r3^n + 2*r3^2*r3^n + r3^3*r3^n)/(2*r3^3 + 6*r3^2 + 6*r3 + 4), r3 in RootOf(z1^4 + (2*z1^3)/3 + z1^2 + (2*z1)/3 + 1/3, z1)) + kroneckerDelta(n, 0)sum( -(r3*r3^n + r3^n + 2*r3^2*r3^n + r3^3*r3^n)/(2*r3^3 + 6*r3^2 + 6*r3 + 4), r3 in RootOf(z1^4 + (2*z1^3)/3 + z1^2 + (2*z1)/3 + 1/3, z1) ) + kroneckerDelta(n, 0)注:r3 in RootOf(z1^4 + (2*z1^3)/3 + z1^2 + (2*z1)/3 + 1/3, z1)就是说r3是关于Z1的方程z1^4 + (2*z1^3)/3 + z1^2 + (2*z1)/3 + 1/3=0的根。