- 在线时间
- 3 小时
- 最后登录
- 2017-9-30
- 注册时间
- 2017-9-27
- 听众数
- 4
- 收听数
- 1
- 能力
- 0 分
- 体力
- 6 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 3
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 4
升级   60% 该用户从未签到 - 自我介绍
- Mathematica初学者
 |
萌新求助如何求解一个非线性方程组:
8 A- |8 m& o+ K# B% K/ v! s4 k6 s/ L8 w- o d+ r) y
求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的:
4 G* N+ D- C S5 n3 w( Q+ w- u. Y g e" y
NDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str*
' S) p' `. z0 I' k7 U# Q' k7 @ omega,8 R8 w0 Y- G) s/ o0 y
segma'[t] ==
8 J! E1 P5 Y1 _* m shear*str -
: O/ W( m3 R& ]+ o; ? 1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0, 4 h6 a J8 h( r
10}]
) ]% H. U, O( _' C0 K以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到:
. A7 |3 g# j+ m9 Y+ o0 L% y$ Z" u
" z0 U4 y3 l n8 y; H' l( `5 Bf[EIS_] :=
/ D7 n) e6 r& T2 _2 } Re[Coef /.
" h' k, c) T$ _ FindRoot[
; X L3 k( ~; W2 z h6 x3 m Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]];: x& \# ?# R5 o7 ~2 e
也就是f[EIS]每一点的值都需要解一个上述的方程。. i, }3 `8 L3 o: M# Q
$ W$ d" t4 ?: ?9 p' z/ E
5 b6 A, f7 I0 K
9 y' a" a! F' M0 h& k9 T1 t7 {程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。* c9 u" m Z7 ?+ x8 x# A; A
4 r3 o; f: J: C) x7 y4 k' G8 y/ P, Z* E$ i7 S( A" ~' U4 z
; u( D* p# G7 e* T& v4 ]十分感谢大神帮助
& O6 w: v- b. u5 h! c; C
8 h* \9 A. C! |! ]3 d0 N3 [* Y+ |0 J3 i
|
zan
|