差分方程的解法分析和MATLAB实现(程序).docVIP

差分方程的解法分析和MATLAB实现(程序).doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
差分方程的解法分析及MATLAB实现(程序) 摘自:张登奇,彭仕玉.差分方程的解法分析及其MATLAB实现[J]. 湖南理工学院学报.2014(03) ,激励信号为,初始状态为.求系统响应. 根据激励信号和初始状态,手工依次迭代可算出. 利用MATLAB中的filter函数实现迭代过程的m程序如下: clc;clear;format compact; a=[1,-3/4,1/8],b=[1,1/3,0], %输入差分方程系数向量,不足补0对齐 n=0:10;xn=(3/4).^n, %输入激励信号 zx=[0,0],zy=[4,12], %输入初始状态 zi=filtic(b,a,zy,zx),%计算等效初始条件 [yn,zf]=filter(b,a,xn,zi),%迭代计算输出和后段等效初始条件 2 时域经典法 用时域经典法求解差分方程:先求齐次解;再将激励信号代入方程右端化简得自由项,根据自由项形式求特解;然后根据边界条件求完全解[3].用时域经典法求解例1的基本步骤如下. (1)求齐次解.特征方程为,可算出.高阶特征根可用MATLAB的roots函数计算.齐次解为 (2)代入差分方程右端得自由项为 当时,特解可设为,代入差分方程求得. (3)利用边界条件求完全解.当n=0时迭代求出,当n≥1时,完全解的形式为选择求完全解系数的边界条件可参考文[4]选.根据边界条件求得.注意完全解的表达式只适于特解成立的n取值范围,其他点要用及其延迟表示,如果其值符合表达式则可合并处理.差分方程的完全解为 MATLAB没有专用的差分方程求解函数,但可调用maple符号运算工具箱中的rsolve函数实现[5],格式为y=maple(rsolve({equs, inis},y(n))),其中:equs为差分方程表达式, inis为边界条件,y(n)为差分方程中的输出函数式.rsolve的其他格式可通过mhelp rsolve命令了解.在MATLAB中用时域经典法求解例1中的全响应和单位样值响应的程序如下. clc;clear;format compact; yn=maple(rsolve({y(n)-3/4*y(n-1)+1/8*y(n-2)=(3/4)^n+1/3*(3/4)^(n-1),y(0)=5/2,y(-1)=4},y(n))), hn=maple(rsolve({y(n)-3/4*y(n-1)+1/8*y(n-2)=0,y(0)=1,y(1)=13/12},y(n))), 3 双零法 根据双零响应的定义,按时域经典法的求解步骤可分别求出零输入响应和零状态响应.理解了双零法的求解原理和步骤,实际计算可调用rsolve函数实现. yzi=maple(rsolve({y(n)-3/4*y(n-1)+1/8*y(n-2)=0,y(-1)=4, y(-2)=12},y(n))), yzs=maple(rsolve({y(n)-3/4*y(n-1)+1/8*y(n-2)=(3/4)^n+1/3*(3/4)^(n-1),y(0)=1, y(-1)=0},y(n))), 4 变换域法 设差分方程的一般形式为. 对差分方程两边取单边z变换,并利用z变换的位移公式得 整理成形式有 可以看出,由差分方程可直接写出和,系统函数,将系统函数进行逆z变换可得单位样值响应.由差分方程的初始状态可算出,由激励信号的初始状态可算出,将激励信号进行z变换可得,求解z域代数方程可得输出信号的象函数 对输出象函数进行逆z变换可得输出信号的原函数.利用z变换求解差分方程各响应的步骤可归纳如下: (1)根据差分方程直接写出、和,的逆变换即为单位样值响应; (2)根据激励信号算出,如激励不是因果序列则还要算出前M个初始状态值; (3)根据差分方程的初始状态和激励信号的初始状态算出和; (4)在z域求解代数方程得输出象函数,的逆变换即为全响应; (5)分析响应象函数的极点来源及在z平面中的位置,确定自由响应与强迫响应,或瞬态响应与稳态响应; (6)根据零输入响应和零状态响应的定义,在z域求解双零响应的象函数,对双零响应的象函数进行逆z变换,得零输入响应和零状态响应. 用变换域法求解例1的基本过程如下. 根据差分方程直接写出,.系统函数的极点为. 对激励信号进行z变换得.激励象函数的极点为3/4. 根据差分方程的初始状态算出.根据激励信号的初始状态算出. 对z域代数方程求解,得全响应的象函数. 进行逆z变换得全响应为 其中,与系统函数的极点对应的是自由响应;与激励象函数的极点对应的是强迫响应.的极点都在z平面的单位圆内故都是瞬态响应.零输入响应和零状态响应可按定义参照求解. 上述求解过程可借助MATLAB的符号运算编程实现.实现变换域法求解差分方程的m程序如下: clc;clea

文档评论(0)

ktj823 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档