[求助]请问如何将dsolve解出的方程组的解按正常顺序排列输出?
用Maple求解常微分方程组,但求出的解的顺序是往往不是预定的如y1,y2……,而是y2,y5,y1……。请问高手如何使Maple求出的解按预定的顺序排列,以便后面程序调用。另外,我试了用如下语句,其中a为方程组的解。但发现有时a里的数变了,不是刚解完方程组后的值。如正常a=y1(t)=2t;但有时变成25t^2=-25t等莫名的数了。请高手指点迷津,谢谢!
> a:=dsolve(……):
> for i from 1 to 6 do
> Leqnsol:=lhs(a):Reqnsol:=rhs(a):
> if evalb(Leqnsol=y1(t)) then x1:=Reqnsol
> elif evalb(Leqnsol=y2(t)) then y1:=Reqnsol
> elif evalb(Leqnsol=y3(t)) then phi1:=Reqnsol
> elif evalb(Leqnsol=y4(t)) then x2:=Reqnsol
> elif evalb(Leqnsol=y5(t)) then y2:=Reqnsol
> else dphi2:=Reqnsol
> fi
> od; 可以用restart和sort解决这个问题。。。。 我的代码里第一句就是restart,可每次重新计算时循环里的解都偶尔会有莫名的数据,郁闷。sort我也用了,好像没反应啊,没有使方程的解按顺序排列啊。您能说的具体些吗,谢谢!
大家可以试试啊,随便解一个微分方程组,之后用for语句循环显示这个方程组得解,你就能看到里面数据会起不正常的变化,如附件是循环显示十次方程组的解时数据的变化,请注意红框位置。这是咋回事?
很简单的,把结果调出来,文件保存,随时都可以调用
试了几试,没搞定,上面的方法虽然比较笨,还是实用的。。。。
页:
[1]