我是Mathematica的新手,可能我正在寻找的东西很简单,我尝试了一些方法,但我不能成功。
我有一个DE,我想要一个由DE参数参数化的解决方案。更准确地说,
让我们将DE定义为:
x'=f[x,t,a]
其中“a”是参数,我希望将x
的解作为时间和参数的函数,我将函数g命名如下。
x=g[t,a]
当DE是基本的时,很容易使用DSolve
并获得它,但我找不到用NDSolve
获得这种解决方案的方法。我知道NDSolve
仅适用于数字争论,但我正在寻找一种方法来将结果与不同的参数值进行比较。
使用不同的参数值显示/比较结果的简单方法也可以。
答案 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]
答案 1 :(得分:0)
我认为这样做的唯一方法是针对不同的参数值多次运行NDSolve,然后比较结果。