m01010 发表于 2007-11-13 10:14

求教!使用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-13 21:58

回复 #1 m01010 的帖子

纯数学的问题,去数学板块求助比较有效

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

原帖由 花如月 于 2007-11-13 21:58 发表 http://www.chinavib.com/forum/images/common/back.gif
纯数学的问题,去数学板块求助比较有效
xiexie
页: [1]
查看完整版本: 求教!使用ode solver对连续函数进行积分