我要用mathematica求一个方程组的数值解,可是应该是程序有问题出不来结果,麻烦你帮我看看,是要求这个方程组的x'[t]=-ax[t],y'[t]=x[t],x'[0]=0,y'[0]=0,求它的数值解,可以的话再画出图来,其中a是常数,

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/27 20:02:37
我要用mathematica求一个方程组的数值解,可是应该是程序有问题出不来结果,麻烦你帮我看看,是要求这个方程组的x'[t]=-ax[t],y'[t]=x[t],x'[0]=0,y'[0]=0,求它的数值解,可以的话再画出图来,其中a是常数,
xT]oP+'q nW $Dn4v%fYl\PǾt%ӕ揱\|{J07raӴ~sAj4KeQFi2vLw;f`v:iLxIQ*KZxH+^al膶EuM+w͵qQ#Z , oia l z*`Zs#3uPYjRАW Dk`b⮡DpS )"&CO<⋢΄pYR>@ť~aE $7 Uhj ^g@gwU`Ni#n*D2rM9+&刜\ JqRHX~G =?!R$_l)1YLKbӝ3bZ`#j8|0 HltNaѤ|Ww=w{jrHm T+KpsVM# -ӯBo8aK=w(3/T@M. yŸoidhk1E6sXK Vg@s ?h=9AɎrQQ1Ɛu_ya

我要用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 正解