- 在线时间
- 3 小时
- 最后登录
- 2017-9-30
- 注册时间
- 2017-9-27
- 听众数
- 4
- 收听数
- 1
- 能力
- 0 分
- 体力
- 6 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 3
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 4
升级   60% 该用户从未签到 - 自我介绍
- Mathematica初学者
 |
萌新求助如何求解一个非线性方程组:* e8 c9 @% b4 A4 n, ]/ ~6 v; J% U7 e
8 E4 V9 X+ O& _; A/ M$ _4 G求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的:
0 M3 I7 H" N- Q. x
3 T% u& A' F' c7 n0 ]. LNDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str*
7 [ q7 _1 R& e. J omega,
% \3 [ ]/ ~% Y7 n }1 _( K segma'[t] ==
8 s/ J; p% e) D/ e, q5 k8 P" M shear*str -
# k$ [" ^( {; M" a: q9 K# _ 1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0,
1 S7 P6 Y/ {% J% z 10}]
. ^8 ~+ i" |9 Q! j以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到:( g" ~. D9 s8 G: p T/ W0 H$ }, w; f
2 G4 ` B* `: @% H
f[EIS_] :=
6 p3 e5 y' Q4 ]$ T0 J4 i6 ]. j Re[Coef /. . X' y* C! P: B; P; B
FindRoot[3 B- W5 b4 o# n6 M1 o8 r }
Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]];& M, T/ O! B$ U, c7 ]
也就是f[EIS]每一点的值都需要解一个上述的方程。( B2 M3 U4 I) z) r8 h
0 \$ e$ `0 g' e
/ K: C% {6 H" G. r# K; l1 }! o+ h, |# |( t, j6 C" A
程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。6 [) E! ~% i- s( A
( X: Q: I, L& w! R# T! J# N! z' ^' u' Q% j4 L! ?5 y: s+ u+ i
# I* B. ?7 ~2 Y5 | r. m j' n十分感谢大神帮助
) S$ t# j8 X+ c9 ^$ [. [/ N7 z- _, ?) \: T8 `: Q( ]
+ p4 @% Q! I! @" } z/ @: F# t( H9 Y
|
zan
|