- 在线时间
- 3 小时
- 最后登录
- 2017-9-30
- 注册时间
- 2017-9-27
- 听众数
- 4
- 收听数
- 1
- 能力
- 0 分
- 体力
- 6 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 3
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 4
升级   60% 该用户从未签到
- 自我介绍
- Mathematica初学者
 |
萌新求助如何求解一个非线性方程组:& U5 u- Y& ?% e8 r1 j
/ d: L y- }4 D+ ]
求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的:5 K4 B7 b& F2 A3 U) n3 {
3 M& U& w$ g2 D3 G$ Z. ~8 Y
NDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str*
7 Q" ]# Y# d! ^3 S omega, m% O3 u: n. g7 l! \
segma'[t] ==
/ }, k0 W" q# c2 U2 @6 T7 s6 } shear*str -
$ @8 p ^) s$ |4 y4 | D3 r) W 1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0, / {6 S' S+ `9 f' g' X' |
10}]' D* B& o/ y( I1 s
以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到:) d7 g+ T* p3 O: g- T7 H
. E! I, U: ~2 A* C, Z! J! {. \) w) d5 Uf[EIS_] :=
8 e( |2 j2 Y/ Q$ Y' U! v Re[Coef /. 9 P# A2 X0 n7 n: Q
FindRoot[+ ?5 h+ m U; E" R& p5 g- [0 {
Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]];
~# M1 I2 o: S2 }& d9 X! g也就是f[EIS]每一点的值都需要解一个上述的方程。
9 J8 s1 P' _2 K" p J+ y/ V6 V, G
' x7 p h9 F* D1 s1 {# f! [1 u! ^$ t# c( U
, X4 k/ c* }/ b2 R+ V0 f程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。
& z% Y" B+ m a. b8 V, q5 Q6 `$ D! H* d* l. h: l* a
$ l& X2 Q2 U K, _0 i/ V& Q) w% z/ ?# r) W
十分感谢大神帮助+ e9 E) E* \. |9 }
% q1 E; X2 K, S4 X9 M& B/ C
6 B, B5 l" q4 f1 k) |
|
zan
|