- 在线时间
- 3 小时
- 最后登录
- 2017-9-30
- 注册时间
- 2017-9-27
- 听众数
- 4
- 收听数
- 1
- 能力
- 0 分
- 体力
- 6 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 3
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 4
升级   60% 该用户从未签到 - 自我介绍
- Mathematica初学者
 |
萌新求助如何求解一个非线性方程组:
Y- K7 ?5 T% X! o9 {/ u
2 `3 e6 }7 W6 Y5 s. o! A; g! {求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的:& |" s% m0 I) B! Z
) W4 `! l+ Z, z; a$ x2 K0 K
NDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str*- O; b; t, A$ j3 C4 r1 f
omega,
; ?4 ^5 n7 ?1 `6 J) G6 Q4 x6 S1 v segma'[t] ==
& R( V( B% V, |- y/ I: ?; V& C) e1 ] shear*str - $ C2 f# }0 P) k3 o1 `9 Q7 a
1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0, $ Q+ }7 D1 r& z/ i! f+ r
10}]
1 o: \" L3 s0 x3 T以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到:. V8 ]4 k1 J' E- w& s
$ `: J! ?8 F* p* ?* J
f[EIS_] :=
9 b8 ^( R7 T4 ?+ e' Y. O: E* r* S Re[Coef /.
! `6 K# k. K4 g' D FindRoot[
9 f" L ~& |: @$ @ Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]];" r8 M1 x7 O- Y# i
也就是f[EIS]每一点的值都需要解一个上述的方程。; V7 ?+ o4 z) D- G5 R
) }# l& |, o7 v T5 c7 E% L1 W" w
3 p+ M+ o3 i' \% w1 i/ x6 J
- H( r3 {9 I& F& w6 s* a程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。
* s+ G$ r. W/ }- [
: k3 ~0 M( W, D* }: v& ]. l' w- ^: Y+ q) u# l) \5 \" _
$ _$ S' Z$ ^* X$ _. M十分感谢大神帮助
4 M* k$ g. L% v5 ^7 \$ l) m0 G) G. p' S* ~4 E5 ]3 }
: d% E- V' _ E2 k' d o |
zan
|