- 在线时间
- 3 小时
- 最后登录
- 2017-9-30
- 注册时间
- 2017-9-27
- 听众数
- 4
- 收听数
- 1
- 能力
- 0 分
- 体力
- 6 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 3
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 4
升级   60% 该用户从未签到 - 自我介绍
- Mathematica初学者
 |
萌新求助如何求解一个非线性方程组:
8 y! R T. q7 w1 `) m( @6 l! H- g) ~$ P8 d6 X6 K3 o( M6 |
求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的:
+ V) p; X- ~1 | J( S" _9 V! \2 N- M" ^' n# j
NDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str*/ J! u b3 g5 b1 k. ~1 l0 Q
omega,
) }, b0 j# z. ~& u$ N segma'[t] ==
# S0 D, E* F3 t% p& a9 w2 T shear*str - % k/ Q& s1 U }0 y
1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0,
9 x9 z$ W: [8 i2 d( A c 10}]
8 L" z4 \) `* c* u1 _1 w6 I: I& X以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到:& N# X+ m3 ?$ o9 a: N5 m: ~+ a0 G
; g8 C( w! q$ k2 Q; q
f[EIS_] :=
" a5 p% M8 |- o: h' V Re[Coef /.
5 `/ E- I3 g6 I6 D7 q9 P FindRoot[9 W; X* ]- k+ W/ D# h' J
Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]];$ L8 X' X4 U: o. Z, R
也就是f[EIS]每一点的值都需要解一个上述的方程。; z# R# \3 D% g9 I7 [( y1 k6 m) T
/ u$ O' l: s9 y
. Z* N% a* Z/ I
) {& Q P" ?$ _
程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。
# y) @0 @3 B* X# j& F" ~; [ y1 X0 Z6 X6 B- j3 C C. ^( l9 M8 G! U8 ?) G2 c* u
" m9 V7 z- W6 W. s' a
) R# Q$ V. ` H; m' J2 f& L
十分感谢大神帮助2 r# e; b# `0 ]* a0 a
. }! R w. s: y0 `
7 |( h/ g) [1 D |
zan
|