- 在线时间
- 3 小时
- 最后登录
- 2017-9-30
- 注册时间
- 2017-9-27
- 听众数
- 4
- 收听数
- 1
- 能力
- 0 分
- 体力
- 6 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 3
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 4
升级   60% 该用户从未签到 - 自我介绍
- Mathematica初学者
 |
萌新求助如何求解一个非线性方程组:* \( _: j$ H; o- Y" d- m/ N( i; z. Q
+ m- K. a- ]. a' _9 A$ G求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的:, v$ b/ n6 I/ z6 t3 X2 a
e9 h+ A8 A" |3 O0 e4 Y
NDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str*
; X- `' V7 Y9 u: h( {* s omega,- u7 v. d& K) E, s; P8 w
segma'[t] ==
3 `5 ?; X' H& a( ?# h" Q shear*str - $ K* g) T3 {- G0 y/ d, Y2 n8 O
1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0,
, c! p( ?1 e0 z' O1 f8 M 10}]
% |. x# e) e7 n: t以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到:
* C" Y. L" s4 c. ?; A
6 \+ T7 _7 ~7 V- |f[EIS_] := " G1 k( e. Q v
Re[Coef /.
- _8 V# B' t: b9 T. O FindRoot[/ p& x( }4 g) l( p8 [6 }$ G9 i
Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]];6 g: u/ I; Z# |, u; \
也就是f[EIS]每一点的值都需要解一个上述的方程。
& r7 H6 C8 R0 {! M' M. X2 B+ }- `
, v% P9 p3 g' {1 P& o) N1 {6 g
1 j3 E" W( e9 x2 x0 P# j% h/ I8 \, [5 C# O, Q( [2 O
程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。
" Q/ d1 H- B$ m$ v
" b+ N3 p) p/ w8 c0 z; Z
; s7 z! G4 n# T5 n, T
. h& A' ~3 S- |. c! x十分感谢大神帮助4 M) k4 r J# {: ]9 U+ _- M4 b1 \
6 q! G+ P0 S, V
! Z8 {9 q+ q9 I/ \1 c" z |
zan
|