mathematica微分方程,数值解,result = NDSolve[{y''[t] + 0.1 y'[t] == -Sin[y[t]],y[0] == 1,y'[0] == 0},y,{t,0,50}]Plot[y[x] /.result,{x,0,30}];想知道y[1]的值,即x=1时,y是多少,如何在mathematica里面表示?

问题描述:

mathematica微分方程,数值解,
result = NDSolve[{
y''[t] + 0.1 y'[t] == -Sin[y[t]],y[0] == 1,y'[0] == 0},y,{t,0,50}]
Plot[y[x] /.result,{x,0,30}];
想知道y[1]的值,即x=1时,y是多少,如何在mathematica里面表示?

NDSolve得到的结果是这种形式的{{y -> InterpolatingFunction[{0.,50.}],}
相当于是一个二维的list,你要把你要用的那部分取出来
就是y[1]/.result[[1,1]]
y[1]/.result[[1]]也行。

y[1]/.result[[1]]