数学建模社区-数学中国
标题:
求助:Mathematica 求解微分方程组
[打印本页]
作者:
Magic111
时间:
2017-9-27 08:43
标题:
求助:Mathematica 求解微分方程组
萌新求助如何求解一个非线性方程组:
+ c |6 C1 X* T4 i0 A$ B
% d6 ~3 T/ d/ K/ f" J# o7 p f7 V, V
求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的:
1 T& \% V( ~2 [
) [ e, l1 g5 f/ n U
NDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str*
, j& O3 v+ y8 g- D. f% Z6 [" G
omega,
! _' F$ W* R% t8 ~4 G
segma'[t] ==
+ Y7 x6 d' L& t* C
shear*str -
4 S( M5 ?6 g6 Q5 U" Q
1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0,
9 W2 Q! D p7 j4 l0 e
10}]
* t4 \ @& }+ ~1 z& x
以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到:
4 C7 K1 f) w- ?# u g, R, U
$ v! o+ J7 n3 _8 a0 R
f[EIS_] :=
# D- A" w7 a, V2 {2 s1 U
Re[Coef /.
5 u6 Z' p! _& g) D% K
FindRoot[
& x- E. t! g$ W* C t
Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]];
+ ?& @- o; j l8 m% v0 T
也就是f[EIS]每一点的值都需要解一个上述的方程。
4 i" [6 U4 z: ~
( }# [/ h: ^: s- r
/ r( N5 f {7 G7 V7 U
, Q2 [' m0 L- j Q7 l; O' k" C
程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。
( p; T; ]3 I# @; P! o& y) B
K6 u' C& L/ i" o8 P5 P. J( m
3 N' x/ ^' K8 c. U, _6 P
9 b* `) U' S: Z0 {% M: I
十分感谢大神帮助
: d' C8 L5 {0 {" P9 X, h2 R6 Z
% f' {, E" t- l s) C
; r2 L& c% h; t% Y2 C/ y1 u w9 H4 H& T
作者:
有生之莲
时间:
2017-12-21 21:08
泛函就是没办法。。。尝试重新转化处理问题吧
8 C! N1 \/ b0 z: f5 K; F
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5