初速度,初位移都为0;那么有以下微分方程:
dy/dt=v
dv/dt=9.8-1*v^2/m
m=100,v0=y0=0
然后用MATLAB的ode45函数求这个微分方程的数值解...那么输入
[T,X]=ode45('fun',[0,15],[0 0]);
返回的X中的最后一列就是我想要的值;
X(end)
ans =
31.2997
但假如我想知道当竖直向下的位移刚好...现在我的做法是先将解一个充分大的时间,然后在里面找位移在100两侧的时间和速度,再通过插值得到位移刚好=100时的时间和速度。但这样很麻烦,也不见得准确,MATLAB有什么自带的语句能实现这个功能吗?...或是有什么更好的方法?...);
[T,X,Tend,Xend,evennum]=ode45(@fun,[0,15],[0 0],op);
这样到达100米时,求解器就停住了,ode45多返回了Tend,Xend,evennum三个参数