用matlab 或mathematica求出积分微分的图或数值解

a*V'-(b+c)*V+积分项=0,其中积分项:积分区间(0,u)被积函数为分数形式,其中分子(1-d)*c*f*exp(-fx)*V(u-x),分母[1-d *exp(-fx)]平方,积分变量x。其中,abcdf均为常数。V为u的函数,求高手给出方法!

这里提供一个Mathematica解法。

总之你要求你前面的那个含积分的微分方程是吧?对于这个方程,因为含了积分,并且似乎不能简单地通过求导去掉里面的积分号,所以不能用DSolve或是NDSolve来求解,但是,它可以通过拉普拉斯变换来求解。当然,最终结果并不是一个通常形式的解析解,但是只要把缺掉的参数赋上(具体说来就是a, b, c, d, f, V[0],以下代码里的值是我随便赋的),就足以获得它的数值解了:


eqn = a V'[u] - (b + c) V[u] + Integrate[(1 - d) c f Exp[-f x] V[u - x]/(1 - d Exp@(-f x))^2, {x, 0, u}] == 0 /. (a | b | c | d | f) -> 2

LaplaceTransform[eqn, u, s]

Solve[%, LaplaceTransform[V[u], u, s]] /. V[0] -> 1

sol = InverseLaplaceTransform[%, s, u]

Plot[Chop[V[u] /. sol], {u, 0, 2}]



——————

注意,以上解法是一个因为错误的赋值顺序而造成的错误结果。至少在我所找的这个参数下,因为软件没法求解LaplaceTransform[V[u], u, s]的拉普拉斯反变换,所以也就得不到它的数值值……或许换上适当的参数,或是寻找一个可以求反变换的LaplaceTransform[V[u], u, s]的近似函数可以解决这个问题?总之我只能到此为止了。

有兴趣的话可以把你的问题拿这来问问:

mathematica.stackexchange.com

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答