……唉,同学,基础语法要懂啊.
其实你把倒数第二个分号去掉再执行,就会发现你的方程有两个解,所以画出来的图有两根线.
%代表上一个式子的输出,在这里就是你的微分方程的解.
/.是ReplaceAll的简写,简单地说就是把你解出来的y给代入到前面的y里了.1.那如果我想只显示一个解的图像,应该怎么做?2.这段代码,运行起来到某点就停了,可能是y‘(t)的正负软件无法判断,消耗了步长,我以终端的地方为初始条件,在接下去作图,发现是能做的,有没有办法指定y‘(t)的正负?3或者是这两个解交在一起,软件无法识别了?谢谢1 很简单,把那个解给提取出来就行了,使用Part([[]]):也就是把你的 % 改成 %[[1]] 和%[[2]]。2 微分方程求解出错的原因没你想的那么简单,这里恐怕并不是什么没法判断正负的问题,要知道NDSolve对微分方程进行的是数值求解。顺便你的“以终端的地方为初始条件”是什么意思?3 所以说,微分方程求解的出错原因,并不是这么简单的。如果缺乏数值计算方面的知识,就尽量不要在这方面打算盘。在你上一个问题时我应该就提过,对于此类问题最好从方程,即模型本身的改善去着手。NDSolve[{ y[0.13] == Y - 180}, y[t], {t, 0.13, 1}, MaxSteps -> 2000];Plot[Evaluate[y[t] - Y /. %], {t, 0.13, 1}]2.例如我将初始条件改为y[0.13] == Y - 180,计算范围为{t, 0.13, 1},而0.13就是上次停掉的点……你这不是照样在极短时间内耗尽了积分步长吗?这往往表明方程的边界条件没有取好,或者是方程本身有问题……顺便软件虽然算出来了这么一小段,但这一小段准确与否……嗯?貌似回代之后精度还成?说的是,我只是大概看一下图像的趋势是不是我想要的,恩谢谢啦