- 在线时间
- 3 小时
- 最后登录
- 2017-9-30
- 注册时间
- 2017-9-27
- 听众数
- 4
- 收听数
- 1
- 能力
- 0 分
- 体力
- 6 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 3
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 4
升级   60% 该用户从未签到 - 自我介绍
- Mathematica初学者
 |
萌新求助如何求解一个非线性方程组:/ M4 s A: X" U; T
2 `# H% E1 s5 P7 V! X q9 z8 H
求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的:) @" W4 u3 Z5 R4 {8 u, I
0 @- {/ }) Q' W5 z
NDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str*" ^; Z+ _2 i' _
omega,# s9 V2 F4 q/ O
segma'[t] == ' N4 `# q8 y0 p2 k: U1 `' x
shear*str -
% u5 j4 @- S3 k 1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0,
C! a# t# F7 v* M 10}]% e- @9 Q9 `3 I5 A9 ]
以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到:! ]% Q0 x6 C& |4 N1 S7 F' `0 k
- f ], {. {# i: x1 i zf[EIS_] := 3 y0 q% G( [7 v3 k1 B' r2 L0 `- v
Re[Coef /. : O1 r' A2 w& J$ R v0 Z
FindRoot[
: p: w) v' R2 y8 w/ |- u7 q | Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]];
/ z) M1 e7 m1 l$ w6 y- Y6 w$ `也就是f[EIS]每一点的值都需要解一个上述的方程。
- ?) ]! g0 _& i# A5 }' J. ]$ S/ p4 }" q
& \; U) ]. ]0 I9 W: m7 R) ?; [" w/ [- j" f7 U* Y
程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。
$ M/ {5 Y$ K h
0 d: G3 G' l1 B$ b; K" ?) p( `7 g( `1 ?6 f
0 s9 @- u5 a# h& Y十分感谢大神帮助
; p$ P& p* j2 t4 Q# @& @( A! ~; d' |: V- l; Y. A
& }6 j# B& H' K- H1 z |
zan
|