- 在线时间
- 3 小时
- 最后登录
- 2017-9-30
- 注册时间
- 2017-9-27
- 听众数
- 4
- 收听数
- 1
- 能力
- 0 分
- 体力
- 6 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 3
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 4
升级   60% 该用户从未签到 - 自我介绍
- Mathematica初学者
 |
萌新求助如何求解一个非线性方程组:
3 D8 k+ g+ G" {% f% ^" K5 C. r( q# U7 D
求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的:
. d/ }3 E) c% ^' o2 L% \! o, W0 G5 i+ H3 z2 `& E; P
NDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str*
" X3 H% ^3 C! B* q9 K- k6 a omega,$ B$ x9 H; C! }3 l# w* I
segma'[t] == # L& P, o/ |: ^ g4 H/ ^) ]3 g' f
shear*str - 7 e4 H1 R0 X* u4 H, P
1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0, 2 J- Q% @1 a' v/ ]/ _! F+ Z
10}]' s1 m9 y" w$ N4 u3 @
以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到:4 h7 h- _; q& c$ C/ w
( k: G/ f* _/ n- @5 K* Zf[EIS_] :=
! s" C' Y) f8 G' B' u" @: F$ c8 ~ Re[Coef /.
+ x( O7 @0 j- c+ ], J8 | FindRoot[
$ X% L8 u# z8 o4 o3 Q Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]];
{2 k0 ` |8 y! \6 p- J也就是f[EIS]每一点的值都需要解一个上述的方程。
$ O8 C( B: y( \
4 i& z% Q+ A6 ?: s$ s/ f- ]! U: a5 h4 q" N+ K
" ?5 h( T" G" D; F程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。9 t. }; u6 G$ D/ p% n
9 q4 c% j7 Y, Y
1 q g* Q& i! i/ {
9 a) r: C4 w% W2 l十分感谢大神帮助
% o( ^3 y* ~8 Z3 [/ H
\; ^" l6 b% K- e2 G1 w n1 B. z" C
|
zan
|