m01010 发表于 2007-11-15 00:30

求教!求解微分方程的困惑

主要是使用matlab中的ode solver来进行求解中遇到了问题

简言之,我在做对一个中心有crack的beam在正弦信号或者duffin oscillator输入下的模拟。我利用有限元方法对这个beam进行了建模:x''+x'+x={f(t)},是质量矩阵,是阻尼矩阵,是刚性矩阵,x就是各个节点的位移。现在在我利用matlab进行模拟的过程中,出现了一些我不太明白的地方。为了研究这个beam的非线性状态,我主要是改变:crack口张开时,=,闭合时,=。我希望用ode solver来解决这样的问题,但是如何判断开口的状态就成我让我很头疼的事情。简化后,我的问题就是:
如何解如下微分方程:
1. ax''+bx'+cx=f(t)      x>=0;
2. ax''+dx'+cx=f(t)      x<0;
我老板跟我说不能直接用ode进行求解,因为每个步长初始判断x的值然后再选择正确的微分方程进行求解的话,很可能出现比较大的误差,就是说我判断出x>0然后用ode在整个步长中对1进行积分,很可能积分过程中x就会<0了,从而导致选择错误的微分方程进行了积分。也就是说用ode对连续函数几分还是有一定限制的。所以我现在比较头疼,不知道谁有比较好的方法,请赐教一下,谢谢。

空山长风 发表于 2007-11-15 16:22

可以求解的,参考一下裂纹转子的论文

octopussheng 发表于 2007-11-15 18:34

ode是可以求解的,本版块就有类似的条件微分方程的例子,可以搜索一下哈!

m01010 发表于 2007-11-17 03:23

我是在论坛上搜过,不过好像都没有结果,哪位能找到例子麻烦告知一下,谢谢!

无水1324 发表于 2007-11-20 09:50

回复 #4 m01010 的帖子

可以从两方面考虑,
1、考虑用ode45等解法求解,设置精度高点。
2、直接用定步长RK法,可以避免你老板说的误差问题,

但是最后比较分析发现二者之间的差别是很小的,我原来做过这样的比较

daliu 发表于 2007-11-20 20:34

求助

向大家请教下面非线性微分方程的解析解(或数值解
)的求法:file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image002.gif。谢谢

octopussheng 发表于 2007-11-20 20:40

回复 #6 daliu 的帖子

你的图片看不了,请重发一下吧!

无水1324 发表于 2007-11-20 22:17

回复 #6 daliu 的帖子

以附件的形式发上来
页: [1]
查看完整版本: 求教!求解微分方程的困惑