- 在线时间
- 3 小时
- 最后登录
- 2017-9-30
- 注册时间
- 2017-9-27
- 听众数
- 4
- 收听数
- 1
- 能力
- 0 分
- 体力
- 6 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 3
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 4
升级   60% 该用户从未签到 - 自我介绍
- Mathematica初学者
 |
萌新求助如何求解一个非线性方程组:
* ^+ `8 p( @9 d0 z$ d3 d1 L9 C5 V1 I S
求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的:. ]) d8 ?1 T# L' k7 s
/ h- b5 P9 y3 ]: Y$ w& K
NDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str*# t$ o8 X- ?/ R& `# }
omega,' A1 j: D+ w* s2 c) k M
segma'[t] ==
7 q; z" U0 J5 q I4 n/ ?% S shear*str - # e, v7 I% ?2 y% {. R* A" O
1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0, . M3 h# Z. I5 k8 y
10}]
8 C8 ~5 A5 @' j4 o以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到:
0 V% z C, ?- y, F: x" G" M# u6 S1 t0 a; V% G
f[EIS_] := % I4 } { j% e' |2 q
Re[Coef /. ) ?- \2 Z" O$ D a) p. o
FindRoot[
9 q v, V7 C6 e$ v Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]];
9 e& l2 B4 W9 X. V也就是f[EIS]每一点的值都需要解一个上述的方程。
1 x' I% e4 q+ V# _8 X; F" S8 c7 ?. Z! ^: t+ s; v5 f+ m
; r8 j3 H6 V7 l( Q
0 u, O) S6 f3 P" d$ [程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。
* I6 @& d. i2 _
$ L% V5 W Z7 z' E" T: d; O% K9 Y1 O" T" Y$ s
& ]8 G7 n) o- B% _ f2 |4 c- T十分感谢大神帮助1 U- z* e$ `8 r \& Z: W9 g
! ?6 k9 r' {" f, u& Z! \7 h4 K& j% ?
|
zan
|