数学建模社区-数学中国
标题:
求助:Mathematica 求解微分方程组
[打印本页]
作者:
Magic111
时间:
2017-9-27 08:43
标题:
求助:Mathematica 求解微分方程组
萌新求助如何求解一个非线性方程组:
2 n w0 J' _5 r9 A4 U
. ]) V0 Z. U# i8 f3 X5 V$ A
求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的:
' A! |- o* \/ B6 H, y
9 W# }4 [, n# d7 K* c
NDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str*
5 B d m, d6 Q& f7 K
omega,
$ |5 I; h3 a# ^; A5 i
segma'[t] ==
/ H9 q4 h; q% z7 T2 c+ j
shear*str -
- M' R/ W7 E, p1 e: Y5 z _7 G
1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0,
1 y. `# |6 ^! [$ e0 \3 r
10}]
\8 x7 T5 @0 g) b- i" U
以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到:
5 |( K+ N* m q3 k( K
; s" e$ Q, S+ z5 j+ A
f[EIS_] :=
2 V1 L3 X$ w$ f. S2 E( K
Re[Coef /.
: _/ B: n/ w9 }- h/ T
FindRoot[
. P! e4 m/ E; s( l$ {+ `3 j
Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]];
/ H, B& A4 |7 Q* g4 }
也就是f[EIS]每一点的值都需要解一个上述的方程。
6 T& j* p9 A& K" u1 E
6 s, t! c$ }8 k0 b; |' y* \9 {
" N- _# f' s8 J: H! E, T
8 a( p$ T! D) S+ o, g- v" w
程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。
9 g( Z) }( |2 |/ q
+ J0 n6 u- }7 @. E
8 A3 Y' V& P2 M# R1 d
! K# |, k5 _9 z h, q# g
十分感谢大神帮助
2 U! G& G u0 m3 s) l. }
A& g+ X# J Z3 |- s1 `7 |0 N
' _+ ]/ H5 H" z/ w5 D
作者:
有生之莲
时间:
2017-12-21 21:08
泛函就是没办法。。。尝试重新转化处理问题吧
5 w5 f- H9 F Y. w4 Z6 T6 `8 f
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5