- 在线时间
- 3 小时
- 最后登录
- 2017-9-30
- 注册时间
- 2017-9-27
- 听众数
- 4
- 收听数
- 1
- 能力
- 0 分
- 体力
- 6 点
- 威望
- 0 点
- 阅读权限
- 10
- 积分
- 3
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 4
升级   60% 该用户从未签到 - 自我介绍
- Mathematica初学者
 |
萌新求助如何求解一个非线性方程组:6 Y3 e3 K9 Q* m% I% j$ `
6 n |0 L) R# }; F6 {
求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的:: I6 ~0 X% u1 U: f- L9 ?! F$ I2 c0 D
. o% w9 H. ~+ |* D3 uNDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str*
) J! Y: ?9 Z! h! [$ [ omega,& }: j6 H K( ?! J: o0 C
segma'[t] == ! D$ d6 H& s% Z4 [) I" J
shear*str - , F0 A, ^' K3 L* N
1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0, 1 g: J8 s$ w8 s4 S% X3 H* L9 J7 P2 x5 a
10}]* \& [" ?. W' J1 v6 z7 J
以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到:
6 S# O9 y5 F3 n1 x( Y( {- B' y+ K* A% [( v7 r0 F& k, R$ x6 Z8 j
f[EIS_] := 1 ^: m; R/ y/ T( D5 D/ r6 m9 ~5 Q0 u
Re[Coef /. ) E8 o% v: d. T1 e, f
FindRoot[; K6 Q9 f- ?8 e9 V! J H
Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]];
4 e9 y! c7 J% Z8 Z9 R也就是f[EIS]每一点的值都需要解一个上述的方程。$ ]; M6 \6 i, p; a
% D) z0 o; x w2 U, c
3 m1 j7 ]/ D6 Z# W% q& R" J: Z: \2 H. ~
程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。* z: r1 v3 E/ g* [
/ e' H8 r9 Z8 g3 f$ o" I
+ ]% h/ D+ f" `% T5 z; m
0 u: o1 y! |* T* b" O; k% @7 c, [十分感谢大神帮助
* Z, l9 g1 n: e6 H& h7 l( A7 I( q: T7 n9 l' p
! V4 q2 h" Y0 w' C1 Y+ N |
zan
|