第2个回答 2012-09-02
除了楼上那位说的以外,还需要修改以下几点。
第一,求解微分定解问题是视问题不同是需要初始条件和边界条件的,你的这个,我试了下,补充两个初始条件的话即可解,当然可能还有其他可用的初始条件,你可以自己试试。
第二,ParametricPlot这里,你在第一点之后,可以单独执行下y[t] /. solution试试,你会发现这样得到的是个列表。疑似参数绘图并不能这样塞列表,虽然这只是个单元素的列表。所以这里要把这个元素给提取出来,这里可以用First。
综上所述,正确的代码是:
sol = NDSolve[{Derivative[1][x][t] ==
0.03` x[t] (1 - x[t]) - 0.49608` x[t] y[t] -
0.3816` x[t]^2 y[t] - 0.5724` x[t] y[t]^2,
Derivative[1][y][t] ==
0.067` y[t] - 1.04` y[t] (-1.2`) y[t]^2 - 0.8` x[t] y[t],
y[0] == 0.01, x[0] == 0.01}, {x[t], y[t]}, {t, 0, 10}]
ParametricPlot[{First@(x[t] /. sol), First@(y[t] /. sol)}, {t, 0, 10},
PlotRange -> All]
当然,x[0]和y[0]是我随便赋的,你得依你的具体问题去赋值。