当前位置: 首页 > article >正文

最小二乘法的应用(2015A题A题太阳影子定位)

文章目录

  • 零、相关简介
  • 一、题目回顾(第二问为例)
    • 题:
  • 二、题目数据:
  • 三、问题分析
    • 由建模分析知道:
  • 代码:

零、相关简介

数学建模在解决实际问题中发挥着重要作用,2015年A题“太阳影子定位”便是一个典型的应用案例。本题主要研究的是如何根据太阳的位置和物体的影子来确定物体的空间位置

在现实世界中,确定一个物体的确切位置是许多领域如导航、考古、建筑和地理信息系统中的关键问题。传统的全球定位系统在某些环境下可能不可靠或不可用,而利用太阳影子定位则提供了一个有趣的替代方案。该方法基于日影测量法,这是一种古老的技术,通过观察太阳的位置和物体产生的影子来推断物体的位置。

首先,理解太阳的运动对解决这一问题至关重要。太阳在天空中的运动呈现出一定的规律性,按照一定的纬度和日期,太阳的高度角和方位角在一天中的变化是可以预测的。这些角度信息直接影响着物体影子的方向和长度。因此,在建模时首先要建立一个关于太阳运动模型,这通常涉及到天文学的基础知识,如太阳的赤纬、时角等概念。

接下来,建立一个影子生成模型。当太阳光照射到物体时,根据物体的形状和太阳光的入射角,会在与光源相反的方向产生影子。这个模型需要考虑到物体的形状和尺寸,因为这些因素会影响影子的形状和长度。在此步骤中,几何知识被广泛应用于模拟影子的形成。

确定了太阳的位置和影子后,接下来的步骤是通过建立数学模型来解决实际的定位问题。这通常涉及到一系列的几何计算和代数方程。例如,可以通过建立光线与物体相交的方程来确定影子的起点,通过分析影子的方向和长度,可以得出物体相对于光源的位置。

然而,仅凭影子信息通常不足以唯一确定一个物体在三维空间中的位置,因为不同位置的物体在特定时刻可能产生相似的影子。因此,通常需要一系列时间点上的影子数据,或者结合其他信息,如物体的高度、周围环境等,来辅助定位。

在解决问题的过程中,数学建模扮演了中心角色。它不仅要求参与者具备较强的数学和物理知识,还需要能够将理论知识应用于解决实际问题。此外,计算机编程能力也非常重要,因为往往需要编写程序来进行复杂的计算和模拟。

综上所述,太阳影子定位问题是一个多学科交叉的问题,它不仅涉及到数学、物理学和天文学知识,还要求能够有效地利用计算机工具。通过数学建模方法解决这一问题,不仅能够增强理论与实践的结合,还能够促进学生综合运用所学知识解决复杂问题的能力。这种以问题为导向的学习方式,对于培养学生的创新思维和实际操作能力具有重要意义。

一、题目回顾(第二问为例)

题:

根据某固定直杆在水平地面上的太阳影子顶点坐标数据,建立数学模型确定直杆所处的地点。将你们的模型应用于附件1的影子顶点坐标数据,给出若干个可能的地点。

二、题目数据:

北京时间x坐标(米)y坐标(米)
14:421.03650.4973
14:451.06990.5029
14:481.10380.5085
14:511.13830.5142
14:541.17320.5198
14:571.20870.5255
15:001.24480.5311
15:031.28150.5368
15:061.31890.5426
15:091.35680.5483
15:121.39550.5541
15:151.43490.5598
15:181.47510.5657
15:211.5160.5715
15:241.55770.5774
15:271.60030.5833
15:301.64380.5892
15:331.68820.5952
15:361.73370.6013
15:391.78010.6074
15:421.82770.6135

三、问题分析

由附件数据可知,真实的影长 L ′ = x 2 + y 2 L' = \sqrt{x^2 + y^2} L=x2+y2
得到时间影长列表:

北京时间影长
14:421.1496
14:451.1822
14:481.2153
14:511.2491
14:541.2832
14:571.3180
15:001.3534
15:031.3894
15:061.4262
15:091.4634
15:121.5015
15:151.5402
15:181.5799
15:211.6201
15:241.6613
15:271.7033
15:301.7462
15:331.7901
15:361.8350
15:391.8809
15:421.9279

由建模分析知道:

影长与五个变量有关,分别是太阳高度角杆高时间当地经度当地纬度。影长由太阳高度角决定,而太阳高度角由杆高时间当地经度当地纬度决定,由此我们采用控制变量法,分别分析这三个参数与影长的关系。

代码:

完整代码 https://github.com/yan-fanyu/CUMCM-Paper-And-SourceCode
clc;
clear;% Φ -> A   纬度
% δ -> F   太阳赤道纬度夹角
% ω -> C   太阳时角
%  h -> Oh  太阳高度角
% λ -> D   经度dB = [0.4555 	0.4409 	0.4247 	0.4136 	0.3986 	0.3919 	0.3777 	0.3656 	0.3582 	0.3481 	0.3438 	0.3305 	0.3264 	0.3169 	0.3120 	0.3069 	0.2987 	0.2928 	0.2876 	0.2853 	];dLs = [1.1496 	1.1822 	1.2153 	1.2491 	1.2832 	1.3180 	1.3534 	1.3894 	1.4262 	1.4634 	1.5015 	1.5402 	1.5799 	1.6201 	1.6613 	1.7033 	1.7462 	1.7901 	1.8350 	1.8809 	1.9279 ];% 418日是一年的第 108 天
n = 108;% 太阳赤纬夹角(度)
C = 23.45*sin(2*pi*(284+n)/365);% 太阳时
B = 2*pi*(n -81)/364;
E = 9.87*sin(2*B) - 7.53*cos(B) - 1.5*sin(B); Jm = 120;hour = [14	14	14	14	14	14	15	15	15	15	15	15	15	15	15	15	15	15	15	15	15];
minutes = [42	45	48	51	54	57	0	3	6	9	12	15	18	21	24	27	30	33	36	39	42];value1 = 0;
value2 = 0;min = 100000000;j = 1;X = [];
Y = [];MinArr = ones(12,5);
dFsArr = [];LsArr = [];DD = ones(12, 20);LsArrr = ones(12, 21);
% 杆长
for L = 0:0.1:3% 纬度for W = 15:0.1:25% 经度for J = 105:0.1:115% 时间for i = 1:1:21T0 = hour(i) + minutes(i)/60;Ts = T0 + E/60 + (J - Jm)/15;% 太阳时角(度)S = 15*(Ts - 12);% 太阳高度角Oh = asin(sin(W*pi/180)*sin(C.*pi/180) + cos(W*pi/180)*cos(C*pi/180)*cos(S*pi/180));% 太阳方位角if(S <0)Fs = acos(  (sin(C*pi/180) - sin(Oh)*sin(W*pi/180)) / (cos(Oh)*cos(W*pi/180)));FsArr(i) = Fs;elseFs = 2*pi - acos(  (sin(C*pi/180) - sin(Oh)*sin(W*pi/180)) / (cos(Oh)*cos(W*pi/180)));FsArr(i) = Fs;endif(i >= 2)value1 = value1 + (  FsArr(i-1) - FsArr(i) - dB(i - 1) )^2;dFsArr(i-1) = FsArr(i-1) - FsArr(i);end% 影长 LsLs = L / tan(Oh);LsArr(i) = Ls;value2 = value2 + (Ls - dLs(i))^2;i = i +1;endvalue = value1/20*value2/21;%if(value < min)%min = value;%MinArr = [L W J]%endif (value < 0.0000003)X(j) = j;jY(j) = value;LsArrr(j, :) = LsArr;DD(j, :) = dFsArr*180/pi;MinArr(j , 1:5) = [j L W J value];j = j+1;endvalue1 = 0;value2 = 0;value = 0;endend
endplot(X, Y,'*');
http://www.lryc.cn/news/2414911.html

相关文章:

  • 用微软的Live Writer离线写博文
  • 手机端APP客服系统推荐
  • 图像入门——3. 图像处理的视觉基础与应用
  • 微信小程序毕业设计-社区团购系统项目开发实例(附源码+演示视频+LW)
  • 五笔字根表口诀的通俗易懂讲解
  • apacheDS ldap 安装,配置,增删查该及备份恢复
  • HTC G12快速安全root(破解)全攻略(软解s-off root)
  • html左右循环滚动代码,不间断循环滚动效果的实例代码(必看篇)
  • Three20 安装
  • JS简单实现后退例子
  • Android电视直播 v5.6,龙龙直播app下载|龙龙直播apk2019官方版下载 v5.6.1 安卓版 - 数码资源网...
  • 3.RedHat认证-Linux权限管理
  • win8系统计算机的系统属性,Win8系统优化之最详篇 必看!
  • 强烈推荐!15 个 Github 顶级 Java 教程类开源项目推荐!
  • GB2312-80 所有汉字排序,拼音
  • 如何能够让博客被百度等搜索到
  • 每日分享,人名藏头诗,附写作方法
  • 黑盒测试-等价类划分法与边界值分析法-三角形问题
  • 千里之行,始于OKR——轻雀协作团队管理分享
  • 18个免费视频素材网站,超高清、不限速、无版权、可商用,1秒解决你90%的视频剪辑难题!
  • 重磅!2020 ACM杰出科学家名单出炉:叶杰平、崔鹏等26位华人学者上榜
  • 看pdg格式文件(可使用超星阅览器软件)
  • STM32定时器---正交编码器模式详解
  • Windows常见进程
  • OPPO官网web界面开发案例
  • 写字楼出租的一般推广过程及方法
  • 数据库--SqlServer详解
  • 区块链学习7:超级账本项目Hyperledger与Fabric以及二者的关系
  • Membership学习(五)关于Membership的设置
  • 对GWT-EXT学习时遇到的问题,详细记录下来