- 在线时间
- 3 小时
- 最后登录
- 2017-9-30
- 注册时间
- 2017-9-27
- 听众数
- 4
- 收听数
- 1
- 能力
- 0 分
- 体力
- 6 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 3
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 4
升级   60% 该用户从未签到
- 自我介绍
- Mathematica初学者
 |
萌新求助如何求解一个非线性方程组:
- ?) A% u ~5 f- b# a" P. C7 a# p! }! a, _' v8 \/ ?
求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的:
F& b! z& C' L! q
/ }$ D2 @- Q8 Z6 SNDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str*
' E `; S: o' k! e7 m omega,
0 z' z# V$ C% p. f segma'[t] == $ R9 f p* W q
shear*str -
0 y* w0 @% v5 o2 h 1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0,
s% c6 x: P4 N, n' G 10}]
/ c0 Y. a$ k+ y; d! O# t7 e0 I以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到:
$ x" _9 q7 K- o6 Z0 x8 c' F1 d" g
' K6 E5 q: z% V2 e+ M6 Vf[EIS_] := % y1 ]7 M- K/ J" _2 M
Re[Coef /.
( d3 p9 O" t( y6 |/ O FindRoot[
( L. k \% G9 f1 j7 ?5 W; v Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]];
. W3 G) p! a+ @5 ]2 b+ d% b0 U也就是f[EIS]每一点的值都需要解一个上述的方程。- Z! n% H2 N$ }( M: C
: ~+ ~3 Z, X" ~ L S
b; @) `+ x* N9 ?# b* [7 x: i6 V
6 ^% Z+ x j$ j9 r程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。
1 F- @$ J1 J% \0 P8 W1 a- N) F1 z+ s
- l3 [" x6 ~! b4 |6 F- U) h
+ Q/ ?/ G4 K; ~/ [% g; B1 z4 r2 U
十分感谢大神帮助
2 A- k$ U* I- E0 a2 ]1 U1 y& R0 }" D
8 M* {0 w8 m+ ?; ~0 \- x( O |
zan
|