- 在线时间
- 3 小时
- 最后登录
- 2017-9-30
- 注册时间
- 2017-9-27
- 听众数
- 4
- 收听数
- 1
- 能力
- 0 分
- 体力
- 6 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 3
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 4
升级   60% 该用户从未签到 - 自我介绍
- Mathematica初学者
 |
萌新求助如何求解一个非线性方程组:
3 V& T) c8 C5 Z( q# z: N) G" O. C( W. H9 j
求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的:
* x: [- X4 I' l
/ K5 C6 F. ]# h- d% A3 PNDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str*
k' X4 ~* z" [% m omega,
* D$ ^& w3 A- w9 R1 y segma'[t] ==
7 U6 h U% C1 ^( }/ m) } shear*str - 8 a- R' ~- _: H2 y) y8 t, o' W) l: G
1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0, ' E- N- x1 n* A' o$ s H2 t5 Y
10}]
0 f& `/ A" _4 ]; R. Q7 k n以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到:
# ~, p( U( e& U0 G/ x/ g
7 Y. p8 c4 J5 Q% df[EIS_] := 6 t6 ^! K3 V3 a
Re[Coef /.
' F$ j' U& O7 x- q% v FindRoot[
q- |3 G$ G. e9 [, |3 y Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]];
' S; J8 G3 V3 v9 B3 l& U* m也就是f[EIS]每一点的值都需要解一个上述的方程。7 S2 W3 _& U3 u2 L0 H' I2 n
4 k/ D; W+ T" P$ e7 ?. r, N
' b9 G ]4 e7 C3 ?
2 T- V; @# R4 ^ H+ |. D# H程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。3 b: v5 `% X: I) U" Z$ w$ i* a
" \8 w7 ~3 H/ K
7 q! b0 v* {5 n" i4 c" f
1 \8 Z+ @/ W8 P& m5 _
十分感谢大神帮助 N) w! U) V% R' J3 [- z( a" W3 T
1 r; P/ p( X. s# O0 [3 {, D# X" @
! q& ~$ E& l0 @
|
zan
|