- 在线时间
- 3 小时
- 最后登录
- 2017-9-30
- 注册时间
- 2017-9-27
- 听众数
- 4
- 收听数
- 1
- 能力
- 0 分
- 体力
- 6 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 3
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 4
升级   60% 该用户从未签到 - 自我介绍
- Mathematica初学者
 |
萌新求助如何求解一个非线性方程组:% c' s5 A# l! ^ I _
8 j7 S; v( u8 k5 \7 J求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的:6 ^9 V3 T2 {% e* m
) Z# K) M% |: v1 |, YNDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str*
\0 V: e* ?! P. d1 d, ^, o omega,
" M3 p. c' I. G. f+ X/ l1 d2 M segma'[t] ==
% e) [8 s! X- S5 P0 D shear*str - * |8 ?, B6 u5 K" k
1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0, 8 l p% X$ _ ]5 P6 y4 D# q
10}]
+ n0 y. U2 I8 m+ \* y$ \以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到:1 J& e; T' B: Y1 y/ R3 o/ T* C6 _' o+ }
/ m7 r L2 e; Af[EIS_] := . R" H) i8 a8 G! U% F7 r- m
Re[Coef /.
( ^7 E6 \% s; J/ e F$ W FindRoot[
1 B5 b7 K7 |/ u+ \4 {' b u5 h2 p* w Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]];% p3 k. ~- I! w; l
也就是f[EIS]每一点的值都需要解一个上述的方程。
, D8 `' i% Q& j; J" E# B/ i) `5 f) e
8 A+ E1 T4 z" w/ e7 W, X4 s0 Q
; G9 j' A6 U& h, F2 D" J( B {程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。( m j3 F3 _7 k* s
6 u) M. K/ q: _
7 v, D; a6 Q# E2 ~6 J2 Z
1 ?; D) E6 S5 {; ~* `
十分感谢大神帮助3 u; p' a c( P6 r# C U3 G
: n2 @3 R2 C2 z# q
% ?8 H8 C, s! e% z/ u8 z H |
zan
|