- 在线时间
- 3 小时
- 最后登录
- 2017-9-30
- 注册时间
- 2017-9-27
- 听众数
- 4
- 收听数
- 1
- 能力
- 0 分
- 体力
- 6 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 3
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 4
升级   60% 该用户从未签到 - 自我介绍
- Mathematica初学者
 |
萌新求助如何求解一个非线性方程组:
# R/ E( _7 p7 w" h3 w( y* f
! ^, j N" {# i' o6 C& b* @( d8 O/ p求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的:
4 Q# B. c" |9 {1 r( i6 h! h- t4 f+ M) }8 U$ g1 z
NDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str*
& G6 D$ A# `; n; d omega,4 V. y4 y# o) y ~
segma'[t] ==
7 N/ i2 T& I" X( |) o9 G2 U shear*str - % b& @2 H' j' |. ^0 l# m- i: N
1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0, ! {, C2 K; @; P) N E+ n
10}]
3 O* ^& S( b% |) q以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到:
4 V- w! }4 Q- A, L$ g% Q3 q6 j" b1 L" O( M/ N
f[EIS_] :=
S5 ~5 ~& X$ P1 B+ s6 R Re[Coef /.
1 g, k0 w9 x$ W$ R5 \7 C FindRoot[: u" b$ w7 a3 F @- o
Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]];; R; G! r. a, K1 T* \0 c0 y
也就是f[EIS]每一点的值都需要解一个上述的方程。
0 V: ?4 c* [& q- B u7 T' U3 Z; H5 p
$ z2 X/ a* o- G! z/ `& T4 D* _& [: ], A' R3 n3 z
程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。
% ~& U0 n% x0 W' ]# o9 D5 d" Q
) s- n5 _/ |! {
, q7 K \; l" \1 [) c0 k; b, H
) A% a1 C$ w6 B; J& b十分感谢大神帮助2 ~9 Y3 |9 t% H" Z* f
/ g' Z# q& v) W$ ]
! a" Z2 ]# \8 P. C/ {8 s |
zan
|