2024深圳杯数学建模竞赛A题(东三省数学建模竞赛A题):建立火箭残骸音爆多源定位模型

更新完整代码和成品完整论文

《2024深圳杯&东三省数学建模思路代码成品论文》↓↓↓(浏览器打开)

https://www.yuque.com/u42168770/qv6z0d/zx70edxvbv7rheu7?singleDoc#

2024深圳杯数学建模竞赛A题(东三省数学建模竞赛A题):建立火箭残骸音爆多源定位模型

本文文章较长,建议先目录。经过多天的奋战,目前我们已经完成了2024深圳杯数学建模竞赛A题的30+页完整论文和代码,相关完整内容可见文末参考,文章较长,建议可以先看目录,部分图片如下:

火箭残骸音爆多源定位

部分摘要如下:本文针对火箭发射场景下的多个火箭残骸音爆精确定位问题,进行了深入的研究和分析。通过对问题的理论分析和建模,提出了一系列定位模型和算法,并通过算例验证了其有效性和可行性。在问题1中,建立了基于非线性方程组求解的多点定位音爆源模型,采用牛顿迭代法和遗传算法进行了求解,取得了较高的定位精度。问题2针对多个残骸同时发生音爆的情况,提出了基于震动波识别和分步定位的多残骸定位模型,通过聚类算法实现了复杂场景下的残骸定位。问题3通过构建多残骸定位的非线性最小二乘模型,利用穷举法和Levenberg-Marquardt算法,实现了四个残骸的同时定位,定位误差控制在1km以内。问题4研究了测量误差对定位精度的影响,提出了基于加权最小二乘和RANSAC算法的鲁棒定位方法,并通过GDOP准则和MMI准则对监测设备布设进行了优化,进一步提高了定位精度。最后,文中对各定位模型的优缺点进行了分析,并提出了相应的改进策略和推广方向。

问题1的多点定位音爆源模型,通过将音爆源的空间坐标和时间作为未知量,建立了以监测设备位置和音爆信号到达时间为已知量的非线性方程组,并引入了Jacobi矩阵,将问题转化为非线性最小二乘问题。首先,采用了牛顿迭代法进行求解,通过不断迭代更新未知量的估计值,直到满足收敛条件,得到了音爆源的位置和时间。算例结果表明,该方法能够以较高的精度实现单个残骸的定位。其次,为了克服牛顿法可能收敛到局部最优解的缺陷,进一步采用了遗传算法进行全局搜索,通过自然选择、交叉变异等操作,在更大的解空间内寻找最优解,提高了模型的鲁棒性。最终,两种算法的结果进行了对比分析,验证了模型和算法的有效性。

问题2针对多个残骸同时发生音爆的情况,提出了多残骸音爆定位模型。首先,通过对监测数据进行时间差异聚类,实现了对多组震动波信号的分离和识别,将复杂的多残骸定位问题简化为多个单残骸定位问题。(后略)

问题3进一步探讨了四个残骸同时发生音爆时的定位问题。通过对7个监测站的实测数据进行分析,构建了一个多残骸定位的非线性最小二乘模型,以4个残骸的空间坐标和音爆时刻为决策变量,以所有监测站的定位误差平方和为目标函数。求解该模型面临的主要挑战是决策变量维度高、非线性强,全局最优解难以确定。为此,首先采用(后略)

问题4主要研究测量误差对定位结果的影响,并提出了相应的鲁棒定位算法和监测设备布设优化方法。首先,通过对比分析含有随机误差和不含误差情况下的定位结果,发现测量误差会显著降低定位精度。为此,引入了加权最小二乘法,通过迭代修正残差的权重,削弱异常值的影响,提高定位模型的鲁棒性。其次,采用RANSAC算法,(后略)

通过对四个问题的研究,本文构建了一套较为完善的火箭残骸音爆精确定位模型和算法体系,能够有效解决单残骸定位、多残骸同时定位、复杂场景下的残骸识别、测量误差干扰等实际工程问题。

问题重述

下面是2024年深圳杯东三省数学建模竞赛A题的一个问题重述:多个火箭残骸的准确定位

绝大多数火箭为多级火箭,下面级火箭或助推器完成既定任务后,通过级间分离装置分离后坠落。在坠落至地面过程中,残骸会产生跨音速音爆。为了快速回收火箭残骸,在残骸理论落区内布置多台震动波监测设备,以接收不同火箭残骸从空中传来的跨音速音爆,然后根据音爆抵达的时间,定位空中残骸发生音爆时的位置,再采用弹道外推实现残骸落地点的快速精准定位 。

问题1 建立数学模型,分析如果要精准确定空中单个残骸发生音爆时的位置坐标(经度、纬度、高程)和时间,至少需要布置几台监测设备?假设某火箭一级残骸分离后,在落点附近布置了7台监测设备,各台设备三维坐标(经度、纬度、高程)、音爆抵达时间(相对于观测系统时钟0时)如下表所示:

从上表中选取合适的数据,计算残骸发生音爆时的位置和时间。

问题2火箭残骸除了一级残骸,还有两个或者四个助推器。在多个残骸发生音爆时,监测设备在监测范围内可能会采集到几组音爆数据。假设空中有4个残骸,每个设备按照时间先后顺序收到4组震动波。建立数学模型,分析如何确定监测设备接收到的震动波是来自哪一个残骸?如果要确定4个残骸在空中发生音爆时的位置和时间,至少需要布置多少台监测设备?

问题3 假设各台监测设备布置的坐标和4个音爆抵达时间分别如下表所示:

利用问题2所建立的数学模型,从上表中选取合适的数据,确定4个残骸在空中发生音爆时的位置和时间(4个残骸产生音爆的时间可能不同,但互相差别不超过5 s)。

问题4 假设设备记录时间存在0.5 s的随机误差,请修正问题2所建立的模型以较精确地确定4个残骸在空中发生音爆时的位置和时间。通过对问题3表中数据叠加随机误差,给出修正模型的算例,并分析结果误差。如果时间误差无法降低,提供一种解决方案实现残骸空中的精准定位(误差<1 km),并自行根据问题3所计算得到的定位结果模拟所需的监测设备位置和音爆抵达时间数据,验证相关模型。

附 震动波的传播速度为340 m/s,计算两点间距离时可忽略地面曲率,纬度间每度距离值近似为111.263 km,经度间每度距离值近似为97.304 km。

问题分析

问题1分析

问题1:要精确定位空中单个残骸发生音爆的位置和时间,可以使用三角测量法或多点定位法。通过分析可知,在三维空间中确定一个点的位置需要至少4个已知点的距离信息。因此,这里需要布置至少4台监测设备。对于给出的7台设备的数据,我们可以任意选取其中4台,用它们的位置坐标(x,y,z)和接收到音爆信号的时间t,列出以音速为参数的方程组,求解该方程组即可得到残骸发生音爆时的三维坐标(x,y,z)和具体时间t。如果选多于4台设备,可以通过最小二乘法等方法处理,提高定位精度。

问题2分析

问题2:当有多个残骸同时发生音爆时,每台监测设备会在不同时刻接收到多组音爆信号。如果能够区分各组信号分别来自哪个残骸,就可以将问题简化为多个单残骸定位问题。这里可以使用聚类算法,如k-means、DBSCAN等,对每台设备接收到的多组信号的到达时间进行聚类,使得同一残骸发出的信号在所有设备上的到达时间聚为一类。聚类过程中可以设置时间阈值,大于该阈值的signals必然来自不同残骸。为了既能区分各残骸,又能准确定位,需要布置更多的设备。理论上,定位n个残骸需要的设备数量为5。因此对于4个残骸,需要布置至少5台设备。

问题3分析

问题3:根据上述思路,首先对给出的7台监测设备的数据按时间先后进行聚类。这里每台设备接收到4组信号,聚类的目标是把属于同一残骸的信号聚为一类。我们可以假设4个残骸的音爆发生时间相差不超过5秒,据此设置聚类的时间阈值。聚类后,每类数据包含7组位置和时间信息,分别对应7台设备接收到的来自同一残骸的信号。对每一类数据,选取其中的5组(确保选取的5台设备geometrically diverse),套用单残骸定位的方法(如问题1),即可求出该残骸发生音爆的位置坐标和时间。对4个残骸依次求解,即可得到完整的定位结果。

问题4分析

问题4:在实际测量中,由于设备精度、同步等原因,测量时间难免存在误差。为此,需要在定位模型中引入误差项。假设测得的时间为真实时间与一个随机误差的和,其中误差服从均值为0、方差为0.5^2的正态分布。将含随机误差项的测量时间代入定位方程组,再用最小二乘法或其他参数估计方法求解,可以在一定程度上消除随机误差的影响,使定位结果更加准确。除了改进算法,还可以通过增加监测设备的数量来提高冗余度,减小误差。理论上,要将残骸的定位误差控制在1km以内,需要将时间测量误差降到0.1s量级。如果时间误差无法降低,另一种思路是在一个较大区域内密集布设监测设备阵列,通过空间上的冗余度来弥补时间误差,用探测到的音爆信号强度分布反演残骸轨迹。

模型假设

根据论文中2024深圳杯A题问题1到问题4的模型建立与求解过程,使用了以下几点模型假设:(略,见完整版)

符号说明

本文使用的符号及其说明如下:(部分)

问题一模型的建立与求解

问题1的详细分析与求解如下:

多点定位音爆源模型建立

确定空中单个残骸发生音爆时的位置坐标(经度、纬度、高程)和时间,本质上是求解一个非线性方程组。设音爆点坐标为 (𝑥0,𝑦0,𝑧0) ,音爆时刻为 𝑡0 ,音速为 𝑐 ,则音爆信号到达第 𝑖 个监测设备的时刻 𝑡𝑖 满足:

(𝑥𝑖−𝑥0)2+(𝑦𝑖−𝑦0)2+(𝑧𝑖−𝑧0)2=𝑐(𝑡𝑖−𝑡0),𝑖=1,2,⋯,𝑛

其中 (𝑥𝑖,𝑦𝑖,𝑧𝑖) 为第 𝑖 个监测设备的坐标, 𝑛 为监测设备数量。这是一个含有4个未知数 (𝑥0,𝑦0,𝑧0,𝑡0) 的非线性方程组,至少需要4个方程才能确定唯一解,即至少需要布置4台监测设备。当监测设备多于4台时,方程组为超定方程组。

![问题1 3D_plot](./论文1.0.assets/问题1 3D_plot.png)

为方便求解,将经纬度坐标转化为笛卡尔坐标。设第 𝑖 个设备的经纬度、高程分别为 (𝜆𝑖,𝜑𝑖,ℎ𝑖) ,转化公式为: 𝑥𝑖=97.304∗1000∗(𝜆𝑖−𝜆0)𝑦𝑖=111.263∗1000∗(𝜑𝑖−𝜑0)𝑧𝑖=ℎ𝑖

其中 (𝜆0,𝜑0) 为坐标原点的经纬度,单位为千米。不妨取 𝜆0=110∘,𝜑0=27∘ 。

记 𝑠=(𝑥0,𝑦0,𝑧0,𝑡0) , 𝑑𝑖=(𝑥𝑖,𝑦𝑖,𝑧𝑖,𝑡𝑖) , 𝑖=1,2,⋯,𝑛 ,则上述非线性方程组可写为:

𝑓𝑖(𝑠)≜(𝑥𝑖−𝑥0)2+(𝑦𝑖−𝑦0)2+(𝑧𝑖−𝑧0)2−𝑐(𝑡𝑖−𝑡0)=0,𝑖=1,2,⋯,𝑛

记 𝑓(𝑠)=(𝑓1(𝑠),𝑓2(𝑠),⋯,𝑓𝑛(𝑠))𝑇 ,求解非线性方程组 𝑓(𝑠)=0 即可得到音爆点的位置和时间。当 𝑛>4 时,可构造如下最小二乘问题求其最优解:

min𝑠‖𝑓(𝑠)‖22=∑𝑖=1𝑛𝑓𝑖2(𝑠)

该模型称为"多点定位音爆源模型"(Multi-point Audio Positioning Model,MAP)。

超定多点定位算法设计

求解上述最小二乘问题,可采用多种优化算法,如牛顿法、高斯-牛顿法、Levenberg-Marquardt算法等。

牛顿法求解非线性超定多点定位问题

这里以牛顿法为例,算法步骤如下:

输入:监测数据 𝑑𝑖=(𝑥𝑖,𝑦𝑖,𝑧𝑖,𝑡𝑖),𝑖=1,2,⋯,𝑛 ,音速 𝑐 ,迭代初值 𝑠(0) ,迭代次数上限 𝐾 ,停机准则 𝜀 输出:音爆点位置和时间 𝑠∗=(𝑥0∗,𝑦0∗,𝑧0∗,𝑡0∗) 𝑘=0 while 𝑘<𝐾  计算 𝑓(𝑠(𝑘)) 及其Jacobi矩阵 𝐽(𝑠(𝑘))  求解线性方程组 𝐽(𝑠(𝑘))Δ𝑠(𝑘)=−𝑓(𝑠(𝑘)) 得 Δ𝑠(𝑘) 𝑠(𝑘+1)=𝑠(𝑘)+Δ𝑠(𝑘)  if ‖Δ𝑠(𝑘)‖2<𝜀   break   𝑘=𝑘+1 end while 𝑠∗=𝑠(𝑘)

(后略,见完整版)

当监测设备数 𝑛>4 时,可通过求解超定非线性方程组得到更准确的定位结果。常用方法有:(后略,见完整版)

以上方法可称为"超定多点定位算法"(Overdetermined Multi-point Positioning Algorithm, OMPA)。

遗传算法求解非线性超定多点定位问题

除了牛顿迭代和超定方程组求解等传统优化方法外,遗传算法作为一种启发式搜索算法,也可用于求解该多点定位问题。相比牛顿法等局部搜索算法,遗传算法是一种全局优化算法,通过模拟生物进化过程中的选择、交叉、变异等操作,在全局范围内搜索最优解,不易陷入局部最优。下面给出使用遗传算法求解问题1的详细步骤。

1. 编码方式

音爆点的位置坐标 (𝑥0,𝑦0,𝑧0) 和时间 𝑡0 可编码为一个四维向量,作为遗传算法的个体。为方便后续遗传操作,对四个分量分别进行归一化,将其映射到 [0,1] 区间内,即:

𝑠=(𝑠𝑥,𝑠𝑦,𝑠𝑧,𝑠𝑡),𝑠𝑥=𝑥0−𝑥min𝑥max−𝑥min,𝑠𝑦=𝑦0−𝑦min𝑦max−𝑦min,𝑠𝑧=𝑧0−𝑧min𝑧max−𝑧min,𝑠𝑡=𝑡0−𝑡min𝑡max−𝑡min

其中 𝑥min,𝑥max,𝑦min,𝑦max,𝑧min,𝑧max,𝑡min,𝑡max 分别为四个分量的取值范围,可根据先验知识设定,如残骸的飞行高度和落区范围等。这样每个个体就对应一个潜在的音爆点。

2. 初始种群生成

随机生成 𝑁 个个体作为初始种群 𝑆(0)={𝑠1(0),𝑠2(0),⋯,𝑠𝑁(0)} ,每个个体的四个分量在 [0,1] 内随机取值。 𝑁 为种群大小,是一个超参数,需根据问题规模和计算资源等因素设定。

(后略,见完整版)

算例分析

利用题目提供的7组监测数据,转化为笛卡尔坐标后,初值 𝑠(0) 取7组数据的几何中心及平均接收时刻:

𝑠(0)=(𝑥¯,𝑦¯,𝑧¯,𝑡¯),𝑥¯=17∑𝑖=17𝑥𝑖,𝑦¯=17∑𝑖=17𝑦𝑖,𝑧¯=17∑𝑖=17𝑧𝑖,𝑡¯=17∑𝑖=17𝑡𝑖

利用题目所给的7组监测数据,取音爆点的经纬度范围为 [109∘,111∘]×[26∘,28∘] ,高度范围为 [1,10] km,时间范围为 [0,300] s。种群大小取 𝑁=100 ,交叉概率 𝑝𝑐=0.8 ,变异概率 𝑝𝑚=0.1 ,变异步长 𝛿=0.05 ,最大进化代数为200。

部分代码如下:

% 三维音爆定位数学模型(TAPS)% 输入参数
y3 = (y3 - 27) * 111.263 * 1000;
% 初始猜测值
x0 = 110.5; y0 = 27.5; z0 = 750; t0 = 50;
x0 = (x0 - 110) * 97.304 * 1000; 
y0 = (y0 - 27) * 111.263 * 1000;
% 迭代参数
tol = 1e-6; % 收敛精度
maxIter = 100; % 最大迭代次数% 迭代求解
x = x0; y = y0; z = z0; t = t0;
iter = 0;
while true% 计算残差f1 = sqrt((x-x1)^2 + (y-y1)^2 + (z-z1)^2) - c*(t-t1);f2 = sqrt((x-x2)^2 + (y-y2)^2 + (z-z2)^2) - c*(t-t2);F = [f1; f2; f3];% 计算雅可比矩阵J11 = (x-x1)/sqrt((x-x1)^2 + (y-y1)^2 + (z-z1)^2);J12 = (y-y1)/sqrt((x-x1)^2 + (y-y1)^2 + (z-z1)^2);J13 = (z-z1)/sqrt((x-x1)^2 + (y-y1)^2 + (z-z1)^2);J14 = -c;J = [J11 J12 J13 J14;J21 J22 J23 J24;J31 J32 J33 J34];% 求解线性方程组dx = -J\F;% 更新迭代变量x = x + dx(1);y = y + dx(2);z = z + dx(3);t = t + dx(4);% 检查收敛条件if norm(F) < tol || iter >= maxIterbreak;enditer = iter + 1;
end% 结果输出
fprintf('残骸位置坐标: (%.3f, %.3f, %.3f)\n', x, y, z);
fprintf('残骸发生音爆时间: %.3f s\n', t);% 可视化
% 1. 三维坐标系
figure;
plot3(x1, y1, z1, 'ro', 'MarkerSize', 10, 'MarkerFaceColor', 'r');
hold on;
plot3(x2, y2, z2, 'go', 'MarkerSize', 10, 'MarkerFaceColor', 'g');
plot3(x3, y3, z3, 'bo', 'MarkerSize', 10, 'MarkerFaceColor', 'b');
title('问题1三维坐标系');
view(3);
grid on;
exportgraphics(gcf, '问题1 3D_plot.png', 'Resolution', 300);% 2. 平面投影
figure;
plot(x1, y1, 'ro', 'MarkerSize', 10, 'MarkerFaceColor', 'r');
hold on;
plot(x2, y2, 'go', 'MarkerSize', 10, 'MarkerFaceColor', 'g');
plot(x3, y3, 'bo', 'MarkerSize', 10, 'MarkerFaceColor', 'b');
plot(x, y, 'k*', 'MarkerSize', 15, 'MarkerFaceColor', 'k');

(后略,见完整版)

综上,至少需要布置4台监测设备,在7台监测设备的情况下,可通过求解超定非线性方程组进一步提高定位精度,常用方法包括多组合平均、加权最小二乘、正则化以及鲁棒估计等,本文给出了牛顿迭代和遗传算法两种求解算法,均能得到较为理想的定位结果。

问题四模型的建立与求解

问题4涉及到了测量误差对定位精度的影响,以及如何通过算法改进和设备布设优化来提高定位精度。下面我将从误差分析、鲁棒定位算法设计和监测设备优化布设三个方面对该问题进行详细讨论。

测量误差分析与建模

在实际的监测系统中,测量数据往往会受到各种误差源的影响,如设备噪声、时钟漂移、环境干扰等,导致测量值与真实值之间存在一定的偏差。对于飞行器音爆定位这一应用场景,主要考虑监测设备记录音爆到达时间的误差。

假设第 𝑖 个监测设备记录的第 𝑗 个残骸音爆到达时间为 𝑇~𝑖𝑗 ,它与真实到达时间 𝑇𝑖𝑗 之间存在一个加性误差 𝜀𝑖𝑗 ,即:

𝑇~𝑖𝑗=𝑇𝑖𝑗+𝜀𝑖𝑗,𝑖=1,2,⋯,𝑛;𝑗=1,2,⋯,𝑚

其中 𝑛 为监测设备数量, 𝑚 为残骸数量。根据题目信息,可以假设误差 𝜀𝑖𝑗 服从区间 [−0.5,0.5] 上的均匀分布,即 𝜀𝑖𝑗∼𝑈(−0.5,0.5) 。

将上述误差模型代入到问题1和问题2中的定位方程组,可以得到包含测量误差的多残骸定位模型:

(𝑥𝑗−𝑋𝑖)2+(𝑦𝑗−𝑌𝑖)2+(𝑧𝑗−𝑍𝑖)2=𝑐(𝑇~𝑖𝑗−𝑡𝑗−𝜀𝑖𝑗),𝑖=1,2,⋯,𝑛;𝑗=1,2,⋯,𝑚

其中 (𝑥𝑗,𝑦𝑗,𝑧𝑗) 和 𝑡𝑗 分别为第 𝑗 个残骸的空间坐标和音爆时刻, (𝑋𝑖,𝑌𝑖,𝑍𝑖) 为第 𝑖 个监测设备的坐标, 𝑐 为声速。

上述模型表明,测量误差会直接影响定位方程组的残差,进而影响定位精度。为了量化误差对定位精度的影响,可以引入均方根定位误差(Root Mean Square Localization Error, RMSLE)指标:

RMSLE=1𝑚∑𝑗=1𝑚[(𝑥𝑗−𝑥^𝑗)2+(𝑦𝑗−𝑦^𝑗)2+(𝑧𝑗−𝑧^𝑗)2+𝑐2(𝑡𝑗−𝑡^𝑗)2]

其中 (𝑥^𝑗,𝑦^𝑗,𝑧^𝑗) 和 𝑡^𝑗 为第 𝑗 个残骸的估计坐标和音爆时刻。RMSLE衡量了估计值与真实值之间的整体偏差,数值越小说明定位精度越高。

鲁棒定位算法设计

为了减小测量误差对定位结果的影响,提高定位精度,可以考虑从算法层面入手,设计鲁棒性更强的定位算法。以下介绍两种常用的鲁棒定位算法。

加权最小二乘法(Weighted Least Squares, WLS)

在传统的最小二乘定位方法中,所有测量值的权重都是相等的。而在存在测量误差的情况下,不同测量值的可信度是不同的。直观地,误差较小的测量值应该赋予较大的权重,而误差较大的测量值应该赋予较小的权重。加权最小二乘法就是基于这一思想,对不同测量值引入权重因子(后略,见完整版)

模型的评价与推广(部分)

问题4的鲁棒定位算法设计评价与推广

优点: 1. 加权最小二乘法通过迭代修正残差的权重,自适应地削弱异常值的影响,提高了定位模型的鲁棒性。 2. RANSAC算法通过一致性样本集的投票机制,有效克服了测量误差和野值的干扰,具有较强的鲁棒性。 3. 基于GDOP准则和MMI准则的监测设备优化布设方法,能够在测量误差无法降低的情况下,通过合理布设提高定位精度,具有实用价值。

缺点: 1. 加权最小二乘法和RANSAC算法的性能依赖于初值选取和迭代次数,在某些情况下可能收敛到局部最优解。 2. GDOP准则和MMI准则都是基于一些假设条件推导得到的,在实际复杂环境下可能存在一定的局限性。 3. 设备布设优化属于组合优化问题,求解难度较大,启发式搜索算法的全局收敛性难以严格保证。

推广: 1. 可以引入更加鲁棒的估计准则,如Huber准则、Hampel准则等,进一步提高模型的抗干扰能力。 2. 可以综合多种优化准则,如融合GDOP、MMI、测量误差统计特性等信息,构建多目标优化模型,得到更加全面合理的布设方案。 3. 可以结合模型预测控制、序贯优化等方法,实现监测设备布设的动态在线调整,适应残骸落区的变化。 4. 可以考虑测量误差的时空相关性,引入时空统计模型,如克里金插值、高斯过程回归等,提高定位精度。

更新完整代码和成品完整论文

《2024深圳杯&东三省数学建模思路代码成品论文》↓↓↓(浏览器打开)

https://www.yuque.com/u42168770/qv6z0d/zx70edxvbv7rheu7?singleDoc#

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

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

相关文章

【Go 语言入门专栏】Go 语言的起源与发展

前言 Go 语言是当下最为流行的编程语言之一&#xff0c;大约在 2020、2021 年左右开始于国内盛行&#xff0c;许多大厂很早就将部分 Java 项目迁移到了 Go&#xff0c;足可看出其在性能方面的优越性。 相信各位都知道&#xff0c;在爬虫业务中&#xff0c;并发是一个关键的需…

解决iview(view ui)中tabs组件中使用图片预览组件ImagePreview,图片不显示问题

同学们可以私信我加入学习群&#xff01; 正文开始 前言一、问题描述二、原因分析三、解决方案总结 前言 最近在写个人项目的web端和浏览器插件&#xff0c;其中一个功能是base64和图片的转换。因为分成四个小功能&#xff0c;所以使用的iview的tabs来展示不同功能&#xff0c…

如何解决DA14531编译工程出现大量报错的问题

在编译DA14531某个工程时&#xff0c;在这台电脑可以编译&#xff0c;另外一台电脑就编译不过&#xff0c;出现很多错误问题。那要怎样处理呢&#xff1f; 建议安装新MDK版本 可能是MDK版本问题&#xff0c;在不同的电脑安装不同的MDK版本&#xff0c;用新的版本可以编译通过&…

计算机网络—数据链路层

一、数据链路层的基本概念 结点&#xff1a;主机、路由器 链路&#xff1a;网络中两个结点之间的物理通道&#xff0c;链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路 数据链路&#xff1a;网络中两个结点之间的逻辑通道&#xff0c;把实现控制数据协议的…

java在应用程序里获取不到扬声器设备,如何解决?

&#x1f3c6;本文收录于「Bug调优」专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收藏&&…

MF(推荐系统的矩阵分解技术)论文笔记

论文概述 推荐系统的矩阵分解技术可以为用户提供更为准确的个性化推荐&#xff0c;对比传统的近邻技术&#xff0c;矩阵分解技术可以纳入更多信息&#xff0c;如隐式反馈、时间效应和置信度 近邻技术&#xff1a;基于用户或物品之间的相似性进行推荐&#xff0c;当用户之间已…

针孔相机模型原理坐标系辨析内参标定流程内参变换

针孔相机的内参标定 针孔相机原理真空相机模型图片的伸缩和裁剪变换 内参标定———非线性优化张正定标定详细原理(含公式推导)通过多张棋盘格照片完成相机的内参标定流程(C代码)其他工具箱 相机分为短焦镜头和长焦镜头&#xff0c;短焦镜头看到的视野更广阔&#xff0c;同样距…

CSS高级选择器

一、属性选择器 以value开头的att属性的E元素&#xff1a;E[att^"value"]{ ;} a[href^http]{background-color"red";} css a[href^http]{background-color"red"; } html <!DOCTYPE html> <html lang"en"> <head&…

MySQL基础学习(待整理)

MySQL 简介 学习路径 MySQL 安装 卸载预安装的mariadb rpm -qa | grep mariadb rpm -e --nodeps mariadb-libs安装网络工具 yum -y install net-tools yum -y install libaio下载rpm-bundle.tar安装包&#xff0c;并解压&#xff0c;使用rpm进行安装 rpm -ivh \ mysql-communi…

【数据结构(邓俊辉)学习笔记】向量04——有序向量

文章目录 0.概述1.比较器2.有序性甄别3.唯一化3.1低效算法3.1.1实现3.1.2 复杂度3.1.3 改进思路3.2 高效算法3.2.1 实现3.2.2 复杂度 4.查找4.1统一接口4.2 语义定义4.3 二分查找4.3.1 原理4.3.2 实现4.3.3 复杂度4.3.4 查找长度4.3.5 不足 4.4 Fibonacci查找4.4.1 改进思路4.4…

图搜索算法详解与示例代码

在计算机科学领域&#xff0c;图搜索算法是一类用于在图数据结构中查找特定节点或路径的算法。图搜索算法在许多领域都有着广泛的应用&#xff0c;包括网络路由、社交网络分析、游戏开发等。本文将详细介绍几种常见的图搜索算法&#xff0c;包括深度优先搜索&#xff08;DFS&am…

视频改字祝福 豪车装X系统源码uniapp前端源码

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 uniapp视频改字祝福 豪车装X系统源码 全开源。 创意无限&#xff01;AI视频改字祝福&#xff0c;豪车装X系统源码开源&#xff0c;打造个性化祝福视频不再难&#xff01; 想要为你的…

【论文阅读】ChipNeMo中的数据集处理

前面总体学习了《ChipNeMo: Domain-Adapted LLMs for Chip Design》&#xff0c;然后又继续仔细看了论文中的领域适配分词和领域数据微调的预训练检索模型&#xff0c;对于数据集的处理&#xff0c;也需要仔细看一下。 提炼重点&#xff1a;1&#xff09;对于数据集&#xff0…

Docker: 如何不新建容器 修改运行容器的端口

目录 一、修改容器的映射端口 二、解决方案 三、方案 一、修改容器的映射端口 项目需求修改容器的映射端口 二、解决方案 停止需要修改的容器 修改hostconfig.json文件 重启docker 服务 启动修改容器 三、方案 目前正在运行的容器 宿主机的3000 端口 映射 容器…

启发式搜索算法4 -遗传算法实战:吊死鬼游戏

相关文章: 启发式搜索算法1 – 最佳优先搜索算法 启发式搜索算法2 – A*算法 启发式搜索算法2 – 遗传算法 有一个小游戏叫吊死鬼游戏&#xff08;hangman&#xff09;&#xff0c;在学习英语的时候&#xff0c;大家有可能在课堂上玩过。老师给定一个英文单词&#xff0c;同学们…

设计模式之监听器模式ListenerPattern(三)

一、介绍 监听器模式是一种软件设计模式&#xff0c;在对象的状态发生改变时&#xff0c;允许依赖它的其他对象获得通知。在Java中&#xff0c;可以使用接口和回调机制来实现监听器模式。 二、代码实例 1、事件Event类 package com.xu.demo.listener;// 事件类 public class…

Python 与 TensorFlow2 生成式 AI(三)

原文&#xff1a;zh.annas-archive.org/md5/d06d282ea0d9c23c57f0ce31225acf76 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 第七章&#xff1a;使用 GAN 进行风格转移 神经网络在涉及分析和语言技能的各种任务中正在取得进步。创造力是人类一直占有优势的领域&…

深入浅出TCP 与 UDP

&#x1f525; 引言 在互联网的广阔天地里&#xff0c;TCP&#xff08;Transmission Control Protocol&#xff09;和UDP&#xff08;User Datagram Protocol&#xff09;作为传输层的两大支柱&#xff0c;各自承担着不同的使命。下面这篇文章将带你从基础到进阶&#xff0c;全…

如何安全可控的进行跨区域数据交换,提高数据价值?

跨区域数据交换指的是在不同地理位置或不同网络环境下的数据传输和共享。随着数字化转型的加速&#xff0c;企业及组织越来越依赖于数据的流动来优化业务流程、增强决策制定和推动创新。然而&#xff0c;跨区域数据交换也带来了一系列的挑战和风险&#xff0c;主要包括&#xf…

天地图路径规划功能实现

目录 1、天地图路径规划2、路径规划3、参数说明4、Demo 1、天地图路径规划 天地图Web服务API为用户提供HTTP/HTTPS接口&#xff0c;即开发者可以通过这些接口使用各类型的地理信息数据服务&#xff0c;可以基于此开发跨平台的地理信息应用。 Web服务API对所有用户开放。使用本…