数学建模社区-数学中国
标题:
求助: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, V
NDSolve[{ 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 T
f[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- n
2 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