萌新求助如何求解一个非线性方程组: . _3 ^6 ` q( s' {. |4 y; w9 C+ o j5 {
求助大神,我要解的非线性方程组不是规范的,无法直接套用NDSolve,也没有在Help中查到处理方法。原因是微分方程组中有一项表达式需要再解一个方程才能得到,具体的: + C* s& v, \6 r0 ~2 T" [* i$ P" w5 a& H- R
NDSolve[{ EIS'[t] == (segma[t] + f[EIS[t]]/(str*omega))*str* 1 n8 l4 c9 `# ^% A3 M& b, U- e) a omega, 5 r* v# t' P* f9 d segma'[t] == 3 |# `/ [4 q- r+ F
shear*str - * e1 u- t1 w2 S4 A$ i- K' b
1/(str*omega)*Df[EIS[t]]*EIS'[t],EIS[0] == -4.842, segma[0] == 0,}, {EIS, segma}, {t, 0, 3 X" s% {6 ~( K& ?5 d/ L8 K- `
10}]- ~. Y" ~6 e. l2 {- c
以上是我想要求解的微分方程,形式很简单。其中各个函数除了f[EIS]以外均有直接的表达式。而f[EIS]需要由以下表达式得到: ( [/ N! N6 ~ u1 [0 F ; X. |6 M7 X! Qf[EIS_] := . G: D, R: C. `9 |
Re[Coef /. 7 x0 B8 ]2 ?5 p1 h3 U FindRoot[ " I4 y" W. E: e. P Integrate[P[EA, EIS, Coef], {EA, 0, Infinity}] == 1, {Coef, 1}]]; . a0 Q" [. w; t% r& g' v {也就是f[EIS]每一点的值都需要解一个上述的方程。) U5 \0 r2 a3 c4 C% G
! B. N, _$ |* C. Y. M; t 3 Q: i# ]; v2 W' F6 O8 i5 |. y. P7 Z! m/ ~/ a
程序报错是求解f[EIS]时得不到数值无法进行。请问这样的情况应该怎么处理呢?我也尝试了将f[EIS]也作为一个方程放入NDSolve中求解微分代数方程,但是也无法得到结果。. C( [2 Y7 Y3 a# L
9 v! J% t9 @. T) I, t. D3 j7 R7 d8 R, p6 u& i2 T. W5 \
' V- ]! X# Q, @
十分感谢大神帮助 ! A, [4 _( U- \. @ - ]8 @( H9 J" F, u 1 y y# a+ ^! E0 J8 @1 m