2015年全国大学生数学建模竞赛A题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
太阳影子定位技术问题的数学模型
摘要
本文涉及的是太阳影子定位技术问题。在已知视频中物体的太阳影子变化的情况下,要确定视频的拍摄地点和拍摄日期。首先,分析了文中四个问题的关系,发现前三个问题的已知条件逐步减少,问题难度依次递进。第四问则给出一个实际问题,该问题需要转化成数学模型利用前三问的方法求解;随后,建立了L-G模型、MinZ-模型等,并应用非线性最小二乘法、遗传算法等算法对模型求解。得到基于模型的合理结果。最后,将第四问的实际问题转化数学模型并求解,进而解决问题。
对于问题一,要解决的问题是杆长与影子长度的关系,根据天文、几何知识,我们建立了模型来刻画问题给出的参数之间联系,如赤纬角模型、时角模型、太阳高度角模型、影子长度模型(L-G模型)等;分析了各参数对影子长度的影响;最后运用MATLAB绘制出具体给定参数下的3米高直杆的影子变化曲线;从曲线可以看出在9:00到15:00这段时间里,影子长度先变短后变长,最短为3.627米,最长为7.182米。
问题二提供了一个关于时间、影子坐标的附件1,杆长未知,为了确定直杆所处的地点,本问建立了MinZ-模型,首先将经度、纬度、杆长离散化,搜索出大概的可行解,然后运用非线性最小二乘算法,选取matlab中的lsqcurvefit命令,以可行解为初值,再运用非线性最小二乘算法,选取MATLAB中的lsqcurvefit命令,在控制残差在10−8之内范围的情况下得到了三个可能地点皆在海南省昌江县内,最小误差的地点为海南省江黎族自治县,北纬19.3025°,东经108.6988°,此时对应直杆高度为2.0219m。同时,将结果代入问题一的模型进行检验,验证了模型的稳定性和算法的合理性。
问题三沿用问题一的模型和问题二的算法,由于一个已知量变成一个变量,根据算法特点,在增加一个变量的情况下,算法搜索影长差时只需要增加一重循环。关于附件2数据,残差最小对应的位置为北纬39.8926°,东经79.7438°,具体地点在新疆维吾尔自治区喀什地区巴楚县。日期为2015年4月24日或6月19日;关于附件3数据则是残差最小对应的位置为北纬31.3625°,东经110.1602°,具体地点在湖北省神农架林区。此时对应直杆高度为2.9871m。对应日期为1月25日或10月5日。
问题四是将实际问题转化成数学模型并求解的过程,用aviread函数将视频读入MATLAB 软件,并用size函数读取视频帧数Vf=61000,利用mat2gray函数可以对图像灰度化处理。取合理阈值使影子与背景的分界清晰可见,记录直杆顶点及底端坐标,然后依次测录各图片中影子顶点的坐标(单位为像素),最后应用问题二和问题三的方法求解,结合运用MATLAB 遗传算法工具箱,在给出日期条件下,残差最小对应的位置为北纬40.3344°,东经113.2556°,具体地点为内蒙古自治区鄂尔多斯市达拉特旗县;若日期未知,也得到了比较合理的视频拍摄地点和日期。
论文最后做了误差分析并给出了模型改进意见;论文的特色在于思路清晰,方法简洁,将数学模型与计算机算法、图形很好的结合起来,用图形图表体现结果。每个问题都进行了结果分析和模型验证。
关键词:影子定位L-G模型minZ-模型非线性最小二乘法遗传算法
一、问题的重述
太阳影子定位技术是通过太阳影子变化来确定视频拍摄地点和拍摄时间,现以该项技术为基础建立数学模型,完成下列任务:
1、分析影子长度关于各个参数的变化规律,并画出2015年10月22日北京时间
9:00-15:00之间天安门广场(北纬39度54分26秒,东经116度23分29秒)3米高的直杆的太阳影子长度的变化曲线。
2、根据附件1所给的影子顶点坐标数据,建立数学模型确定直杆所处地点,给出若干个可能的地点。
3、根据附件2、附件3所给的影子顶点坐标数据,建立数学模型确立若干个可能的地点与日期。
4、附件4为一根直杆在太阳的影子变化下的视频,已知所给直杆高度为2米,请根据视频中影子的变化,确定若干个可能的拍摄地点。如果拍摄日期未知,请根据视频确定日期和拍摄地点。
二基本符号说明
δ:天体赤纬
τ:地方时角
h:太阳高度角
γ:测试地经度
φ:测试地纬度
bt:测试北京时间
G:测试直杆高度
L:影子长度
三模型的假设
1、设测试直杆时地平面平坦。
2、太阳光生成影子时无光晕影响。
3、太阳光照射在地球上的光线为平行光线。
4、假设地球相对于太阳的自转是均匀的,每天都是24小时。
5、假设积日N的循环为365天。
6、假定所测试年份皆为2015年。
7、假设摄像机角度对影子长度无影响。
四问题分析
本文涉及的是太阳影子定位技术问题。问题出现在已知太阳影子坐标的背景下,要解决的是确定视频的拍摄地点和拍摄日期。其中,如何根据视频提取影子信息、如何建立太阳影子与实物的联系模型是要解决的核心问题。
4.1基本思路
题目有四个问题,前三个问题的已知条件逐步减少,问题难度依次递进。第四问是给出一个实际问题,需要转化成数学模型利用前三问的方法求解,因此,前三问模型的稳定性和算法的合理性尤其重要,第四问中如何将实际问题转化成数学模型的方式是解决问题的关键。
4.2具体分析
问题一,要求解在确定日期、确定地点、3米高直杆在时间段9:00-15:00之间影子长度的变化曲线,根据题目可知,所给数据中除测试时间以外,其他量全部为可直接应用于模型的确定值,所以问题一可以理解为求解影子长度随时间段9:00-15:00的变化曲线。为了解决该问题,我们首先建立平面直角坐标系,根据题中给出测试日期、时间、经纬度及直杆高度五个数据,对应得出天体赤纬、地方时角及太阳高度角的模型,随后建立影子长度目标模型。根据模型,影子长度是关于测试时间的一元函数,按照时间的变化,即可以用MATLAB程序画出影子长度变化曲线。
问题二,要求根据所给水平地面直杆顶点影子坐标数据确定直杆所处地点,利用附件1所给资料,可以确定不同时间的影子长度值以及测试日期。所以此问可以理解为建立已知测试日期、时间、影子长度三个量求测试位置经纬度的模型。由于经纬度及杆高未知,可利用离散法将地球离散化为有限个离散点组成的球体。利用第一问中已经得出影子长度公式,求解该离散点相应时间的影子长度,并与给定的影子长度值比较,相差值越小,越接近所求结果。在求最小相差值的时候,考虑利用最小二乘法进行模型优化,得到最终结果。
问题三,与问题二比较可知,问题三将问题二中日期这个已知量变为了未知量,也就是说我们在第三问中只知道测试时间、影子长度两个确定值。由于变量过少,我们优先考虑是否能够在附件2、3根据直杆影子顶点坐标值确定太阳方位角,从另一个方面去解决本问。但由于附件并未给出x、y轴所指方向,若人为给定则会出现较大误差。所以,依旧按照问题二的解法思路,对测试地点及日期进行求解。
问题四,如果能顺利解决影子长度读取问题,则本问的两个问题分别与问题二、问题三