一、设计目的
一块质量为 kg 的冰雹从静止下落,受到的空气阻力大小为
,
。分析下落速度对下落距离的函数关系,画出下落速度对下落距离的曲线图,并分析大概经过多少距离后冰雹下落速度达到最终匀速率的99.5%,此时已下 落了多少距离?
提示:冰雹的运动方程为:
解方程可得到: v =
设定不同的值代入上式,计算出相应的可在v-x坐标上画出下落速度对下落距离的关系曲线。
二、设计思路
1.解析分析法
要知道经过多少距离后冰雹下落速度达到最终匀速率的99.5%
即是当加速度为0时,冰雹所受重力和阻力平衡时,
有
即
带入数值解得v’=13.7171。v=0.995v’=13.6485。
由计算及v与x的关系图得出x=44.221。
2.数值分析法
冰雹的运动方程写成两个一阶微分方程,即
如果令y(1)=x,(2)=v,那么上述两个一阶微分方程可改写成:
这是 Matlab 解微分方程的一般形式,加上初始条件t = 0时,x = 0,v0= 0就可解出上
述一阶微分方程组。下图就是解微分方程组所得的 v-x 曲线,与用解析的方法画出的曲
线完全相同。
三、代码
1.解析分析法
m=4.8*10^(-4);
k=2.5*10^(-5);
g=9.8;
x=0:0.001:60;
v=sqrt(m*g/k*(1-exp(-2*k/m*x)));
plot(x,v)
xlabel('下落距离/m');ylabel('下落速度/m/s');
grid
2.数值分析法
function yp=hlstn(t,y)
global m k g; %定义全局变量
yp=[y(2) g-k*y(2)*y(2)/m]'; %写入冰雹运动的微分方程
%冰雹的运动
clear
global m k g; %定义全局变量
m=4.8*10^(-4);k=2.5*10^(-5);g=9.8; %输入已知条件
vt=sqrt(g*m/k) %冰雹的最终下落速度
tspan=[0 10]; %设定积分时间
y0=[0 0]'; %初时条件t=0,冰雹从静止下落
[t,y]=ode23('hlstn',tspan,y0); %求解名为 hlstn"的微分方程
figure;subplot(2,1,1)
plot (t,y(:,1),'k'); %下落距离对时间的曲线图
xlabel('时间/s');ylabel('下落距离/m');
grid
subplot(2,1,2)
plot (t,y(:,2),'b'); %下落速度对时间的曲线图
xlabel('时间/s' );ylabel('下落速度/m');
grid
figure;
plot (y(:,1),y(:,2),'k'); %下落距离对时间的曲线图
xlabel('下落距离/m') ;ylabel('下落速度/n/s' );
axis([0 60 0 15])
grid %冰雹下落的微分方程
附:
解决常微分方程的基本方法和指令主要包括以下几个方面:
定义微分方程:首先,我们需要定义微分方程,可以使用函数形式或者输入符号表达式。MATLAB提供了符号计算工具箱可以帮助我们创建和操作符号表达式。
数值求解:MATLAB提供了很多数值求解常微分方程的函数,比如ode45、ode23等。这些函数可以根据给定的微分方程和初始条件,通过数值方法求解微分方程的数值解。