- 在线时间
- 3 小时
- 最后登录
- 2017-9-30
- 注册时间
- 2017-9-27
- 听众数
- 4
- 收听数
- 1
- 能力
- 0 分
- 体力
- 6 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 3
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 4
升级   60% 该用户从未签到 - 自我介绍
- Mathematica初学者
 |
萌新求助如何求解一个非线性方程组:
% F0 w0 t. @* \: T* z1 u) }1 m W- u* n$ e L- X3 |6 _
求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的:& H2 P! b- @ [1 O) d8 b
- v/ Y$ t- l E0 S) t9 XNDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str*
' P) E" ]8 A& A& l; Z omega," P# w% d( ?: p; ]
segma'[t] == - [* }% z6 v1 k3 g0 _5 c. z
shear*str - ; v+ q, `4 L- g2 S
1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0, 0 e; V/ J7 W% P
10}]
3 U# p. A3 l& n9 p& M5 u以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到:
, B$ n& p( S8 V0 L: @/ w+ e7 b
f[EIS_] := . P7 X1 C1 [8 f9 M3 b7 s
Re[Coef /. / l K5 i( j) `0 e% h7 D: p7 Y
FindRoot[
" x1 i2 U9 D. J/ @8 R& @ Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]];
& \! u3 B& s, Q n8 x" r也就是f[EIS]每一点的值都需要解一个上述的方程。0 I) q# j$ g/ I' y& {6 l4 b& w
: g! {( ?, V) Q
' h8 n# f2 O- y$ ^1 ]" u3 S! ^: f! N. {* }
程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。) o, M' x; }0 O G1 y D6 u& g
% l, N9 I5 Q+ t9 @4 R- S
' }/ C) ?7 P' X1 V* j) X
8 a' U4 `4 L4 @7 T3 [
十分感谢大神帮助1 o3 F6 ~3 ?; R9 Z
- o4 U; C* _& \" p8 a( c
' p$ `' w! Q/ D) q
|
zan
|