数学建模社区-数学中国
标题:
求助:Mathematica 求解微分方程组
[打印本页]
作者:
Magic111
时间:
2017-9-27 08:43
标题:
求助:Mathematica 求解微分方程组
萌新求助如何求解一个非线性方程组:
+ E, V ~+ ^5 j* ^& a/ _" R
0 G1 r. i( G# W& C/ [& O6 R
求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的:
& n# p% ?4 ^& P
5 e. V9 m. x0 D9 z( i* I
NDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str*
% h3 g8 ~0 B" ^1 g1 W" v. d9 r
omega,
+ ] H# L- H2 d6 P" s1 A0 G" E
segma'[t] ==
0 b: y1 P( s( g) r3 C
shear*str -
& S0 `% P& I! g1 k, r# S$ x
1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0,
5 p3 I8 D1 O# c1 y3 l. n5 F
10}]
) Y" d' y) c6 t) H
以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到:
2 J) L* I* T) [1 i
6 }1 z/ a& B( o! X ?
f[EIS_] :=
. q+ u: K( S4 V" a+ _4 P( ]
Re[Coef /.
1 _2 L" g v7 |9 L
FindRoot[
# A) N9 Y4 |* @/ L
Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]];
# f8 @# j* N7 P5 H. }( z, r
也就是f[EIS]每一点的值都需要解一个上述的方程。
" i! e& V5 V. g# n7 `. j# @( k
2 z% D! ~+ s/ d% b3 a
0 ^2 O0 X2 a! l
3 }, R# |1 m: K
程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。
2 ~. Y3 w$ H& h9 U
7 O: G4 f0 k4 B( f4 }
0 w+ A4 o" I6 d
! N+ ]9 C: U& {/ f- l* R; {- ?
十分感谢大神帮助
4 H. Y, u: j: |! f! T& ^
& |' Q# f8 ?' ~+ F4 k" z
; j# a2 f; u2 J G% z
作者:
有生之莲
时间:
2017-12-21 21:08
泛函就是没办法。。。尝试重新转化处理问题吧
4 P) |/ e3 ]5 A! J7 N
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5