mathematic 或mablab 解微分方程组X1‘=-K1*X1Xi'=Ki-1*Xi-1-Ki*Xi i=2,3……nXn'=Kn*XnXi(0)=ξi求X(t)

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/12 06:28:10
mathematic 或mablab 解微分方程组X1‘=-K1*X1Xi'=Ki-1*Xi-1-Ki*Xi i=2,3……nXn'=Kn*XnXi(0)=ξi求X(t)

mathematic 或mablab 解微分方程组X1‘=-K1*X1Xi'=Ki-1*Xi-1-Ki*Xi i=2,3……nXn'=Kn*XnXi(0)=ξi求X(t)
mathematic 或mablab 解微分方程组
X1‘=-K1*X1
Xi'=Ki-1*Xi-1-Ki*Xi i=2,3……n
Xn'=Kn*Xn
Xi(0)=ξi
求X(t)

mathematic 或mablab 解微分方程组X1‘=-K1*X1Xi'=Ki-1*Xi-1-Ki*Xi i=2,3……nXn'=Kn*XnXi(0)=ξi求X(t)
你这题面有些不清啊,我猜你第二行里的那个应该是K(i-1),(i-1)是脚标吧?这ξi是算已知数吧?x是t的函数吧?用mathematica试了一下,这个xi[t],要求某个确定项的解析式是做的到的,但这个有可能是没简单通项的.
因为mma似乎没有求解微分的递推方程的指令,我把你的方程拆了下,先解第一项(我直接贴mma代码了,你贴到软件里就能正常显示了,注意我把你的字母都变小写了):
a = DSolve[{Subscript[x,1]'[
t] == -Subscript[k,1] Subscript[x,1][t],
Subscript[x,1][0] == Subscript[\[Xi],1]},{Subscript[x,1][t]},
t]
再解i项:
b = DSolve[{Subscript[x,i][0] == Subscript[\[Xi],i],
Subscript[x,i]'[t] ==
Subscript[k,i - 1] Subscript[x,i - 1][t] -
Subscript[k,i] Subscript[x,i] [t]},{Subscript[x,i][t]},t]
再解n项:
c = DSolve[{Subscript[x,n]'[t] == Subscript[k,n] Subscript[x,n][t],
Subscript[x,n][0] == Subscript[\[Xi],n]},{Subscript[x,n][t]},
t]
以上就得到了非微分形式的递推式,结果里含了积分.试着扔进RSolve再解,果然还是不行.所以我试着算了你这个的头几项:
a1 = First[Subscript[x,1][t] /.a]
a2 = First@((Subscript[x,i][t] /.b) /.i -> 2) /.(
Subscript[x,1][K[1]] -> (a1 /.t -> K[1]))
a3 = First@((Subscript[x,i][t] /.b) /.i -> 3) /.(
Subscript[x,2][K[1]] -> (a2 /.t -> K[1]))
a4 = First@((Subscript[x,i][t] /.b) /.i -> 4) /.(
Subscript[x,3][K[1]] -> (a3 /.t -> K[1]))
你运行一下看看,很明显,随着项数的增加,式子的复杂度暴增(虽然说依旧是解析式),试着用FindSequenceFunction找了下,也找不到,所以我猜对于这个x,通式是不存在的.当然也可能是具有通式但mma找不到(mma的符号运算也不是万能的……).
最后,你的这个方程组,莫非是将某个微分方程离散产生的?如果是这样,那你还不如直接求解原式,DSolve或者NDSolve说不定还能帮你解出来……