[微分方程求解,作图]改变时间上限,函数关系发生了改变。
mathematica吧
全部回复
仅看楼主
level 1
君一临 楼主
s = NDSolve[{r[t] \[Theta]''[t] +
2 r'[t] \[Theta]'[t] == -5*10^12 \[Theta]'[t]/r[t],
r''[t] - r[t] \[Theta]'[t]^2 == -4/3*10^20/r[t]^2,
r[0] == 10^11, \[Theta][0] == 0,
r'[0] == 0, \[Theta]'[0] == 3.65*10^-7}, {r, \[Theta]}, {t, 45.8}]###求微分方程数值解
Plot[Evaluate[r[t] /. s], {t, 0, 45}, PlotRange -> All]###上限为45s时作图
Plot[Evaluate[r[t] /. s], {t, 0, 46}, PlotRange -> All]###上限为46s时作图
今天第一次用mathmetica,麻烦大家了。按理说改变数值计算时间上限不会改变函数关系啊,这是怎么回事呢?
2019年12月25日 08点12分 1
level 7
其实没有问题,注意纵坐标的刻度
2019年12月25日 13点12分 2
@君一临 我后来也发现,调PlotRange不算特别好的方法,你这个问题应该画r[t]-r[0]的图比较合适
2019年12月26日 13点12分
不过Mathematica确定作图范围的时候好像还是有点小bug,想让两张图一样可以手动调一下PlotRange
2019年12月25日 13点12分
谢谢你让我注意到刻度的变化。但我最主要的困惑是在0-45s的演化中,r作为t的函数近似是常值函数,但在0-46s的演化中,0-45s的r是关于t的单调下降函数而且下降非常快,这是不应该出现的。
2019年12月25日 15点12分
@hjq447285628 今天才反应过来您说的是什么意思。原来变化过小时不会在刻度上反映出来。十分感谢!
2019年12月26日 05点12分
1