萌新求助如何求解一个非线性方程组:+ d1 Y. N2 F- P' R! h* \) ?
3 A6 S, g- v: w+ O) ~9 V
求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的:0 f, V) i1 X; f
* Y; s6 i8 h- e! v m5 K" F- E nNDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str*, M. m2 F- F8 ~( U" W) V5 z- U
omega,/ _/ W& C$ b. E! C
segma'[t] == - s0 o4 q' {; I+ ^# C# H
shear*str - ! i% W6 q/ F+ c ?: [* o& `. A 1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0, ) e5 c% z; t! H1 K; S" Z' q1 X
10}]/ v. N" [0 C$ J- M+ A1 ?6 q
以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到: 0 f& A, ?( m1 F* }2 ]! @ Z, S4 s) c, q# E( `
f[EIS_] := 6 D8 U& ~- f8 Z- k4 W' |* y: W% f Re[Coef /. 4 x9 l: _- G& d4 h/ K f; u FindRoot[ ) }5 k4 K1 R6 y) ^- W) p& f Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]]; ; ?' r( S+ E0 S* ?也就是f[EIS]每一点的值都需要解一个上述的方程。. O0 q! ^1 F( ?- Y- G
) C+ L* C) l8 }% B0 u ) s! C/ M. z* d; M# M * n" f- b! I, }+ T, v7 ?% L程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。7 s2 z* ?: ^, k- m" z" U. c
2 n# t& O+ y. W6 W, e / Z; L. w& _; t7 C& u # h, n" A8 l3 l* I1 c% D+ `十分感谢大神帮助, |! ]" ]! z _% q