- 在线时间
- 3 小时
- 最后登录
- 2017-9-30
- 注册时间
- 2017-9-27
- 听众数
- 4
- 收听数
- 1
- 能力
- 0 分
- 体力
- 6 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 3
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 4
升级   60% 该用户从未签到
- 自我介绍
- Mathematica初学者
 |
萌新求助如何求解一个非线性方程组:% O7 w4 u" P( g% T
: i+ ^6 p0 J7 s求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的:
1 Y/ z. i6 J7 T) [: B% ?% Q8 [1 @. y, X M, g5 D2 s1 \0 w& i
NDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str*( f. a N# v7 v4 h; g, M+ c
omega,
7 j, q& F5 d4 H, _! a8 N ~2 { segma'[t] ==
& ?( o/ D( v9 v9 c, X" N& F shear*str - 8 i& `: X& b; h6 d: G$ O" O% n
1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0, {, K$ h$ r4 \+ p8 N+ @; a
10}]
, J& H3 v3 i" X6 ^; I' J( r以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到:
4 u0 c+ K& W7 V5 h9 J) X7 _& z) H8 _& W: L: T2 v+ f+ r, W# {3 [
f[EIS_] :=
0 Q$ v. P2 h- Y g Re[Coef /. k2 f# `! B+ }+ F* Z+ C$ w
FindRoot[
# j, F8 i. Y( a& b' O Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]];( B$ s. S' ~/ t" X- r; F- F
也就是f[EIS]每一点的值都需要解一个上述的方程。) n5 e5 a" z* l. d) _9 u
x. {+ n, y9 n' {: ?
7 P5 ^4 s( k, D/ P- z
: |: Y" t+ o$ b- I程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。( U% _& Q- ^) A) b' u3 b! \) x
9 r; m7 X4 p* D- u' m% w; n# T" |' f' a* ?1 _' G2 d+ D
5 m% a$ I$ ?, s/ t2 b- z
十分感谢大神帮助
; x5 ?$ e/ r% j, [8 E) C4 i( T6 [- H; \; q4 K+ |
, C8 J: Z: C) M& C( H
|
zan
|