数学建模社区-数学中国
标题:
求助:Mathematica 求解微分方程组
[打印本页]
作者:
Magic111
时间:
2017-9-27 08:43
标题:
求助:Mathematica 求解微分方程组
萌新求助如何求解一个非线性方程组:
4 R. o* _2 `4 H
9 I4 M1 o4 X/ M' I- X0 U% Y
求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的:
, U( U2 J; X2 h4 C9 ]
0 ]( J" x) H2 l
NDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str*
4 C5 [" N: _2 L, D2 U
omega,
R4 J' Y/ v9 L
segma'[t] ==
, ~$ S; @' b8 C
shear*str -
6 N: ]2 u8 x( ~- D! T4 N) O. k
1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0,
( u( p9 ]! ?9 l
10}]
' F7 R+ \9 r7 b L0 y- X+ \, q% n
以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到:
6 O9 [' `( q: [5 a8 I9 `
$ w, I- H4 u8 [$ J, {& o; [
f[EIS_] :=
2 J: g- a1 e! E/ ]
Re[Coef /.
& ] ^9 }- c, V. H# x) Q7 X
FindRoot[
, K' Z8 N$ B" i
Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]];
9 J/ q* `( ~8 C2 C
也就是f[EIS]每一点的值都需要解一个上述的方程。
* e# c" k& [6 r" ?& T4 e
2 f% H$ |5 n# _" ^
8 P6 ~" f: w& }" N0 ^
1 s0 C. A5 ?' ]8 F ]4 j
程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。
% A' {: d8 S: Y# V$ ]
: n; q3 ^) r2 L, R! i: @+ {/ O
. i" A2 ?# Q) @( n: W+ g! D) M
* f" |4 W& r7 U9 i- L+ U
十分感谢大神帮助
5 n: z( p& T, _
/ g" @# x" S# o8 C$ F
, ]2 Z: {! S# L0 h
作者:
有生之莲
时间:
2017-12-21 21:08
泛函就是没办法。。。尝试重新转化处理问题吧
8 o3 \! Q+ }8 x" G. y$ n+ Z7 _6 Q' I
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5