matlab求输入响应,matlab求解零状态零输入响应

1. 已知离散时间系统的差分方程为:

2y(n) - y(n-1) - 3y(n-2)=2x(n) - x(n-1)

x(n)=0.5n u(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.5

z 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)=12122222323

z z z z z z z -----=---- ①零输入时

零输入时,x(n)=0,差分方程右边为0,z 变换后应为

121(23)()103z z Y z z -----=+

1

12

103()23z Y z z z ---+=-- =2210323

z z z z +-- =7183

5152

z z z z ++- 将Y(z)进行Z 反变换,得到其零输入响应为: y(n)=7

183[(1)()]()552

n n u n -+ ②零状态时

零状态时,将y(-1)=0,y(-2)=0代入上面的式(2)中,得

Y(z)=112223z z z ------X(z)=112223z z z ------1110.5z --=22223

z z z --

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MATLAB求解输入响应状态响应的方法如下: 1. 输入响应:使用MATLAB中的step函数,输入系统的传递函数和单位阶跃信号,即可得到系统输入响应。 2. 状态响应:使用MATLAB中的initial函数,输入系统的传递函数和初始条件,即可得到系统状态响应。 需要注意的是,在使用MATLAB求解状态响应时,需要先将系统的初始条件转化为状态空间表示形式。 ### 回答2: MATLAB是一款力简单易用的数学软件,内置有丰富的工具箱,其中包括求解线性系统的工具箱。对于线性微分方程,其解可以分为输入响应状态响应两个部分。下面分别对这两部分的求解方法在MATLAB中进行解释。 1. 输入响应求解 输入响应指在没有初始条件情况下,由瞬时输入引起的系统响应。在MATLAB中,可以使用impulse函数来模拟瞬时输入。具体方法如下: ```matlab %定义系统的传递函数 num = [1 2 1]; den = [1 4 3]; sys = tf(num, den); %绘制系统的阶跃响应 impulse(sys); ``` 上述代码中,首先定义了一个三阶系统的传递函数,然后通过impulse函数绘制其对应的输入响应。执行以上代码后,将会得到系统输入响应图像。 2. 状态响应求解 状态响应指在没有外部输入的情况下,由初始条件引起的系统响应。在MATLAB中,可以使用initial函数来模拟初始条件下的系统响应。具体方法如下: ```matlab %定义系统的传递函数 num = [1 2 1]; den = [1 4 3]; sys = tf(num, den); %定义系统的初始状态 x0 = [0.5 -0.2]; %绘制系统状态响应 initial(sys, x0); ``` 上述代码中,首先定义了同样的三阶系统传递函数,然后通过initial函数指定了系统的初始状态。最后,执行代码得到的是该系统状态响应图像。 综上所述,MATLAB提供了简洁易懂的函数来求解线性系统输入响应状态响应,对于初学者非常友好。 ### 回答3: MATLAB是一个功能强大的数学软件,可以用它求解各种数学问题,包括输入响应状态响应输入响应指的是电路在无输入信号的情况下的响应,也就是由电路本身所产生的响应状态响应指的是电路在有输入信号的情况下,由电路本身所产生的响应。因此,求解输入响应需要将输入信号置为,而求解状态响应则需要记录当前电路的状态,并计算电路的响应。 我们可以利用MATLAB中的函数来求解输入响应状态响应。下面以一个简单的RC电路的例子来说明。 首先,我们可以使用MATLAB中的ode45函数来解析微分方程。以一个典型的RC电路为例,其微分方程可以表示为: $\frac{d}{dt}v_c(t) + \frac{1}{RC}v_c(t) = \frac{1}{R}u(t)$ 其中,$v_c(t)$表示电容上的电压,$R$和$C$分别表示电阻和电容的值,$u(t)$表示输入信号,这里取1V的阶跃信号。 我们可以用函数来定义这个微分方程: function vcdot = RCEquation(t, vc, R, C) u = 1; % input signal is a step function of 1V vcdot = (1/(R*C))*(u - vc); 然后,我们可以定义一个函数来求解状态响应。由于电路的初始状态为0,因此我们可以将时间范围设置在0到5秒之间。 function [t, y] = ZeroInputResponse(R, C, tspan) v0 = 0; [t,y] = ode45(@(t,y) RCEquation(t,y,R,C), tspan, v0); 最后,我们可以定义一个函数来求解状态响应。我们需要在函数内设置输入信号为0,并记录电路初始状态。 function [t, y] = ZeroStateResponse(R, C, tspan) v0 = 1; % initial voltage on capacitor is 1V u = zeros(size(tspan)); % input signal is zero [t,y] = ode45(@(t,y) RCEquationWithInput(t,y,R,C,u), tspan, v0); 上面的例子是一个简单的RC电路,但在实际工程中,我们可能需要求解更复杂的电路的响应。不过,MATLAB提供了丰富的计算工具和库,可以帮助我们快速准确地求解各种类型的信号。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值