NDSolve带参数

时间:2012-09-10 15:43:13

标签: wolfram-mathematica differential-equations

我是Mathematica的新手,可能我正在寻找的东西很简单,我尝试了一些方法,但我不能成功。

我有一个DE,我想要一个由DE参数参数化的解决方案。更准确地说,
让我们将DE定义为: x'=f[x,t,a]其中“a”是参数,我希望将x的解作为时间和参数的函数,我将函数g命名如下。 x=g[t,a]

当DE是基本的时,很容易使用DSolve并获得它,但我找不到用NDSolve获得这种解决方案的方法。我知道NDSolve仅适用于数字争论,但我正在寻找一种方法来将结果与不同的参数值进行比较。
使用不同的参数值显示/比较结果的简单方法也可以。

2 个答案:

答案 0 :(得分:4)

vdp[k_] := {x'@t == y@t, y'@t == -x@t + k (1 - x@t^2) y@t, x@0 == 2, y@0 == 0};
sol = Table[NDSolve[vdp@k, {x, y}, {t, 2000}], {k, 1000, 1500, 100}];
Plot[x@t /. sol, {t, 0, 2000}, PlotRange -> All, Evaluated -> True]

Mathematica graphics

答案 1 :(得分:0)

我认为这样做的唯一方法是针对不同的参数值多次运行NDSolve,然后比较结果。