2021年认证杯SPSSPRO杯数学建模B题(第二阶段)依巴谷星表中的毕星团求解全过程文档及程序

2021年认证杯SPSSPRO杯数学建模

B题 依巴谷星表中的毕星团

原题再现:

  依巴谷卫星(High Precision Parallax Collecting Satellite,缩写为 Hip-parcos),全称为“依巴谷高精度视差测量卫星”,是欧洲空间局发射的一颗天体测量卫星,用以精确测量恒星的视差和自行。通过视差可以推断出恒星距地球的距离。
  毕星团位于金牛座,是离地球最近的疏散星团。其成员星在 300 个以上,有多颗肉眼可见的亮星。对毕星团的研究已经持续了许多年,包括确定它的距离,构建演化的模型,确认或排除成员,以及研究各成员星的特性等。依据依巴谷卫星的观测数据,我们可以以相当高的精度测量相关各星的距离和运动情况,以对毕星团进行更加精确的研究。
  在依巴谷卫星的观测数据中,毕星团中的亮星平均视差在 22 毫角秒左右,意味着其平均距离在 45 秒差距左右。我们在依巴谷星表中选择了 2719颗恒星,选择的标准是视差在 20–25 毫角秒之间(也就是距离地球在 40–50秒差距之间),其中包括了许多毕星团的成员。
  这个数据集有如下字段:
  1. HIP:星体编号
  2. Vmag:视星等
  3. RA:赤经(度)
  4. DE:赤纬(度)
  5. Plx:视差角(毫角秒),1000/Plx 即为目标离观测点的距离(秒差距)
  6. pmRA:恒星自行的 RA 分量(毫角秒/年)
  7. pmDE:恒星自行的 DE 分量(毫角秒/年)
  8. e_Plx:Plx 的测量误差(毫角秒)
  9. B-V:恒星的色指数
  第二阶段问题:在1869年,RichardA.Proctor观测到有一些距离毕星团相对较远的恒星,在空间中有着与毕星团相似的运动。此后的天文学家将这些恒星的集合称为毕宿星流。有人猜测这是一个更大的星团(被称为毕宿超级星团)在部分解体以后的遗迹,也有观点认为其中的大部分恒星来自不同的起源。
  请你建立合理的数学模型,在依巴谷卫星的数据集中寻找毕宿星流的成员星。由于毕宿星流在空间中相对分散,要求对其成员星进行谨慎的界定。并请参考其赫–罗图来研究毕宿星流和毕星团的来源是否一致。

整体求解过程概述(摘要)

  星流的研究一直是恒星的演化和银河系暗晕的形状等领域的重要研究对象。成员星辨认的准确性直接影响星团和星流基本物理参数的估计。本文主要建立的DBSCAN优化算法,基于依巴谷卫星的观测数据筛选出了毕宿星流成员星,并绘制了毕宿星流的赫罗图来研究毕宿星流和毕星团的来源是否一致。
  针对问题一,需要在依巴谷卫星的数据集中寻找毕宿星流的成员星。首先,本文通过所提供的数据集中的e_Plx的测量误差对Plx视差角的数据进行误差处理,将不符合毕星团视差角的数据剔除。接着,通过恒星的自行的RA分量和DE分量建立二维坐标,运用DBSCAN 聚类算法初步筛选相似运动的恒星。接着,通过赤经、赤纬和视差角的相关数据并运用三维坐标转换公式计算出筛出的恒星在三维空间下的位置分布,在三维空间下运用DBSCAN算法进行第二次聚类。其中DBSCAN算法中的两个重要参数Eps和Minpts 通过对K-dist 图的一维聚类得出。最终筛选出具有相似运动的恒星为470颗。然后,通过赤经、赤纬和视差角的相关数据,对初步筛选出的470颗恒星进行二次筛选。利用DBSCAN聚类算法,在470颗恒星中筛选出了308颗毕星团成员星。最后,将所筛选出的毕星团成员星从初步筛选出的470颗恒星中剔除,最终得到162颗毕宿星流成员星。
  为了保证本文筛选出的成员星的准确,本文通过计算所筛选出的毕星团成员星的平均视差数据与题干中所给的数据相比较,其误差不超过 0.4%。所以本文所筛选的毕星团成员星准确度极高,则本文所建立的算法有一定的可行性,可以间接证明所筛选出的毕宿星流成员星是可靠的。
  针对问题二,需要参考赫罗图来研究毕宿星流和毕星团的来源是否一致。首先,将问题一中筛选出来的候选成员星的视星等通过普森公式求出各个侯选星成员星的绝对星等。接着,通过色指数与温度公式求出各个侯选星成员星的温度。最后以绝对星等为纵坐标,恒星表面温度为横坐标绘制出毕星团成员星的赫罗图和毕宿星流成员星的赫罗图。最后,将绘制的两张赫罗图绘制在同一坐标系内,通过观察发现两张赫罗图高度重合,所以可以证明毕宿星流和毕星团的来源一致。
  本文在最后对模型的优缺点进行分析。

模型假设:

  1、假设本题附件中所提供的观测数据具有准确性和可靠性;
  2、假设中模型所涉及的成员星数量在短期内是不发生变化的,即不考虑星团内部成员的反复相撞造成星团成员缓慢地“蒸发”等非一般状况的发生;
  3、恒星的自行或视向速度都满足高斯分布;
  4、假设毕星团的每颗成员星的自行速度基本相同;
  5、假设分析数据时的计算误差是可以忽略的,也包括小数的取舍。

问题分析

  本题要求我们探索毕宿星流成员星的辨认,并参考其赫罗图来研究毕宿星流和毕星团的来源是否一致。由于恒星的位置分布不均,我们考虑对DBSCAN聚类算法进行改进。根据题干可知,毕宿星流为一些距离毕星团相对较远的恒星,在空间中有着与毕星团相似的运动。本文首先考虑运用恒星自行的RA分量和恒星自行的DE分量将恒星样本进行第一次聚类,得到运动相似的恒星。接着以毕星团为分布较为紧密的球状星团为依据,用赤经、赤纬和视差角三个量将已进行初步筛选的的恒星进行再次筛选,所筛选出的为毕星团成员星。最终剩余的恒星则为毕宿星流成员星。再依据候选成员星的Vmag视星等和B-V色指数通过普森公式和B-V色指数与温度的函数关系求出绝对星等与温度。最后以绝对星等为纵坐标,温度为横坐标绘制赫罗图。

论文缩略图:

在这里插入图片描述
在这里插入图片描述

程序代码:

function[IDX, isnoise]=DBSCAN(X, epsilon, MinPts) C=0; n=size(X, 1); IDX=zeros(n, 1); % 初始化全部为0,即全部为噪音点 D=pdist2(X, X); visited=false(n, 1); isnoise=false(n, 1); for i=1:n if ~visited(i) visited(i)=true; Neighbors=RegionQuery(i); if numel(Neighbors)<MinPts % X(i, :) is NOISE isnoise(i)=true; else C=C+1; ExpandCluster(i, Neighbors, C); end end end function ExpandCluster(i, Neighbors, C) IDX(i)=C; k=1; while true j=Neighbors(k); if ~visited(j) visited(j)=true; Neighbors2=RegionQuery(j); if numel(Neighbors2)>=MinPts Neighbors=[Neighbors Neighbors2]; %#ok end end if IDX(j)==0 IDX(j)=C; end k=k + 1; if k > numel(Neighbors) break; end end end function Neighbors=RegionQuery(i) Neighbors=find(D(i, :)<=epsilon); end end 
function PlotClusterinResult(X, IDX) k=max(IDX); Colors=hsv(k); Legends= { 
} 
; for i=0:k Xi=X(IDX==i, :); if i~=0 Style='x'; MarkerSize=8; Color=Colors(i, :); Legends { end+1 
} 
=['Cluster #' num2str(i)]; else Style='o'; MarkerSize=6; Color=[0 0 0]; if ~isempty(Xi) Legends { end+1 
} 
='Noise'; end end if ~isempty(Xi) plot(Xi(:, 1), Xi(:, 2), Style, 'MarkerSize', MarkerSize, 'Color', Color); end hold on; end hold off; axis equal; grid on; legend(Legends); legend('Location', 'NorthEastOutside'); end 
clc; 
clear all pmra=xlsread(''); pmde=xlsread('); X=[pmra, pmde]; for t=1:1748 for k=1:1748 p(k, t)=sqrt((X(t, 1)-X(k, 1))^2+(X(t, 2)-X(k, 2))^2); end end P=sort(p); 
%进行排序 A=1:1748; 
figure('color', 'w'); subplot(4, 2, 1); plot(P(:, 1)/10, A, 'k'); 
ylabel('点数'); xlabel('距离'); title('1-dist') subplot(4, 2, 2); plot(P(:, 2)/10, A, 'k'); 
ylabel('点数'); xlabel('距离'); 
title('2-dist') subplot(4, 2, 3); plot(P(:, 3)/10, A, 'k'); 
ylabel('点数'); xlabel('距离'); 
title('3-dist') subplot(4, 2, 4); plot(P(:, 4)/10, A, 'k'); 
ylabel('点数'); xlabel('距离'); 
title('4-dist') subplot(4, 2, 5); plot(P(:, 5)/10, A, 'k'); 
ylabel('点数'); xlabel('距离'); 
title('5-dist') subplot(4, 2, 6); plot(P(:, 6)/10, A, 'k'); 
ylabel('点数'); xlabel('距离'); 
title('6-dist') subplot(4, 2, 7); plot(P(:, 7)/10, A, 'k'); 
ylabel('点数'); xlabel('距离'); 
title('7-dist') subplot(4, 2, 8); plot(P(:, 8)/10, A, 'k'); 
ylabel('点数'); xlabel('距离'); 
全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/bicheng/82838.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

行为型:解释器模式

目录 1、核心思想 2、实现方式 2.1 模式结构 2.2 实现案例 3、优缺点分析 4、适用场景 5、注意事项 1、核心思想 目的&#xff1a;针对某种语言并基于其语法特征创建一系列的表达式类&#xff08;包括终极表达式与非终极表达式&#xff09;​&#xff0c;利用树结构模式…

Redis分布式缓存核心架构全解析:持久化、高可用与分片实战

一、持久化机制&#xff1a;数据安全双引擎 1.1 RDB与AOF的架构设计 Redis通过RDB&#xff08;快照持久化&#xff09;和AOF&#xff08;日志持久化&#xff09;两大机制实现数据持久化。 • RDB架构&#xff1a;采用COW&#xff08;写时复制&#xff09;技术&#xff0c;主进程…

换脸视频FaceFusion3.1.0-附整合包

2025版最强换脸软件FaceFusion来了&#xff08;附整合包&#xff09;超变态的换脸教程 2025版最强换脸软件FaceFusion来了&#xff08;附整合包&#xff09;超变态的换脸教程 整合包地址&#xff1a; 「Facefusion_V3.1.0」 链接&#xff1a;https://pan.quark.cn/s/f71601a920…

论文阅读笔记——Step1X-Edit: A Practical Framework for General Image Editing

Step1X-Edit 论文 当前图像编辑数据集规模小&#xff0c;质量差&#xff0c;由此构建了如下数据构造管线。 高质量三元组数据&#xff08;源图像、编辑指令、目标图像&#xff09;。 主体添加与移除&#xff1a;使用 Florence-2 对专有数据集标注&#xff0c;然后使用 SAM2 进…

使用Python在PyCharm中进行交通工程数据分析的完整流程,包括数据清洗、挖掘、关联、可视化和应用整合等各个阶段

交通工程领域数据分析流程 下面我将详细介绍使用Python在PyCharm中进行交通工程数据分析的完整流程,包括数据清洗、挖掘、关联、可视化和应用整合等各个阶段。 1. 数据准备与清洗 1.1 导入必要库 import pandas as pd import numpy as np import matplotlib.pyplot as plt…

《软件工程》第 2 章 -UML 与 RUP 统一过程

在软件工程领域&#xff0c;UML&#xff08;统一建模语言&#xff09;与 RUP&#xff08;统一过程&#xff09;是进行面向对象软件开发的重要工具和方法。接下来&#xff0c;我们将深入探讨第 2 章的内容&#xff0c;通过案例和代码&#xff0c;帮助大家理解和掌握相关知识。 …

Vue收集表单数据

在 Web 开发中&#xff0c;表单是用户与系统交互的重要方式。无论是注册、登录、提交评论还是其他操作&#xff0c;都需要通过表单获取用户输入的数据。Vue.js 提供了强大的响应式系统和指令&#xff0c;使得表单数据的收集变得简单而高效。本文将详细介绍如何在 Vue 中实现表单…

R基于多元线性回归模型实现汽车燃油效率预测及SHAP值解释项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后关注获取。 1.项目背景 在全球环保意识日益增强和技术进步的推动下&#xff0c;汽车燃油效率成为了汽车行业关注的核心指标…

解决Window10上IP映射重启失效的问题

问题 在实际网络搭建过程中&#xff0c;大家有可能会遇到在局域网范围内&#xff0c;在自己本机上搭建一个网站或者应用时&#xff0c;其他设备通过本机的IP地址无法访问的问题,这个问题可以通过设置IP映射来解决&#xff0c;但是通过netsh interface命令设置的IP映射&#xf…

一台手机怎样实现多IP上网?方法有多种

在数字时代&#xff0c;多IP上网已成为许多手机用户的刚需。本文将详细介绍如何通过不同技术手段实现手机多IP上网&#xff0c;帮助读者根据实际需求选择适合的解决方案。 一、为什么一台手机要实现多IP上网 手机实现多IP上网的典型场景包括&#xff1a; ①防止同一IP操作多个…

git子模块--常见操作

克隆仓库 标准化克隆流程 基本命令git clone <父仓库远程URL> [本地文件名] cd <本地仓库名> git submodule init # 初始化子模块配置 git submodule update # 拉取子模块内容一次性完成克隆和初始化流程 基本命令git clone --recurse-submodules <父仓库远…

ceph 剔除 osd

剔除 osd 参考官网文档 Removing OSDs (Manual) Removing the OSD 你得周期性地维护集群的子系统、或解决某个失败域的问题(如一机架)。如果你不想在停机维护 OSD 时让 CRUSH 自动重均衡,提前设置 noout ceph osd set nooutid=1# OSD 通常在从集群中移除之前处于 up in 在…

MySQL推出全新Hypergraph优化器,正式进军OLAP领域!

在刚刚过去的 MySQL Summit 2025 大会上&#xff0c;Oracle 发布了一个用于 MySQL 的全新 Hypergraph&#xff08;超图&#xff09;优化器&#xff0c;能够为复杂的多表查询生成更好的执行计划&#xff0c;从而优化查询性能。 这个功能目前只在 MySQL HeatWave 云数据库中提供&…

破能所,入不二

一、缘起&#xff1a;从“闻所闻尽”到性相不二 《楞严经》观世音菩萨耳根圆通法门的核心教义——“初于闻中&#xff0c;入流亡所&#xff1b;所入既寂&#xff0c;动静二相&#xff0c;了然不生。如是渐增&#xff0c;闻所闻尽”&#xff0c;揭示了从凡夫二元认知跃升至究竟…

网站每天几点更新,更新频率是否影响网站收录

1. 每天几点更新网站最合适&#xff1f;总怕时间选错影响收录&#xff1f; 刚开始搞网站的时候&#xff0c;是不是老纠结啥时候更新合适&#xff1f;早上刚上班&#xff1f;半夜没人的时候&#xff1f;选不对时间&#xff0c;总担心搜索引擎爬虫来了没抓到新内容&#xff0c;影…

使用workvisual对库卡机器人进行程序备份

1&#xff0c;将电脑网卡设置自动获取&#xff0c;用网线将电脑与库卡机器人控制柜上的网口连接 2&#xff0c;打开软件后&#xff0c;会出现项目打开对话框&#xff0c;点击浏览按钮&#xff0c;会出现机器人站项目 3&#xff0c;点击项目前面的➕&#xff0c;展开菜单&…

2025.5.22 Axure 基础与线框图制作学习笔记

一、Axure 基础 - 界面及相关了解 界面布局 工具栏 &#xff1a;位于软件上方&#xff0c;包含新建、打开、保存等常用文件操作按钮&#xff0c;以及撤销、重做、剪切、复制、粘贴等编辑功能按钮&#xff0c;方便快速执行相关操作。 元件面板 &#xff1a;在左侧&#xff0c;提…

Python训练打卡Day36

复习日&#xff1a; 回顾神经网络的相关信息 1. 梯度下降的思想 梯度下降的本质是一种迭代优化算法&#xff0c;用于寻找函数的极小值点&#xff08;比如损失函数的最小值&#xff09;其关键的要素如下 梯度&#xff1a;函数在某点变化率最大方向学习率&#xff1a;每一步的…

【Android】System分区应用自带库与原生库同名问题分析

System分区应用自带库与原生库同名问题分析 问题背景 某系统应用发生必现崩溃问题。崩溃log如下 0*-** **:**:**.** 66666 66666 E ***** aar error:: java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "_TTT_TTT_TTT" referenced by &quo…

计算机网络中的单播、组播与广播

文章目录 前言一、单播&#xff08;Unicast&#xff09;1.1 定义与工作原理1.2 优点1.3 缺点1.4 典型应用场景 二、广播&#xff08;Broadcast&#xff09;2.1 定义与工作原理2.2 优点2.3 缺点2.4 典型应用场景 三、组播&#xff08;Multicast&#xff09;3.1 定义与工作原理3.…