数学建模社区-数学中国

标题: 求助:Mathematica 求解微分方程组 [打印本页]

作者: Magic111    时间: 2017-9-27 08:43
标题: 求助:Mathematica 求解微分方程组
萌新求助如何求解一个非线性方程组:
6 K; w/ J5 T: Q& z0 }/ r+ p+ _5 V% e; r3 m4 _6 S
求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的:1 E7 i/ S& v: z/ A8 i  s

7 m  x- [4 S# f3 g* c  k, VNDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str*. o  g0 n' t' X+ o& |: w
    omega,
: `/ g3 G! ]- o. ~5 k/ T  segma'[t] ==
& i( G9 S% S$ ]2 S   shear*str - % c" J6 o/ b7 Y0 U% L. w. V
    1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0,
; D! Y2 Y6 T; p4 F  j$ j: y  10}]9 w& p: _% V( P, J6 V5 Q
以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到:
, x3 k; }) o9 l0 p6 ]
% c* z6 C8 {# S6 D% A. n8 Tf[EIS_] :=
4 o! t* T1 u2 \! U7 r) R0 @6 Y! P  Re[Coef /.
' C% P3 o- p' F$ t. O    FindRoot[
: a/ o9 i0 w/ T     Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]];
; L3 N0 [* x2 i6 ]* S' B1 A也就是f[EIS]每一点的值都需要解一个上述的方程。8 A% s! Q7 o, L4 J, r+ ?

/ }8 v9 Y: j; c% O2 R6 P. t6 i, V0 r. p( ]

, t0 g0 ?+ @3 M& @程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。
/ H4 o/ Z! x' g) {# n- n2 v7 a+ a( T+ N6 j' d& ^# D
6 I* q( l6 {9 s* F, o7 I( K

0 ~9 N4 u+ w& M; V十分感谢大神帮助. h2 p1 ~; H; _  X5 b  ^
, M# C3 [' b: S) H) a: @

; Z$ ]  v* Z' B6 [4 h" v% @- d
作者: 有生之莲    时间: 2017-12-21 21:08
泛函就是没办法。。。尝试重新转化处理问题吧
9 |7 k+ N" r' M! \




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5