声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2839|回复: 4

[Maple] [求助]请问如何将dsolve解出的方程组的解按正常顺序排列输出?

[复制链接]
发表于 2006-11-17 08:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
用Maple求解常微分方程组,但求出的解的顺序是往往不是预定的如y1,y2……,而是y2,y5,y1……。请问高手如何使Maple求出的解按预定的顺序排列,以便后面程序调用。

另外,我试了用如下语句,其中a为方程组的解。但发现有时a里的数变了,不是刚解完方程组后的值。如正常a[1]=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;
回复
分享到:

使用道具 举报

发表于 2006-11-17 13:40 | 显示全部楼层
可以用restart和sort解决这个问题。。。。
 楼主| 发表于 2006-11-17 17:30 | 显示全部楼层
我的代码里第一句就是restart,可每次重新计算时循环里的解都偶尔会有莫名的数据,郁闷。sort我也用了,好像没反应啊,没有使方程的解按顺序排列啊。您能说的具体些吗,谢谢!
大家可以试试啊,随便解一个微分方程组,之后用for语句循环显示这个方程组得解,你就能看到里面数据会起不正常的变化,如附件是循环显示十次方程组的解时数据的变化,请注意红框位置。这是咋回事?

循环显示10次时数据发生变化

循环显示10次时数据发生变化
发表于 2006-11-18 21:35 | 显示全部楼层

很简单的,把结果调出来,文件保存,随时都可以调用

发表于 2006-11-21 17:47 | 显示全部楼层
试了几试,没搞定,上面的方法虽然比较笨,还是实用的。。。。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-26 16:29 , Processed in 0.091455 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表