- 在线时间
- 3 小时
- 最后登录
- 2017-9-30
- 注册时间
- 2017-9-27
- 听众数
- 4
- 收听数
- 1
- 能力
- 0 分
- 体力
- 6 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 3
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 4
升级   60% 该用户从未签到 - 自我介绍
- Mathematica初学者
 |
萌新求助如何求解一个非线性方程组:! Z6 {2 u2 c( F" M- @* a' a; o6 E
8 O# D6 |' u% p8 ?' \- {' p5 c i求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的:
/ v8 q9 V4 m% b/ p: m! q
+ k+ A1 H; L- z3 m' j Y( G% }NDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str*
0 _$ m2 w" U# Y$ N, f omega,
- C7 L$ Y9 ?! J* n segma'[t] == # z" S. x/ ]) _& J2 ~/ W9 F
shear*str -
" l: r7 y% Z. d2 G } 1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0,
5 \' K3 t- o* N& ]! r1 M/ r' C' w& s 10}]
# e$ v$ v% t+ l# N9 p" J, M以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到:
( I c1 l- d) p- k% x$ g7 t
; q. ?" a2 K9 H9 _3 Kf[EIS_] :=
$ J$ `9 C! i, }; c$ _5 r Re[Coef /.
# x6 V; W1 ]; w FindRoot[ N+ @/ j1 V0 q, K& |7 K
Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]];/ o& K) y& f8 K* B( W3 K* T
也就是f[EIS]每一点的值都需要解一个上述的方程。7 }8 a! E. _( N! k7 y8 C9 W% V
9 {) X: v% ^/ j( I; i9 j
' w' }1 l% ?' D* i0 a6 b
* n1 _% X! ?' o/ I程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。8 ^7 I0 Z8 k& [( h8 [- g
) H; V* u% e* \0 }9 h
7 Q4 A" c; z8 `2 h! ^1 S9 e, \/ q" V: d q' Q E8 d1 n
十分感谢大神帮助; _. a8 b+ ?; ?. m
/ f5 r, d+ R& K
7 j( r% ~) r$ b; w |
zan
|