- 在线时间
- 3 小时
- 最后登录
- 2017-9-30
- 注册时间
- 2017-9-27
- 听众数
- 4
- 收听数
- 1
- 能力
- 0 分
- 体力
- 6 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 3
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 4
升级   60% 该用户从未签到 - 自我介绍
- Mathematica初学者
 |
萌新求助如何求解一个非线性方程组:/ X _+ ~* @6 n( G1 N! x
" S8 ^/ ]3 H5 S5 x- B7 P
求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的:
6 n9 X" S4 k% C0 Y2 N6 v/ q& ^! m* `2 ^7 z* F
NDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str*- i. R; O% u4 d9 d* y# k
omega,
7 w- m% w; B6 Y4 m2 D) Z- w* S segma'[t] ==
# v7 x8 h% q$ Z- B shear*str - : i5 P: A$ Y0 [8 A3 Z% d. M: }2 u- F' H
1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0, 4 a/ k5 ]) J0 E
10}]0 y N, L# U3 J0 I0 E w7 y$ i3 Q
以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到:, M# }% T" ]: t6 X( X* z6 N
6 N5 v0 I( }* V$ \1 ef[EIS_] := + I& }' {+ [8 ?+ k G: j9 b4 T" U# |
Re[Coef /.
- X' `- s1 p3 F: y5 M* [ FindRoot[
! h1 H6 p0 ^& d) _ Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]];( q1 x% j- d" [( d" a
也就是f[EIS]每一点的值都需要解一个上述的方程。
, Q/ x9 H( o3 C: d3 Z. u. k3 h
3 s& a7 r- [ x7 t- o. c2 t5 }. l! a9 [
, W. \. o- o" M8 s2 s
程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。
* r i$ C& K4 I; |; n P1 S) t: B/ U& ?+ N( e
/ f/ I$ m/ k; d9 D) ~
, C- j' C! ?* R; N; b$ a十分感谢大神帮助8 ?8 D4 @) V" L) h% f5 i3 ^1 M* x2 G
- Z% x9 A% A6 t8 X, e% H- h* [
|
zan
|