- 在线时间
- 3 小时
- 最后登录
- 2017-9-30
- 注册时间
- 2017-9-27
- 听众数
- 4
- 收听数
- 1
- 能力
- 0 分
- 体力
- 6 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 3
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 4
升级   60% 该用户从未签到 - 自我介绍
- Mathematica初学者
 |
萌新求助如何求解一个非线性方程组:
" V* L' O! g8 N( E- b3 M2 v: P1 D0 N- z
求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的:
: Z# t$ ~" U% n0 k0 }+ o. F, w
% C3 ~8 g$ N2 G- e' JNDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str*( U" f& Z! |6 E
omega,
6 q9 T4 F1 |9 J5 { segma'[t] == 4 @; W. \' i& B2 R0 ]; ]
shear*str - , F8 [# _% C" F% a3 w, T
1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0, : c7 J4 e. s; k" F# ^2 `4 }8 T3 A
10}]
9 i" V; {$ i f* {7 ?. ~6 s以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到:4 {) N; H. g: E. @& w
2 A. t$ Z- f/ ^2 Z8 K0 n$ F6 sf[EIS_] :=
. z4 i- O) f# @/ @: S" u4 ~# w Re[Coef /.
2 g8 c' B3 q2 m R FindRoot[
+ O; P) l" M1 k7 T" K Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]];0 J+ ]) f; r" \2 r M1 W
也就是f[EIS]每一点的值都需要解一个上述的方程。
4 P7 n+ T" ^" d
1 m$ G2 s5 k; y6 b+ T8 s) d$ \; M8 ~1 ~
( ]* c& Y* E) m5 K; Y+ @ R# P( a* K" k1 R* q3 [
程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。' L7 K, M9 v0 V+ p& o& J3 y( h( R
3 V' t5 h1 q) A( C% h! W2 s6 z8 Q2 [4 C
" H0 j6 p4 C* [- {# d$ T: k5 P
十分感谢大神帮助
& l' {5 g* A# o' z' M, T3 T) O
" j8 R& G. e8 V" T9 t: N
: o2 Z8 p- r; i* o3 @* j5 K+ d8 X |
zan
|