- 在线时间
- 3 小时
- 最后登录
- 2017-9-30
- 注册时间
- 2017-9-27
- 听众数
- 4
- 收听数
- 1
- 能力
- 0 分
- 体力
- 6 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 3
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 4
升级   60% 该用户从未签到 - 自我介绍
- Mathematica初学者
 |
萌新求助如何求解一个非线性方程组:
! b7 |, i& T0 G* \9 B2 r1 H4 e! O# L! d# _# x. g) ~
求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的:( }$ W: ^, _6 p
' s( z% ]% o5 }8 ?% Q9 p$ Y
NDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str*
. y% F. E! e+ v5 G) z } omega,
; a5 H/ D9 c. P segma'[t] == 2 t5 Q& V. V. F Y/ ^
shear*str - 1 e7 d: m3 z2 Q8 W
1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0, 7 t& A: |1 b7 d& i( p
10}]
2 ~1 @; A5 j$ A9 u2 b1 f以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到:
( [6 f S u% O" W9 S" N) P4 m* x; e7 v: D, Q# K' [# h: _
f[EIS_] :=
/ B! n- M0 j* ?3 ] Re[Coef /.
3 e2 r0 H! j: u, p9 R: t FindRoot[6 S( N* }, ] ?: I
Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]];. p& s+ V* q1 e+ h8 Z+ c" f
也就是f[EIS]每一点的值都需要解一个上述的方程。
. V6 w! q7 i O2 F
2 C+ t+ y# ^4 f3 p
" V% `; R) G |* P7 f8 K7 q1 Z2 C# U9 L$ R+ W" J6 U; c; |
程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。! r3 A& m2 Q7 f# O
! }& N9 t/ B3 A' ^
8 O& L$ ^! [7 L& _
- a N O M% t# w3 y* W! v+ [十分感谢大神帮助
2 j3 U# b0 ~, ~8 [; c9 C; t. i b- p; A" m4 u ?
: s4 b/ {% J% O! p, J3 M
|
zan
|