数学建模社区-数学中国
标题:
求助:Mathematica 求解微分方程组
[打印本页]
作者:
Magic111
时间:
2017-9-27 08:43
标题:
求助:Mathematica 求解微分方程组
萌新求助如何求解一个非线性方程组:
) @! D1 C$ [2 X6 N `
- M2 G6 M" A( x& x" B
求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的:
! L, L0 p9 t$ J) ~( a6 x
8 }) p. w+ c6 d3 L3 D. z
NDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str*
' `- w9 _' {& ^+ A, h1 a0 I
omega,
8 V& p7 H, b. N7 I
segma'[t] ==
- j- @, X- {: ?+ [* v- B
shear*str -
) {* _: o* Y% q
1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0,
m# S+ \7 ?! c# N9 F/ L( F q
10}]
; O! k j6 q, ~0 L5 C: m. J
以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到:
- l4 u0 g3 n( Q" T- p+ a2 s2 {8 x% m
2 ~# p" ^* ^! y. r% C6 W! W
f[EIS_] :=
, p) |7 J6 ?2 F
Re[Coef /.
! M( ?/ s0 h; o+ _
FindRoot[
' G$ Z& n; Z7 L* i. ~1 c5 O
Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]];
( d2 W- h2 I _0 v; Z
也就是f[EIS]每一点的值都需要解一个上述的方程。
" N- ~& V8 |- W' m% A" b3 z
, Z. j4 ~" ?8 g
3 n) S- V: a( o8 |' j* W
! a: c% n# T; Q
程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。
6 m# k4 e$ [3 L5 w+ F. E
2 z8 ]' P; }8 W# n1 _% u
; Z1 s% d' r% V
, f% M: U* g+ z5 a
十分感谢大神帮助
( s1 d5 @9 j! }0 j# h2 s3 G
W! t8 @: j# b) a; I" ^
& R ?1 k. \# m0 B( {
作者:
有生之莲
时间:
2017-12-21 21:08
泛函就是没办法。。。尝试重新转化处理问题吧
/ C5 O7 D M6 X
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5