声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2996|回复: 5

[编程技巧] [求助]matlab求解多自由度微分方程组

[复制链接]
发表于 2006-3-30 20:21 | 显示全部楼层 |阅读模式

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

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

x
这是微分方程的大概表达式,实际中可能更复杂。


funtion=[y(16);y(17);y(18);y(19);y(20);y(21);y(22);y(23);y(24);y(25);y(26);y(27);y(28);y(29);y(30);...
方程1表达式(已化为状态方程的形式,y'=表达式)
---
方程15表达式];
N=3,所以有15个方程。化为状态方程就是30个了。
[t,y]=ode45('funtion',tspan,Y0,options);
用变步长。
出来的结果是各y都无限大啊!

这个方程我都解了快一个月了,先是近似线性化,再化为无量纲,都不行,再解不出来,撞墙自杀去啦!
1.jpg
回复
分享到:

使用道具 举报

 楼主| 发表于 2006-3-30 20:42 | 显示全部楼层
补:这类方程是有稳定解的,不知道是不是自由度太多?初值给得也是正确的,不知道为什么啊?
其中两个e都是周期函数,属于周期激励。
发表于 2006-3-31 19:52 | 显示全部楼层

回复:(siyanger)[求助]matlab求解多自由度微分方程...

用ode15s试试看
 楼主| 发表于 2006-4-2 05:03 | 显示全部楼层
我用ode23s和ode45试过都不行。我这个方程不是刚性的,用定步长可能更不好。不过,试一下也行。
我想问一下,你在另一贴子里说,你曾用RK算法解出过一个16自由度的方程,是8个二阶的扩展成16个状态方程还是16个二阶的扩展成32个状态方程呢?如果是后者,我努力一下还有希望,因为我的是15个二阶的扩展成30个状态方程。否则做也是白费功夫。
还有,如果RK算法真得不适合解太多自由度的微分方程的话,从未见哪个书上提醒过啊?这不是害人吗?让人做无用功哪。
另,你觉得gear积分法怎么样?我觉得用直接积分法,可能也不太好用。
问题太多,不好意思。谢谢。
发表于 2006-4-2 09:21 | 显示全部楼层

回复:(siyanger)我用ode23s和ode45试过都不行。我这...

呵呵,是后则,rk法稳定性不是很好,书上我倒是没见过,但是解高维系统rk法我们现在都不用了,一般用 newmark 法,不过该方法也有很多缺陷了。

在MATLAB的内部函数中有六种数值积分算法:linsim,rk23,rk45,adams,gear,euler,曾经见过一篇文章,不推荐使用adams和gear法,具体忘记了,当然如果自己写一个改进的gear法就另当别论了,呵呵,以上仅供参考
发表于 2011-11-27 11:12 | 显示全部楼层
请问有这个方面的具体实际例子吗?高人指点
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-16 04:19 , Processed in 0.073444 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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