我要用mathematica求一个方程组的数值解,可是应该是程序有问题出不来结果,麻烦你帮我看看,是要求这个方程组的x'[t]=-ax[t],y'[t]=x[t],x'[0]=0,y'[0]=0,求它的数值解,可以的话再画出图来,其中a是常数,
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/28 13:27:29
![我要用mathematica求一个方程组的数值解,可是应该是程序有问题出不来结果,麻烦你帮我看看,是要求这个方程组的x'[t]=-ax[t],y'[t]=x[t],x'[0]=0,y'[0]=0,求它的数值解,可以的话再画出图来,其中a是常数,](/uploads/image/z/10199977-25-7.jpg?t=%E6%88%91%E8%A6%81%E7%94%A8mathematica%E6%B1%82%E4%B8%80%E4%B8%AA%E6%96%B9%E7%A8%8B%E7%BB%84%E7%9A%84%E6%95%B0%E5%80%BC%E8%A7%A3%2C%E5%8F%AF%E6%98%AF%E5%BA%94%E8%AF%A5%E6%98%AF%E7%A8%8B%E5%BA%8F%E6%9C%89%E9%97%AE%E9%A2%98%E5%87%BA%E4%B8%8D%E6%9D%A5%E7%BB%93%E6%9E%9C%2C%E9%BA%BB%E7%83%A6%E4%BD%A0%E5%B8%AE%E6%88%91%E7%9C%8B%E7%9C%8B%2C%E6%98%AF%E8%A6%81%E6%B1%82%E8%BF%99%E4%B8%AA%E6%96%B9%E7%A8%8B%E7%BB%84%E7%9A%84x%27%5Bt%5D%3D-ax%5Bt%5D%2Cy%27%5Bt%5D%3Dx%5Bt%5D%2Cx%27%5B0%5D%3D0%2Cy%27%5B0%5D%3D0%2C%E6%B1%82%E5%AE%83%E7%9A%84%E6%95%B0%E5%80%BC%E8%A7%A3%2C%E5%8F%AF%E4%BB%A5%E7%9A%84%E8%AF%9D%E5%86%8D%E7%94%BB%E5%87%BA%E5%9B%BE%E6%9D%A5%2C%E5%85%B6%E4%B8%ADa%E6%98%AF%E5%B8%B8%E6%95%B0%2C)
我要用mathematica求一个方程组的数值解,可是应该是程序有问题出不来结果,麻烦你帮我看看,是要求这个方程组的x'[t]=-ax[t],y'[t]=x[t],x'[0]=0,y'[0]=0,求它的数值解,可以的话再画出图来,其中a是常数,
我要用mathematica求一个方程组的数值解,可是应该是程序有问题出不来结果,麻烦你帮我看看,
是要求这个方程组的x'[t]=-ax[t],y'[t]=x[t],x'[0]=0,y'[0]=0,求它的数值解,可以的话再画出图来,其中a是常数,我取了a的值为4/3.
ClearAll["Global`*"];
s1 = NDSolve[{x'[t] == -4 x[t]/3,y'[t] == x[t],x[0] == 0,
y[0] == 1},{x[t],y[t]},{t,0,20}]
x[t] = x[t] /.s1
y[t] = y[t] /.s1
ParametricPlot[{x[t],y[t]},{t,0,20},AspectRatio -> Automatic]
我要用mathematica求一个方程组的数值解,可是应该是程序有问题出不来结果,麻烦你帮我看看,是要求这个方程组的x'[t]=-ax[t],y'[t]=x[t],x'[0]=0,y'[0]=0,求它的数值解,可以的话再画出图来,其中a是常数,
x[t],y[t]
和
x[t] = x[t] /.s1
y[t] = y[t] /.s1
有 Syntax错误,这样整体赋值将导致 x[其它] 无定义.
不妨改成:
ClearAll["Global`*"];
s1 = NDSolve[{x'[t] == -4 x[t]/3,y'[t] == x[t],x[0] == 0,
y[0] == 1},{x,y},{t,0,20}]
ParametricPlot[{(x[t] /.s1)[[1]],(y[t] /.s1)[[1]]},{t,0,20},
AspectRatio -> Automatic]
-------------------------
如果非要赋值,请这样:
ClearAll["Global`*"];
s1 = NDSolve[{x'[t] == -4 x[t]/3,y'[t] == x[t],x[0] == 0,
y[0] == 1},{x,y},{t,0,20}]
X[t_] := (x[t] /.s1)[[1]]
Y[t_] := (y[t] /.s1)[[1]]
ParametricPlot[{X[t],Y[t]},{t,0,20},AspectRatio -> Automatic]
--------------------------
剩下的就只剩微分方程本身的问题了
楼下正解。
yohanchn 正解