- 在线时间
- 3 小时
- 最后登录
- 2017-9-30
- 注册时间
- 2017-9-27
- 听众数
- 4
- 收听数
- 1
- 能力
- 0 分
- 体力
- 6 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 3
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 4
升级   60% 该用户从未签到 - 自我介绍
- Mathematica初学者
 |
萌新求助如何求解一个非线性方程组:
8 u$ c2 @$ U) d# [
" D; E2 ^2 D9 Y" `& }- K5 @7 S8 y& S) D求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的:# A& p4 u- i/ Y: U1 R8 y$ W+ O
8 Y; _- b4 h R3 E+ S0 DNDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str*8 R) b2 I9 z I( V) X( v( B. ?
omega,1 L+ b S" t5 ^* _- a% k4 i$ M ?
segma'[t] ==
: E( h0 x( F0 v6 _- p shear*str - ! F$ \& g- U" P9 E9 j2 S- K& z
1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0,
5 V7 S Z( d$ M! Y, z! A) D! A 10}]
- \% K* v, p6 g4 W, d以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到:0 }7 ~% w$ ]' K3 k8 r, ]- w+ V
9 s/ n) B$ B2 y# n5 j" c( of[EIS_] := 1 L \3 J$ z6 T( D$ z
Re[Coef /.
% I$ U5 j) `! }% Z FindRoot[. u3 F% y- D& i4 x0 |# `
Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]];
# O3 h( `7 ]; G8 ?6 q; y也就是f[EIS]每一点的值都需要解一个上述的方程。
' x8 ]; A" E2 Y2 `! [+ s. M1 ?
* g9 x& f. l+ b' a: c0 |% X( @2 C* p; B
- _( j F, @( \" q. a( s$ b9 h2 t
程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。) f# _3 r) Z# R" t/ Z
6 m7 T. K* a: _/ r. t
9 m, g* C u2 q! p: Z- E4 i0 _0 d) h; e- c
十分感谢大神帮助8 j) _! P6 l- v- A; z! r& Q/ u1 [1 m
* f8 {# ?/ c& E/ B: [: x0 Y! E, l1 l+ D
|
zan
|