发布网友 发布时间:2024-10-14 00:52
共1个回答
热心网友 时间:2024-10-21 07:47
如何用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)