数学建模社区-数学中国
标题:
求助:Mathematica 求解微分方程组
[打印本页]
作者:
Magic111
时间:
2017-9-27 08:43
标题:
求助:Mathematica 求解微分方程组
萌新求助如何求解一个非线性方程组:
1 I' d: k4 R% m' D" _7 J7 m$ \6 Q* |
7 Y( R0 x8 ^* h
求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的:
7 O# M' D- l8 B' P# z8 f( Y( a
4 F) V& \% M$ P4 I$ W4 t: t
NDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str*
3 Q, R! G5 k' v/ j
omega,
9 Q: ^( P0 X9 z0 u7 T/ U, R
segma'[t] ==
C2 w0 F; M+ n1 [
shear*str -
" N; V5 r2 x& j& M% q) n
1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0,
# a t. a: l, a# a' z9 Z. i3 p
10}]
0 I* S+ \9 Q# }: U
以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到:
( ?1 q0 E, F( q& S0 N
0 K7 w, g& t* p0 q. Z! b
f[EIS_] :=
1 I/ F* _) C: H. ~& S+ b3 Y; X
Re[Coef /.
3 l$ U: v$ }$ [3 O$ C0 l8 m3 _
FindRoot[
$ `$ K% N) H7 ~. d% J
Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]];
$ G! V( t! V- B- C: Q
也就是f[EIS]每一点的值都需要解一个上述的方程。
4 |: h% i: b, L8 H* v
7 y/ k! H4 i9 }" R' v1 {# Z- _: T
! n& Y. p1 A! V9 L9 R
& z/ v% P* i. H/ v6 d) m+ p
程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。
1 ~) v5 f; X$ Z! j
: W: f! Z; G6 I3 U* c
1 M) f- `' L( f P
! `# f# M" M/ b
十分感谢大神帮助
$ M0 g. K7 J1 O n" A V/ a
: A5 h6 f( l2 U* w0 L3 e/ y
/ n( b* A4 c' A' Q! |$ P& A9 \1 m
作者:
有生之莲
时间:
2017-12-21 21:08
泛函就是没办法。。。尝试重新转化处理问题吧
# S/ R5 L- S' `) d9 J
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5