利用Matlab可视化功能实现微分方程求解行星运动轨迹
1.背景
在物理学璀璨的发展史上,物理学家花了很长时间研究我们头顶浩瀚的星空,试图探究星星的运行模式,以及地球自身的运动模式。其中不乏像亚里士多德,伽利略,布鲁诺,开普勒,第谷,牛顿等物理大家参与其中。他们对与行星的研究在经典物理学的发展史上刻下了不可磨灭的痕迹。随着牛顿与莱布尼兹的微积分学的创立,以及之后牛顿提出的牛顿三定律的问世,为物理学家研究行星的运动轨迹打下了坚实的理论基础。本文正是以牛顿第二定律的微分方程为基础,利用数学工具Matlab及其优越的可视化功能实现前人花费数千年时间所研究的行星轨道运动问题,并将其以生动直观的轨迹图表示出来。
2.程序组成
本Matlab程序有3个子M文件组成分别为: planet.m, plode.m, Planet_Orbit.m组成。其中,planet.m用以实现绘图功能,plode.m为核心文件,包含了运动的微分方程,Planet_Orbit.m用以时间图形的界面化操作。另外由一个图形界面文件Planet_Orbit.fig组成。
3.研究方法
根据牛顿提出的牛顿第二定律方程:
其中 为物体所受到的合力, 为物体的加速度。将其运用到极坐标系中,并赋予力 以形式 ,得到物体运动的轨道微分方程:
4.程序内容及M文件界面
4.1 Plode.m文件
利用上述两式进行本程序的核心M文件plode.m:
functionthetar=plode(t,x,flag,k,a)
%PLODE makes the ODEfunctionof the orbitinthe cen