- 在线时间
- 3 小时
- 最后登录
- 2017-9-30
- 注册时间
- 2017-9-27
- 听众数
- 4
- 收听数
- 1
- 能力
- 0 分
- 体力
- 6 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 3
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 4
升级   60% 该用户从未签到 - 自我介绍
- Mathematica初学者
 |
萌新求助如何求解一个非线性方程组:
5 m- l8 G' r2 w( z
- ^( M- g( @3 M求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的:6 }1 T d( b6 _7 O* Z: W2 c
/ k9 Q) W# m) R2 s2 Z `
NDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str*
7 h- c5 m& Z. C omega,1 h* c! W* C" O6 [' q5 S. A
segma'[t] == 8 e! {3 _( x+ X0 i5 G; m3 h
shear*str -
) g: B3 t2 A0 [ 1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0, 1 v8 T5 ^& i- E. H8 j- f( E# M1 y
10}]) t2 H- b; O1 D# H7 r+ Z6 \) c
以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到:
, X$ n: m$ y! O6 q4 {9 `! M8 v3 c0 Q7 L) b7 g# L- j
f[EIS_] :=
: q5 ^' S, w( Z5 C: @ Re[Coef /. / t( A7 t4 G% }7 x6 W1 I6 m
FindRoot[
+ U+ t( K& }* n1 r) |7 M | Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]];* G& c( ?6 ~, p
也就是f[EIS]每一点的值都需要解一个上述的方程。$ q8 c) G& m* E( m' {9 c
7 f \2 ] i, y4 U' y( u8 i- i/ u% w! c' s
' t+ p+ k9 g' @# @4 x
程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。
3 ]! s" R: Q/ s8 n6 o3 U6 x! E$ }+ [% A6 I
; z3 L) F" d1 z- V$ W$ `& O
! E5 F: Y" `: ]* `十分感谢大神帮助" G% h% s# F# \. n3 o/ W* s
% R% X1 I' j3 W8 n1 l' U2 Y
, T3 w) t/ o# z) @2 W J4 p; p9 | |
zan
|