- 在线时间
- 3 小时
- 最后登录
- 2017-9-30
- 注册时间
- 2017-9-27
- 听众数
- 4
- 收听数
- 1
- 能力
- 0 分
- 体力
- 6 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 3
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 4
升级   60% 该用户从未签到 - 自我介绍
- Mathematica初学者
 |
萌新求助如何求解一个非线性方程组:
$ F* q- n( C9 k) j+ Z
* C* j L+ ~7 c* X" k( t' w o求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的:3 A# m: E$ X) Q3 x' C; W2 A. `
5 g4 ~* q* `/ H1 {
NDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str*
" s2 ` S, H( f/ F8 A8 ^ omega,
Z3 m- i+ ]) N segma'[t] == 5 H' h. D0 A! a; ~) _
shear*str -
3 n/ e. c2 Q& C8 P! {3 p) M Q } 1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0,
; w. [9 [5 k* Y# P$ W 10}]# F% L( z, {! f- U6 A5 o, @
以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到:
- X, J+ P: R- p. G' `" Y* e7 h0 [( m) v* R7 F6 u' H
f[EIS_] := 1 T2 q; l0 {! L* f$ S1 ~, ^
Re[Coef /. 7 e% |$ Y9 f/ ?) m1 v
FindRoot[
4 X ^3 h9 R$ G2 L3 Q Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]];
* p" O) K. D& `$ w' A+ d- S: q也就是f[EIS]每一点的值都需要解一个上述的方程。
6 ~5 H) c* ~ _
0 k8 |& K! d& Z* d5 _
' l4 ?1 J4 F/ {$ \. j! W
. f0 i4 o" U1 P2 u! h9 W; y' }6 P程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。8 |& P# u) |' F! Q8 [( B b
) @9 {/ Q8 r. _. g3 z! @9 U
5 y9 x9 v$ `: { m2 T6 W: S \5 p1 k6 G9 ?
十分感谢大神帮助8 K" ?1 E6 O5 @# g1 M: Y- U& q
) y Q' ^0 k$ p6 s* G+ G6 U
( l- u3 M# z# v1 _8 c/ ` |
zan
|