第1个回答 2010-07-05
对于求一般的常微分方程初值问题的数值解来说,已经有很多的方法。在实际应用中,我们当然希望能够结合具体问题的特点,充分利用不同方法的差异,选择一种更为合适的方法,力争得到尽可能好的结果。对于求解实际问题来说,我们通常并不能立即得出所得到的结果到底有几位有效数字。虽然可以通过理论分析来估计误差,但这样做一是劳神费力,二是所得到的结果也未必靠的住,这中间不确定的因素太多。在现代计算机条件下,采用基于试验的方法一般比理论分析的结果更为直观,更为具体。在这个基础上再辅之以理论分析,结论当然更可靠一些。求解一阶常微分方程的新的数值求解方法(欧拉—牛顿法)是改进的欧拉方法和牛顿法的完美结合,从而为求解一阶常微分方程的数值解提供了方便,并且结果的精度也比较高.
第2个回答 2012-06-11
[DyDt.m]
function ydot=DyDt(t,y)
mu=2;
ydot=[y(2);mu*(1-y(1)^2)*y(2)-y(1)];
(3)解算微分方程
tspan=[0,30];
y0=[1;0];
[tt,yy]=ode45(@DyDt,tspan,y0);
plot(tt,yy(:,1))
xlabel('t'),title('x(t)')
图 4.1-7 微分方程解
(4)
plot(yy(:,1),yy(:,2))
xlabel('位移'),ylabel('速度')