空气阻力下的运动方程求解
关键词
空气阻力物理
Air ResistancePhysics

一个物体,质量为m,在时刻t的运动速率为v,并受到方向竖直向下的重力G=mg作用。假设其收到的空气阻力f=kv2并且方向和运动方向相反,将这个物体以一个初速v0竖直向上抛出,求v和t的关系。

草图:

无标题.png

如果f和v成正比,那么就很简单了,加速度a=-g-kv/m,f关于t是一个指数类型的函数。但是f和v2成正比,情况就变得复杂,但这个问题有一个确定的解。

v'=-kv^2-g,只要解出这个微分方程就OK了。

来自 物理科创茶话
2019-8-21 20:52:02
UIC(作者)
1楼

刚刚自己用微积分思想写了个程序,迭代得到了大概的曲线,现在在调试等一下发

折叠评论
加载评论中,请稍候...
折叠评论
UIC(作者)
2楼

F-Calc.exe
1.83M
EXE
7次下载

预览图:

TIM图片20190821213425.png

至于如何在excel中绘制区域,先选择左上角数据,再按住shift选择右下角数据选择一块数据,点击“插入”选项卡,进入“推荐的图表”就可以简单地画一个坐标系了。

折叠评论
加载评论中,请稍候...
折叠评论
UIC(作者)
3楼

从图像和实际情况可以推测,这个函数在定义域内递减,并且收敛于空气阻力和重力的平衡点。

核心算法用了C++实现,使用很简单的物理规律就可以计算:

	ft = vt * vt * k;
	if(vt > 0)
	{
		ftot = gt + ft;
	}
	else
	{
		ftot = gt - ft;
	}
	a = ftot / m;//计算加速度 
	vt1 = vt - a * t / 1000;//计算末速度 
	ds = (vt + vt1) * t / 2000;
	d += ds;//积累总位移 
	it = ftot * t / 1000;//计算冲量
	i += it;//积累总冲 
	w = ds * ftot;//计算做功
	wtot += w;//计算总功
	vt = vt1;//末速度等于下一时刻初速度

其中外面有一个for循环控制迭代次数和时间,此处因为简单到没有必要,未给出。

F-Calc.exe
1.83M
EXE
7次下载

(不知道为什么,上一楼的超链接移到了文字上)

折叠评论
加载评论中,请稍候...
折叠评论
UIC(作者)
4楼

经过这次程序迭代,可以在数值上近似求解很多此类问题。可以使用公式

1566395630165.png
C为空气阻力系数,该值通常是实验值,和物体的特征面积(迎风面积),物体光滑程度和整体形状有关;ρ为空气密度,正常的干燥空气可取1.293g/l,特殊条件下可以实地监测;)计算出所需的k值然后代入程序进行计算。


程序精度可调,可以根据需求调整。


附:一次计算输出的csv(逗号分隔符)文件

F-Calc.csv
705k
CSV
3次下载

参考文献:

[1]https://baike.baidu.com/item/空气阻力 2019-06-21版本

折叠评论
加载评论中,请稍候...
折叠评论
5楼

其实这个方程是有解析解的,速度向上时是个正切函数,开始下降以后是个双曲正切函数。。

[修改于 3 个月前 - 2019-08-21 23:29:33]

折叠评论
加载评论中,请稍候...
折叠评论
2019-08-22 01:12:34
6楼

得找个符合这个曲线的函数呀

折叠评论
加载评论中,请稍候...
折叠评论
UIC(作者)
7楼
引用 Resbi 发表于 6 楼的内容:
得找个符合这个曲线的函数呀

楼上有啦。

从导数来看,该函数应该类似于一个双曲线。

折叠评论
加载评论中,请稍候...
折叠评论
2019-10-24 20:10:09
2019-10-24 20:10:09
UIC(作者)
8楼

用自学两天的生疏Qt写了个GUI程序。。。功能相同,好看一点。。。

TIM截图20191024200739.png

遗憾的是编译出来在文件夹中运行提示找不到dll...无法发布,求solution

[修改于 1 个月前 - 2019-10-24 20:10:37]

折叠评论
加载评论中,请稍候...
折叠评论
2019-10-25 09:10:59
UIC(作者)
9楼

将10组数据带入Mathematica进行拟合,使用了反比例函数平移模型,得到大致图像

graph.png

其收敛值和计算较为吻合。

计算过程:

TIM截图20191025090750.png

带入数据有些少。

在探究变量之间的关系时,统计学手段较为有效,可用计算机画出拟合函数。

折叠评论
加载评论中,请稍候...
折叠评论
10楼

偷偷告诉楼主一句 这个软件是可以解微分方程的

折叠评论
加载评论中,请稍候...
折叠评论
UIC(作者)
11楼
引用 信仰は儚き人間の為に 发表于 10 楼的内容:
偷偷告诉楼主一句 这个软件是可以解微分方程的

知道的。从我拟合的输入来看,已经求出了方程的一般形式。只不过,其中系数需要拟合来确定。

//说这话有些贸然,抱歉。应该为“大概形式”

[修改于 1 个月前 - 2019-10-25 11:25:53]

折叠评论
加载评论中,请稍候...
折叠评论
UIC(作者)
12楼

TIM截图20191025094128.png

自动输出用Mathematica来拟合的输入数据。。。

折叠评论
加载评论中,请稍候...
折叠评论
13楼

怎么数学也有民科的。。。

看个形状差不多就算确定一般形式,也不把拟合结果求个导代回去看看对不对?

折叠评论
加载评论中,请稍候...
折叠评论
UIC(作者)
14楼
引用 信仰は儚き人間の為に 发表于 13 楼的内容:
怎么数学也有民科的。。。看个形状差不多就算确定一般形式,也不把拟合结果求个导代回去看看对不对?

1/x求导得-1/x^2,和原函数平方可成比例关系。何况,此话题处于尝试函数求最优解的阶段,a + k/(-b + x)只是一个猜测,之前是我言辞失误,函数形式尚未定论。//参考百度百科上的结论:

1571973431799.png

谢谢您指出此贴不够科学理性的地方。然而,在证据不足的情况下,您贸然将我定性为数学民科,请问您认真看帖了吗?请勿引战。//论坛交流氛围建设指南(规范性指南):https://www.kechuang.org/t/66350

在Mathematica中没有找到判定系数R^2的输出,所以没写。计算R^2就可以得到目标函数和原数据的离散程度,比求导代入更有参考价值。

[修改于 1 个月前 - 2019-10-25 11:26:38]

折叠评论
加载评论中,请稍候...
折叠评论
UIC(作者)
15楼

F-Calc-GUI.zip
7.41k
ZIP
5次下载

GUI版本开源(不包含可执行文件),Qt新手欢迎批评指正

折叠评论
加载评论中,请稍候...
折叠评论
16楼
引用 UIC 发表于 14 楼的内容:
1/x求导得-1/x^2,和原函数平方可成比例关系。何况,此话题处于尝试函数求最优解的阶段,a +

光代个1/x顶啥用啊,你得代你的k/(x-b)

就算是1/x,那也少了个g

照你这个判别法,还不如直接用多项式回归,保证在你的十个点上完美拟合

[修改于 1 个月前 - 2019-10-25 11:41:53]

折叠评论
加载评论中,请稍候...
折叠评论
UIC(作者)
17楼
引用 信仰は儚き人間の為に 发表于 16 楼的内容:
光代个1/x顶啥用啊,你得代你的k/(x-b)就算是1/x,那也少了个g照你这个判别法,还不如直接用.....

1 不只有十个点,而是几百个点。多项式回归不大现实。此外,我需要的是通解,而不是在几个点成立但t足够大时发散到无穷的局限性解,意见需要建设性。

2 能帮我解一下这个方程吗,大佬

3 已提出解析解为双曲正切函数

本文重点不在此。空气阻力:粘滞阻力和压差阻力。本文探讨的是理想情况,还有提出分析解决问题的过程,实际还得仿真或者实验。

我才疏学浅,还要好好学习。。

折叠评论
加载评论中,请稍候...
折叠评论
UIC(作者)
18楼
引用 信仰は儚き人間の為に 发表于 16 楼的内容:
光代个1/x顶啥用啊,你得代你的k/(x-b)就算是1/x,那也少了个g照你这个判别法,还不如直接用.....

1 不只有十个点,而是几百个点。多项式回归不大现实。此外,我需要的是通解,而不是在几个点成立但t足够大时发散到无穷的局限性解,意见需要建设性。

2 能帮我解一下这个方程吗,大佬

3 已提出解析解为双曲正切函数

本文重点不在此。空气阻力:粘滞阻力和压差阻力。本文探讨的是理想情况,还有提出分析解决问题的过程,实际还得仿真或者实验。

我才疏学浅,还要好好学习。。

折叠评论
加载评论中,请稍候...
折叠评论
19楼
引用 UIC 发表于 18 楼的内容:
1 不只有十个点,而是几百个点。多项式回归不大现实。此外,我需要的是通解,而不是在几个点成立但t足够.....

1.然而你算判别系数的检验方法就是只在有限个点成立的办法。

2.就算你不会解也就是在软件上打一行命令的事,没必要伸手。

[修改于 1 个月前 - 2019-10-25 12:22:13]

折叠评论
加载评论中,请稍候...
折叠评论
UIC(作者)
20楼

1 对

2 不会

折叠评论
加载评论中,请稍候...
折叠评论
21楼
引用 UIC 发表于 20 楼的内容:
1 对2 不会

那为什么说"计算R^2就可以得到目标函数和原数据的离散程度,比求导代入更有参考价值。"?

和“我需要的是通解,而不是在几个点成立但t足够大时发散到无穷的局限性解,意见需要建设性。”不矛盾吗?

折叠评论
加载评论中,请稍候...
折叠评论
UIC(作者)
22楼
引用 信仰は儚き人間の為に 发表于 21 楼的内容:
那为什么说"计算R^2就可以得到目标函数和原数据的离散程度,比求导代入更有参考价值。&qu.....

计算R^2如果在0.9以上一般认为拟合较优 求导同是有效手段,但R^2已经可以淘汰错误模型 

多项式只在小范围成立(甚至只有代入的那几个点),大范围必定发散,故称"无建设性"

以上两者没有必然联系。

您有话就直接说 不用挑刺

折叠评论
加载评论中,请稍候...
折叠评论
23楼
引用 UIC 发表于 22 楼的内容:
计算R^2如果在0.9以上一般认为拟合较优 求导同是有效手段,但R^2已经可以淘汰错误模型 .....

既然如此,那怎么用R^2淘汰掉多项式这个错误模型呢

就算人工淘汰掉明显发散的,那我用多项式拟合你的1/y,然后用多项式的倒数作为拟合结果,这样的模型又要怎么用R^2淘汰掉呢

[修改于 1 个月前 - 2019-10-25 12:54:58]

折叠评论
加载评论中,请稍候...
折叠评论
UIC(作者)
24楼

文章还没写完呢。。昨天晚上身体不适故请假半天,才有时间现在更新

目前在Mathematica上计算R^2出现了一些困难,而且马上就去上学了,有时间我写个CPP来算R^2,以后慢慢更。

说白了,拟合也是套函数模型凑。凑不上,会淘汰掉的。

折叠评论
加载评论中,请稍候...
折叠评论
25楼

说白了就是四个参数画大象,找到一个凑出来形状差不多的函数然后用有限个点能够拟合上完全不足以判断出这是否是方程的解。


[修改于 1 个月前 - 2019-10-25 13:07:49]

折叠评论
加载评论中,请稍候...
折叠评论
UIC(作者)
26楼

这不行,拟合没你想的那么简单,可能结果一个点都不在目标函数上,R^2却是最大的。

您仍然没有弄清R^2对判断结果正确性的意义。有些函数,可能导数完全对不上号却适用于大部分情况,这样计算出R^2也可能符合要求。


此外,貌似通过渐进线可以直接否定掉第一个了

折叠评论
加载评论中,请稍候...
折叠评论
27楼

对不上还列个毛线微分方程,合着谁形状像谁就是解了呗

[修改于 1 个月前 - 2019-10-25 16:30:15]

折叠评论
加载评论中,请稍候...
折叠评论
UIC(作者)
28楼

不和你吵了,得不到什么建设性意见。

接下来看看正切/双曲正切能否拟合成功。有空算。

[修改于 1 个月前 - 2019-10-25 22:29:11]

折叠评论
加载评论中,请稍候...
折叠评论
UIC(作者)
29楼

目前加分已经取消,应该不会有人再搞事了吧。。

互相尊重,科学理性。

[修改于 1 个月前 - 2019-10-26 08:07:09]

折叠评论
加载评论中,请稍候...
折叠评论
2019-11-02 10:00:50
2019-11-2 10:00:50
UIC(作者)
30楼

微分方程的解:

DSolve[Derivative[1][y][x] == a + b * y[x] * y[x], y[x], x]

{{y[x] -> (Sqrt[a] Tan[Sqrt[a] Sqrt[b] x + Sqrt[a] Sqrt[b] C[1]])/

   Sqrt[b]}}

全剧终

折叠评论
加载评论中,请稍候...
折叠评论
31楼

其实求解应该考虑的是y'=a-b*y^2的情况

折叠评论
加载评论中,请稍候...
折叠评论
UIC(作者)
32楼
引用 radio 发表于 31 楼的内容:
其实求解应该考虑的是y'=a-b*y^2的情况

Tanh.

折叠评论
加载评论中,请稍候...
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

插入资源
全部
图片
视频
音频
附件
全部
未使用
已使用
正在上传
空空如也~
上传中..{{f.progress}}%
处理中..
上传失败,点击重试
{{f.name}}
空空如也~
(视频){{r.oname}}
{{selectedResourcesId.indexOf(r.rid) + 1}}
ID:{{user.uid}}
{{user.username}}
{{user.info.certsName}}
{{user.description}}
{{format("YYYY/MM/DD", user.toc)}}注册,{{fromNow(user.tlv)}}活动
{{submitted?"":"投诉"}}
请选择违规类型:
{{reason.description}}
支持的图片格式:jpg, jpeg, png