- 在线时间
- 3 小时
- 最后登录
- 2017-9-30
- 注册时间
- 2017-9-27
- 听众数
- 4
- 收听数
- 1
- 能力
- 0 分
- 体力
- 6 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 3
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 4
升级 60% 该用户从未签到
- 自我介绍
- Mathematica初学者
|
萌新求助如何求解一个非线性方程组:3 K3 z& E; D3 S1 o( E. I/ y
" d9 N9 e1 _+ d6 S# u求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的:) F( P# \/ I C) S: Y$ g' I; w
$ Z4 A6 F) n' |; JNDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str*! V) p, f# @' ~3 K5 \1 B
omega,
3 u% U& H4 C6 Y1 c+ X- U segma'[t] == 9 ]( m5 O' E5 q9 }
shear*str -
, o! M( g3 X, Y3 ^ Y1 t3 a+ u1 W 1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0,
0 w+ ^% N {( r/ ~' }' {: t* j 10}]
, N: h4 c2 g/ c9 Y/ u以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到:3 q, E4 [" q7 B5 @. n$ @, Q& U
9 p8 U. [5 n5 N- {& B, D
f[EIS_] := 5 x6 X# v8 T+ t! t1 y( y/ E$ ?
Re[Coef /. & y$ f( o8 \6 w* h& `8 |6 E
FindRoot[ H1 R. g( x0 G! r
Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]];
N7 y F/ M+ B: J8 \也就是f[EIS]每一点的值都需要解一个上述的方程。
, i0 d1 X9 _; C9 b/ |; l7 b
5 ?9 G- {# i0 d& s1 y- _9 ^; n8 y( t# `1 K/ [# T* H
" g" H! u" D! y; v* S
程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。+ Y/ U% M0 Q. a6 p* |' B
. ^6 a6 P5 Q8 g/ F A3 i" u
" \7 s: L `' d3 a& o
$ ?$ s( a9 X! f十分感谢大神帮助$ ~6 R9 @" X5 ~* g0 Z0 |
# `" B( V' c# {* ]
- Z- g6 M; n7 h7 r |
zan
|