- 在线时间
- 3 小时
- 最后登录
- 2017-9-30
- 注册时间
- 2017-9-27
- 听众数
- 4
- 收听数
- 1
- 能力
- 0 分
- 体力
- 6 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 3
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 4
升级   60% 该用户从未签到
- 自我介绍
- Mathematica初学者
 |
萌新求助如何求解一个非线性方程组:4 j8 L) W! d" \: u' \2 c
7 u! P3 l& i& `$ z求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的:1 b9 Q s' W6 J7 a
8 W- e# ^+ X& v3 d- bNDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str*" J3 w# ?6 u) ^! n3 A/ `8 z
omega,
5 W: `2 f# o* Y6 [9 b/ [ segma'[t] ==
- j& J4 @/ h* }* S/ @ shear*str -
( `$ [/ ]. ?! L% p2 i6 x 1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0, 1 R" Y) G1 L; C: p( S7 w' V! U( j% y
10}]
+ R% x, U) d a/ U. H2 |1 G以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到:( L& C! B3 t' M0 Q
' V* S, z; C6 h7 T( i; H
f[EIS_] :=
3 {. a$ f) n9 M2 }, C) f( A Re[Coef /.
4 H% F! @8 g4 o- j7 ` FindRoot[1 q0 K: O- N9 E8 O( B4 U( Q4 ~
Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]];
) V1 ~9 _% J* d4 g3 h4 G3 `也就是f[EIS]每一点的值都需要解一个上述的方程。* g6 v* I+ J4 I! S: J
! H/ U- A+ L' ] L6 {$ R* z1 ~7 Z' W' M: K
/ d. m: f0 ?; Q5 z8 h
程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。
6 p# j$ y! }5 u# ~
9 V1 ?9 v6 G* t8 w7 C: d8 V
) C0 v# e9 D1 s) S3 q' x
% r1 i* b: `! h7 h. k | F十分感谢大神帮助/ t/ C$ C Q0 p+ a6 p3 G/ y2 C) C+ ~
1 J2 b" q9 X8 @6 {# O
2 g0 B5 M* U1 f) K) O* C! M; f |
zan
|