mathematica解微分方程组含参数~

学习 时间:2026-04-08 23:36:07 阅读:6044
mathematica解微分方程组含参数~Dsolve[{x1'[t] == -e100*x1[t] - e110*x2[t] - e120*x3[t] - e130*x4[t] -e140*x5[t],x2'[t] == -e101*x1[t] - e111*x2[t] - e121*x3[t] - e131*x4[t] - e141*x5[t],x3'[t] == -0.5*e102*x1[t] - 0.5*e112*x2[t] - 0.5*e122*x3[t] - 0.5*e132*x4[t] - 0.5*e142*x5[t],x4'[t] == (-1/6)*e103*x1[t] + (-1/6)*e113*x2[t] + (-1/6)*e123*x3[t] + (-1/6)*e133*x4[t] + (-1/6)*e143*x5[t],x5'[t] == (-1/24)*e104*x1[t] + (-1/24)*e114*x2[t] + (-1/24)*e124*x3[t] + (-1/24)*e134*x4[t] + (-1/24)*e144*x5[t],x1 (0) == 1,x2 (0) == 0,x3 (0) == 0,x4 (0) == 0,x5 (0) == 0},{x1[t],x2[t],x3[t],x4[t],x5[t]},t]方程五个 初始条件五个 求解x1[t],x2[t],x3[t],x4[t],x5[t]的表达式,e100,e110~e144 均为参数,运行后只是又把我的内容暑促了一遍

最佳回答

温暖的御姐

年轻的大碗

2026-04-08 23:36:07

……仔细一看,你写的是Dsolve啊喂,应该是DSolve,Mathematica是区分大小写的,边界条件里的中括号也错成小括号了。改完了再试试。 再问: 改好了,能解。但是解到后来就变成如图这种情况了 是太麻烦了吗?我换成4g内存的电脑还是这种情况,还是有什么错误?谢谢 麻烦您了 再答: 没有错误,就是内存不够了。带这么多符号系数的微分方程组,解起来耗内存也没什么奇怪的。找台内存更大的吧(顺便,就算内存足够,最后依旧原式返回的悲剧情况也是可能的)。 __ 经实验,换计算机的思路恐怕并不可取。反正32G内存是不够的。再问: 嗯 我换成四元的也是不行! 再答: 所以说还是用NDSolve求特定参数再插值比较合适一些……再问: 如果我指定参数的值,参数的值需要是变化的,例如e100的值是[0:0。1:1]的值,前面我需要怎么写,才能一次算出 同一时间下 每个不同的e100所对应的解呢?谢谢 再答: 用Table就行了。一个简单的例子:sol = Table[NDSolve[{y'[x] == e y[x] Cos[x + y[x]], y[0] == 1}, y, {x, 0, 3}], {e, 1, 5, 1/2}]Plot[y[x] /。 sol // Evaluate, {x, 0, 3}]更多内容请参看Table的帮助。

最新回答共有2条回答

  • 现实的灰狼
    回复
    2026-04-08 23:36:07

    ……仔细一看,你写的是Dsolve啊喂,应该是DSolve,Mathematica是区分大小写的,边界条件里的中括号也错成小括号了。改完了再试试。 再问: 改好了,能解。但是解到后来就变成如图这种情况了 是太麻烦了吗?我换成4g内存的电脑还是这种情况,还是有什么错误?谢谢 麻烦您了 再答: 没有错误,就是内存不够了。带这么多符号系数的微分方程组,解起来耗内存也没什么奇怪的。找台内存更大的吧(顺便,就算内存足够,最后依旧原式返回的悲剧情况也是可能的)。 __ 经实验,换计算机的思路恐怕并不可取。反正32G内存是不够的。再问: 嗯 我换成四元的也是不行! 再答: 所以说还是用NDSolve求特定参数再插值比较合适一些……再问: 如果我指定参数的值,参数的值需要是变化的,例如e100的值是[0:0。1:1]的值,前面我需要怎么写,才能一次算出 同一时间下 每个不同的e100所对应的解呢?谢谢 再答: 用Table就行了。一个简单的例子:sol = Table[NDSolve[{y'[x] == e y[x] Cos[x + y[x]], y[0] == 1}, y, {x, 0, 3}], {e, 1, 5, 1/2}]Plot[y[x] /。 sol // Evaluate, {x, 0, 3}]更多内容请参看Table的帮助。

上一篇 can i have some supper?为什么用some不用any?

下一篇 他告诉我他会游泳汉译英