
用matlab 或mathematica求出积分微分的图或数值解
这里提供一个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

2025-03-09 广告