Matlab/运动学/常微分/物体下落分析简单例程

一、设计目的

一块质量为4.8*10^{-4} kg 的冰雹从静止下落,受到的空气阻力大小为F = kv^{2}  ,k = 2.5*10^{-5} kg/m。分析下落速度对下落距离的函数关系,画出下落速度对下落距离的曲线图,并分析大概经过多少距离后冰雹下落速度达到最终匀速率的99.5%,此时已下 落了多少距离?

提示:冰雹的运动方程为:

m \frac{dv}{dt} = mg-kv^{2}

解方程可得到: v =

设定不同的值代入上式,计算出相应的可在v-x坐标上画出下落速度对下落距离的关系曲线。

二、设计思路

1.解析分析法

要知道经过多少距离后冰雹下落速度达到最终匀速率的99.5%

即是当加速度为0时,冰雹所受重力和阻力平衡时,

                         mg=kv^{2}

v^{2}=mg/k

带入数值解得v’=13.7171。v=0.995v’=13.6485。

由计算及v与x的关系图得出x=44.221。

2.数值分析法

冰雹的运动方程写成两个一阶微分方程,即

如果令y(1)=x,(2)=v,那么上述两个一阶微分方程可改写成: 

这是 Matlab 解微分方程的一般形式,加上初始条件t = 0时,x = 0v0= 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等。这些函数可以根据给定的微分方程和初始条件,通过数值方法求解微分方程的数值解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值