差分方程matlab解法

差分方程matlab解法,第1张

如何用matlab解差分方程?差分方程是指未知函数差分的方程,其一般形式为

F(t,yt,Δyt,Δy^2t,······,Δy^nt)=0

差分方程的通解是指含有相互独立的任意常数,且任意常数的个数等于方程的价数的解;

差分方程的特解是指不含有任意常数的解;

为了说明如何用matlab解差分方程问题,特举例:

例1:试用matlab求解差分方程,y(t+2)-5y(t+1)+6y(t)=0,其中y(0)=1,型正y(1)=0的解析解。

求解代码:

syms z n

u=(1/5)^n%设置u为输入信号

U=ztrans(u)%z变换

y=diff_eq([1 -5 6],[0],[1 0],U) %解析解。

y=simplify(y)

其卜袭悔运行结果,y(n)=3*2^n - 2*3^n

例2:试用matlab求解差分方程禅粗,y(t+2)+y(t+1)-6y(t)=5*2^t,y(0)=1,其中y(0)=1,y(1)=0的解析值。

求解代码:

syms z n t

u=5*2^n

U=ztrans(u)

y=diff_eq([1 1 -6],[1],[1 0],U)

y=simplify(y)

差分方程是微分方程的离散化。一个微分方程不一定可以解出精确的解,把它变成差分方程,就可以求出橡局敬近似的解来。

比梁慎如 dy+y*dx=0,y(0)=1 是一个微分方程, x取值[0,1]

(注:解为y(x)=e^(-x))

要实现微分方程的离散化,可以把x的区间分割为许多小区间 [0,1/n],[1/n,2/n],...[(n-1)/n,1]

这样上述微分方程可以离散化为:

差分方程

y((k+1)/n)-y(k/n)+y(k/n)*(1/n)=0, k=0,1,2,...,n-1 (n 个离散方程组)

利用y(0)=1的条件,以及上面的差分方程,就可以计算出 y(k/n) 的近似值了。

§1 基本理论1. 差分

2. 任腊扮意数列{xn },定义差分算子Δ如下:

差分方程

Δxn=xn+1-xn

对新数列再应用差分算子,有

Δ2xn=Δ(Δkxn).


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12548275.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存