2025年数学建模美赛 A题分析(3)楼梯使用方向偏好模型
2025年数学建模美赛 A题分析(1)Testing Time: The Constant Wear On Stairs
2025年数学建模美赛 A题分析(2)楼梯磨损分析模型
2025年数学建模美赛 A题分析(3)楼梯使用方向偏好模型
2025年数学建模美赛 A题分析(4)楼梯使用人数模型
特别提示:
- 本文针对 2025年 A题进行分析,每天不断更新,建议收藏。
- 其它题目的分析详见【youcans 的数学建模课】 专栏。
文章目录
- 2025年数学建模美赛 A题分析(3)楼梯方向偏好模型
- 1. 问题概述
- 2. 楼梯使用方向偏好数学模型
- 2.1 楼梯使用方向偏好数学模型的建立
- 2.2 所需数据与测量方法
- 2.3 假设条件
- 3. 模型推导
- 3.1 基本概念
- 3.2 磨损深度与方向偏好的关系
- 3.3 磨损深度的计算
- 4. 实施步骤
- 5. 模型验证
- 6. 模型结论
- 7. 图像区域分割基本方法
- 例程 11.25:图像分割之区域生长
- 8. 基于 k 均值聚类的区域分割
- 例程 11.27:图像分割之 k 均值聚类
2025年数学建模美赛 A题分析(3)楼梯方向偏好模型
1. 问题概述
用于建造台阶的石材和其他材料经受着持续的长期磨损,并且这种磨损可能是不均匀的。
问题的任务是:开发一个模型,通过特定楼梯的磨损模式得出以下基本预测:
- 楼梯使用的频率。
- 使用楼梯时是否更倾向于某一方向。
- 同时使用楼梯的人数(例如,人们是否成对并排爬楼梯,还是单列行走)。
进一步地,假设已经获得楼梯的建造年代、使用方式以及建筑中日常生活模式的估算信息,需要回答以下问题:
- 磨损是否与现有信息一致?
- 楼梯的年龄及其估算的可靠性如何?
- 楼梯是否经历过维修或翻修?
- 能否确定材料的来源?例如,石材的磨损是否与考古学家认为的原始采石场材料一致?若使用木材,其磨损是否与假定使用的树种和年代相符?
- 有关楼梯典型每日使用人数的信息,以及是否有大量人群在短时间内使用,或少量人群长期使用的情况?
2. 楼梯使用方向偏好数学模型
2.1 楼梯使用方向偏好数学模型的建立
楼梯使用方向偏好分析的目标是确定使用者是否倾向于某一特定方向(上或下楼梯),以及这种偏好的强度。通过分析楼梯磨损的空间分布,可以量化这一偏好。
2.2 所需数据与测量方法
-
必须测量的数据
(1)磨损深度的空间分布
获取楼梯表面每一位置的磨损深度分布,尤其是台阶中心区域、边缘区域以及上下坡方向的差异。
数据形式:三维高度模型或磨损深度的二维热力图。
(2)楼梯的空间布局:
台阶的宽度、坡度和方向性,确定不同区域的使用路径。
(3)台阶材料特性:确定磨损速率是否一致(上下坡可能因压力差异导致磨损不同)。 -
非破坏性测量方法
激光扫描:获取磨损深度和分布的高精度数据。
3D建模:重建台阶表面,分析上下坡方向的磨损特征。
图像处理:通过光学方法分析楼梯表面纹理变化。 -
其他辅助信息
使用的历史记录:如建筑物的使用时间、功能(宗教场所、住宅等)以及可能的高峰使用时期。
2.3 假设条件
-
磨损方向性假设
假设磨损深度与使用方向直接相关:上楼使用可能集中在前脚掌区域,而下楼使用可能在台阶边缘造成更多磨损。 -
对称性假设
若楼梯不存在明显的方向性限制(如仅供单向使用),则在没有方向偏好的情况下,磨损应在两侧和上下方向接近对称。 -
单一变量假设
假设影响磨损的主导因素是方向偏好,排除其他次要因素(如特殊气候条件、个别异常使用情况)。
3. 模型推导
3.1 基本概念
方向偏好用一个比率量化,表示上下楼人流量的分布:
P u p = N u p N u p + N d o w n P_{up} = \frac{N_{up}}{N_{up} + N_{down}} Pup=Nup+NdownNup
P d o w n = N d o w n N u p + N d o w n P_{down} = \frac{N_{down}}{N_{up} + N_{down}} Pdown=Nup+NdownNdown
其中:
- Pup、Pdown 分别表示上楼和下楼的方向偏好比例。
- Nup、Ndown 分别表示上楼和下楼的人次。
3.2 磨损深度与方向偏好的关系
假设楼梯的上下坡方向产生不同的磨损模式:
- 上楼磨损:多集中于台阶前缘和中心位置。
- 下楼磨损:多集中于台阶边缘位置。
根据上下方向的磨损深度差异,可以通过以下公式推导偏好比例:
P u p = d u p d u p + d d o w n P_{up} = \frac{d_{up}}{d_{up} + d_{down}} Pup=dup+ddowndup
P d o w n = d d o w n d u p + d d o w n P_{down} = \frac{d_{down}}{d_{up} + d_{down}} Pdown=dup+ddownddown
其中:
d u p d_{up} dup 表示上楼方向的磨损深度总和。 d d o w n d_{down} ddown 表示下楼方向的磨损深度总和。
3.3 磨损深度的计算
- 区域分割
将楼梯的踏面分为两部分:
- 上楼区域:台阶中心靠近上方方向的位置。
- 下楼区域:台阶边缘靠近下方方向的位置。
- 深度积分
对每个区域的磨损深度进行积分,计算总和:
d u p = ∫ u p a r e a h ( x , y ) d x d y d_{up} = \int_{up area} h(x,y) dxdy dup=∫upareah(x,y)dxdy
d d o w n = ∫ d o w n a r e a h ( x , y ) d x d y d_{down} = \int_{down area} h(x,y) dxdy ddown=∫downareah(x,y)dxdy
其中, h ( x , y ) h(x,y) h(x,y)是每个点的磨损深度。
4. 实施步骤
-
数据采集
(1)获取磨损分布:通过激光扫描或3D建模获取楼梯表面磨损深度的分布图。
(2)区域划分:根据楼梯几何特性,划分上楼区域和下楼区域。
(3)材料特性校准:验证材料的磨损速率是否在两个方向一致。 -
参数计算
(1)对磨损深度分布进行积分,分别计算 d u p d_{up} dup 和 d d o w n d_{down} ddown。
(2)计算偏好比例:
P u p = d u p d u p + d d o w n P_{up} = \frac{d_{up}}{d_{up} + d_{down}} Pup=dup+ddowndup
P d o w n = d d o w n d u p + d d o w n P_{down} = \frac{d_{down}}{d_{up} + d_{down}} Pdown=dup+ddownddown
- 结果分析
(1)偏好程度:
(2)偏好强度:通过偏好比率的偏离程度量化,如:
Δ P = ∣ P u p − P d o w n ∣ \Delta P = |P_{up} - P_{down}| ΔP=∣Pup−Pdown∣
5. 模型验证
-
实验验证
在实验室中模拟上下楼的人流行为,记录磨损分布,验证模型预测的方向偏好是否与实际数据一致。 -
历史数据验证
若存在建筑物的使用记录,检查预测的方向偏好是否符合历史使用情况。
6. 模型结论
-
模型的适用性
通过分析磨损深度分布,模型能有效推导楼梯的方向偏好。
适用于台阶磨损明显且历史记录缺乏的场景。 -
改进方向
考虑非均匀使用(如特定时间段方向使用更集中)。
引入人群行为模型,结合楼梯宽度和空间限制优化预测。
7. 图像区域分割基本方法
【youcans 的 OpenCV 例程200篇】168.图像分割之区域生长
区域生长方法将具有相似性质的像素或子区域组合为更大区域。
区域生长方法是以区域为处理对象,基于区域内部和区域之间的同异性,尽量保持区域中像素的临近性和一致性的统一 。
区域生长的基本方法是,对于一组“种子”点,通过把与种子具有相同预定义性质(如灰度或颜色范围)的邻域像素合并到种子像素所在的区域中,再将新像素作为新的种子不断重复这一过程,直到没有满足条件的像素为止。
种子点的选取经常采用人工交互方法实现,也可以寻找目标物体并提取物体内部点,或利用其它算法找到的特征点作为种子点。
区域增长方法的步骤:
(1)对图像自上而下、从左向右扫描,找到第 1 个还没有访问过的像素,将该像素作为种子 (x0, y0);
(2)以 (x0, y0) 为中心, 考虑其 4 邻域或 8 邻域像素 (x, y),如果其邻域满足生长准则 则将 (x, y) 与 (x0, y0) 合并到同一区域,同时将 (x, y) 压入堆栈;
(3)从堆栈中取出一个像素,作为种子 (x0, y0) 继续步骤(2);
(4)当堆栈为空时返回步骤(1);
(5)重复步骤(1)-(4),直到图像中的每个点都被访问过,算法结束。
例程 11.25:图像分割之区域生长
# # 11.25 图像分割之区域生长def getGrayDiff(image, currentPoint, tmpPoint): # 求两个像素的距离return abs(int(image[currentPoint[0], currentPoint[1]]) - int(image[tmpPoint[0], tmpPoint[1]]))# 区域生长算法def regional_growth(img, seeds, thresh=5):height, weight = img.shapeseedMark = np.zeros(img.shape)seedList = []for seed in seeds:if (0<seed[0]<height and 0<seed[1]<weight): seedList.append(seed)label = 1 # 种子位置标记connects = [(-1,-1), (0,-1), (1,-1), (1,0), (1,1), (0,1), (-1,1), (-1,0)] # 8 邻接连通while (len(seedList) > 0): # 如果列表里还存在点currentPoint = seedList.pop(0) # 将最前面的那个抛出seedMark[currentPoint[0], currentPoint[1]] = label # 将对应位置的点标记为 1for i in range(8): # 对这个点周围的8个点一次进行相似性判断tmpX = currentPoint[0] + connects[i][0]tmpY = currentPoint[1] + connects[i][1]if tmpX<0 or tmpY<0 or tmpX>=height or tmpY>=weight: # 是否超出限定阈值continuegrayDiff = getGrayDiff(img, currentPoint, (tmpX, tmpY)) # 计算灰度差if grayDiff<thresh and seedMark[tmpX,tmpY]==0:seedMark[tmpX, tmpY] = labelseedList.append((tmpX, tmpY))return seedMark# 区域生长 主程序img = cv2.imread("../images/Fig1051a.tif", flags=0)# # 灰度直方图# histCV = cv2.calcHist([img], [0], None, [256], [0, 256]) # 灰度直方图# OTSU 全局阈值处理ret, imgOtsu = cv2.threshold(img, 127, 255, cv2.THRESH_OTSU) # 阈值分割, thresh=T# 自适应局部阈值处理binaryMean = cv2.adaptiveThreshold(img, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 5, 3)# 区域生长图像分割# seeds = [(10, 10), (82, 150), (20, 300)] # 直接给定 种子点imgBlur = cv2.blur(img, (3,3)) # cv2.blur 方法_, imgTop = cv2.threshold(imgBlur, 250, 255, cv2.THRESH_BINARY) # 高百分位阈值产生种子区域nseeds, labels, stats, centroids = cv2.connectedComponentsWithStats(imgTop) # 过滤连通域,获得质心点 (x,y)seeds = centroids.astype(int) # 获得质心像素作为种子点imgGrowth = regional_growth(img, seeds, 8)plt.figure(figsize=(8, 6))plt.subplot(221), plt.axis('off'), plt.title("Origin")plt.imshow(img, 'gray')plt.subplot(222), plt.axis('off'), plt.title("OTSU(T={})".format(ret))plt.imshow(imgOtsu, 'gray')plt.subplot(223), plt.axis('off'), plt.title("Adaptive threshold")plt.imshow(binaryMean, 'gray')plt.subplot(224), plt.axis('off'), plt.title("Region grow")plt.imshow(255-imgGrowth, 'gray')plt.tight_layout()plt.show()
8. 基于 k 均值聚类的区域分割
【youcans 的 OpenCV 例程200篇】170.图像分割之K均值聚类
聚类方法的思想是将样本集合按照其特征的相似性划分为若干类别,使同一类别样本的特征具有较高的相似性,不同类别样本的特征具有较大的差异性。
基于聚类的区域分割,就是基于图像的灰度、颜色、纹理、形状等特征,用聚类算法把图像分成若干类别或区域,使每个点到聚类中心的均值最小。
a r g min C ( ∑ i = 1 k ∑ z ∈ C i ∥ z − m i ∥ 2 ) arg \min_{C} \Big( \sum^k_{i=1} \sum_{z \in C_i} \lVert z - m_i \rVert ^2 \Big) argCmin(i=1∑kz∈Ci∑∥z−mi∥2)
k 均值(k-means)是一种无监督聚类算法。基于 k 均值聚类算法的区域分割,算法步骤为:
(1)首先从图像中选取 k 个点作为初始的聚类中心;
(2)对所有的像素点,计算像素到每个聚类中心的距离,将像素分类到距离最小的一个聚类中;
(3)根据分类结果计算出新的聚类中心;
(4)如此反复迭代直到聚类中心收敛到稳定值。
OpenCV 提供了函数 cv.kmeans 来实现 k-means 聚类算法。函数 cv.kmeans 不仅可以基于灰度、颜色对图像进行区域分割,也可以基于样本的其它特征如纹理、形状进行聚类。
函数说明:
cv.kmeans(data, K, bestLabels, criteria, attempts, flags[, centers]) → compactness, labels, centersdst
函数 cv.kmeans 实现 k-means 算法寻找聚类中心,并按聚类对输入样本进行分组。
参数说明:
- data:用于聚类的数据,N 维数组,类型为 CV_32F、CV_32FC2
- K:设定的聚类数量
- bestLabels:整数数组,分类标签,每个样本的所属聚类的序号
- criteria:元组 (type, max_iter, epsilon),算法结束标准,最大迭代次数或聚类中心位置精度
- cv2.TERM_CRITERIA_EPS:如果达到指定的精度 epsilon,则停止算法迭代
- cv2.TERM_CRITERIA_MAX_ITER:在指定的迭代次数max_iter之后停止算法
- cv2.TERM_CRITERIA_EPS + cv.TERM_CRITERIA_MAX_ITER:当满足上述任何条件时停止迭代
- attempts:标志,指定使用不同聚类中心初值执行算法的次数
- flags:像素邻域的尺寸,用于计算邻域的阈值,通常取 3,5,7
- cv2. KMEANS_RANDOM_CENTERS:随机产生聚类中心的初值
- cv2. KMEANS_PP_CENTERS:Kmeans++ 中心初始化方法
- cv2. KMEANS_USE_INITIAL_LABELS:第一次计算时使用用户指定的聚类初值,之后的计算则使用随机的或半随机的聚类中心初值
- centers:聚类中心数组,每个聚类中心为一行,可选项
- labels:整数数组,分类标签,每个样本的所属聚类的序号
- centersdst:聚类中心数组
例程 11.27:图像分割之 k 均值聚类
# 11.27 图像分割之 k 均值聚类img = cv2.imread("../images/imgB6.jpg", flags=1) # 读取彩色图像(BGR)dataPixel = np.float32(img.reshape((-1, 3)))criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 200, 0.1) # 终止条件flags = cv2.KMEANS_RANDOM_CENTERS # 起始的中心选择K = 3 # 设置聚类数_, labels, center = cv2.kmeans(dataPixel, K, None, criteria, 10, flags)centerUint = np.uint8(center)classify = centerUint[labels.flatten()] # 将像素标记为聚类中心颜色imgKmean3 = classify.reshape((img.shape)) # 恢复为二维图像K = 4 # 设置聚类数_, labels, center = cv2.kmeans(dataPixel, K, None, criteria, 10, flags)centerUint = np.uint8(center)classify = centerUint[labels.flatten()] # 将像素标记为聚类中心颜色imgKmean4 = classify.reshape((img.shape)) # 恢复为二维图像K = 5 # 设置聚类数_, labels, center = cv2.kmeans(dataPixel, K, None, criteria, 10, flags)centerUint = np.uint8(center)classify = centerUint[labels.flatten()] # 将像素标记为聚类中心颜色imgKmean5 = classify.reshape((img.shape)) # 恢复为二维图像plt.figure(figsize=(9, 7))plt.subplot(221), plt.axis('off'), plt.title("Origin")plt.imshow(cv2.cvtColor(img, cv2.COLOR_BGR2RGB)) # 显示 img1(RGB)plt.subplot(222), plt.axis('off'), plt.title("K-mean (k=3)")plt.imshow(cv2.cvtColor(imgKmean3, cv2.COLOR_BGR2RGB))plt.subplot(223), plt.axis('off'), plt.title("K-mean (k=4)")plt.imshow(cv2.cvtColor(imgKmean4, cv2.COLOR_BGR2RGB))plt.subplot(224), plt.axis('off'), plt.title("K-mean (k=5)")plt.imshow(cv2.cvtColor(imgKmean5, cv2.COLOR_BGR2RGB))plt.tight_layout()plt.show()
【未完待续,请继续关注】
[2025年数学建模美赛 A题分析(4)楼梯使用人数模型]
相关文章:
2025年数学建模美赛 A题分析(3)楼梯使用方向偏好模型
2025年数学建模美赛 A题分析(1)Testing Time: The Constant Wear On Stairs 2025年数学建模美赛 A题分析(2)楼梯磨损分析模型 2025年数学建模美赛 A题分析(3)楼梯使用方向偏好模型 2025年数学建模美赛 A题分…...
Spring整合Mybatis、junit纯注解
如何创建一个Spring项目 错误问题 不知道什么原因,大概是依赖版本不兼容、java版本不对的问题,折磨了好久就是搞不成。 主要原因看pom.xml配置 pom.xml配置 java版本 由于是跟着22年黑马视频做的,java版本换成了jdk-11,用21以…...
HAM-TTS大模型:基于token的零样本文字转语音分层声学建模
HAM-TTS大模型:基于token的零样本文字转语音分层声学建模 吉利自研语音大模型HAM-TTS的全称是:Hierarchical Acoustic Modeling for Token-Based Zero-Shot Text-to-Speech,直译是基于token的零样本文字转语音分层声学建模,是星睿AI大模型体系下的重要一员。顾名思义…...
SpringBoot开发(三)SpringBoot介绍、项目创建、运行
1. SpringBoot 1.1. SpringBoot介绍 Spring Boot给世界程序员带来了春天,越来越多的企业选择使用spring boot来开发他们的软件,因此学习spring boot是科技发展的必然趋势。本门课程将从web最基础的知识点开始讲起,逐步带你攻破spring boot的…...
SQL Server 建立每日自动log备份的维护计划
SQLServer数据库可以使用维护计划完成数据库的自动备份,下面以在SQL Server 2012为例说明具体配置方法。 1.启动SQL Server Management Studio,在【对象资源管理器】窗格中选择数据库实例,然后依次选择【管理】→【维护计划】选项࿰…...
git Bash通过SSH key 登录github的详细步骤
1 问题 通过在windows 终端中的通过git登录github 不再是通过密码登录了,需要本地生成一个密钥,配置到gihub中才能使用 2 步骤 (1)首先配置用户名和邮箱 git config --global user.name "用户名"git config --global…...
软件越跑越慢的原因分析
如果是qt软件,可以用Qt Creator Profiler 作性能监控如果是通过web请求,可以用JMeter监控。 软件运行过程中逐渐变慢的现象,通常是因为系统资源(如 CPU、内存、磁盘 I/O 等)逐渐被消耗或软件中存在性能瓶颈。这个问题…...
C++AVL树(二)详解
文章目录 AVL树旋转单旋右单旋左单旋 双旋左右双旋右左双旋 平衡因子的更新左右双旋右左双旋 判断是不是AVL树时间复杂度分析全部的代码 AVL树 旋转 单旋 单旋是纯粹的一边高 单旋平衡因子是同号 右单旋 a,b,c自身不能发生旋转 并且也不能不向上继续更新(不能停…...
【GoLang】利用validator包实现服务端参数校验时自定义错误信息
在C/S架构下,服务端在校验请求参数时,若出现参数错误,要响应给客户端一个错误消息,通常我们会统一响应“参数错误”。 但是,如果只是一味的提示参数错误,我并不知道具体是哪个参数错了呀!能不能…...
AIP-128 声明友好接口
编号128原文链接AIP-128: Declarative-friendly interfaces状态批准创建日期2020-10-06更新日期2020-10-06 许多服务需要与常见的DevOps工具交互,特别是创建和管理可网络寻址资源(如虚拟机、负载均衡器、数据库实例等)的工具。这些工具采用“…...
【Jave全栈】Java与JavaScript比较
文章目录 前言一、Java1、 历史与背景2、语言特点3、应用场景4、生态系统 二、JavaScript1、历史与背景2、语言特点3、应用场景4、 生态系统 三、相同点四、不同点1、语言类型2、用途3、语法和结构4、性能5、生态系统6、开发模式 前言 Java和JavaScript是两种不同的编程语言&a…...
钉钉群机器人设置——python版本
钉钉群机器人设置——python版本 应用场景钉钉界面操作程序开发效果展示 应用场景 由于工作需要,很多项目执行程序后出现报错信息无法第一时间收到,因此实时预警对于监控程序还是有必要。(仅个人观点) 参考文档及博客:…...
报错:{‘csrf_token‘: [‘The CSRF token is missing.‘]}
flask实现一个简单的注册界面报错 register.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body> <form action"" method"post&…...
STM32新建不同工程的方式
新建工程的方式 1. 安装开发工具 MDK5 / keil52. CMSIS 标准3. 新建工程3.1 寄存器版工程3.2 标准库版工程3.3 HAL/LL库版工程3.4 HAL库、LL库、标准库和寄存器对比3.5 库开发和寄存器的关系 4. STM32CubeMX工具的作用 1. 安装开发工具 MDK5 / keil5 MDK5 由两个部分组成&#…...
Java数据库操作指南:快速上手JDBC【学术会议-2025年数字化教育与信息技术(DEIT 2025】
大会官网:www.ic-deit.org 前言 在现代企业应用中,数据库是数据存储和管理的重要组成部分。Java作为一种广泛使用的编程语言,提供了多种方式与数据库进行交互。本文将介绍 JDBC(Java Database Connectivity)&#x…...
基于Springboot + vue实现的在线装修管理系统
“前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站:人工智能学习网站” 💖学习知识需费心, 📕整理归纳更费神。 🎉源码免费人人喜…...
计算机网络之应用层
本文章目录结构出自于《王道计算机考研 计算机网络_哔哩哔哩_bilibili》 05 应用层 在网上看到其他人做了相关笔记,就不再多余写了,直接参考着学习吧。 王道考研 计算机网络笔记 第六章:应用层_王道考研 应用层 笔记-CSDN博客 DNS&#x…...
SpringMVC框架
第1章 SpringMVC入门 1.1 SpringMVC简介 Spring MVC 全称:Spring Web MVC是 Spring 框架的一部分,专注于实现 Web 应用程序的模型-视图-控制器(Model-View-Controller, MVC)设计模式。它为构建灵活且松耦合的 Web 应用提供了强大的功能&…...
将 OneLake 数据索引到 Elasticsearch - 第 1 部分
作者:来自 Elastic Gustavo Llermaly 学习配置 OneLake,使用 Python 消费数据并在 Elasticsearch 中索引文档,然后运行语义搜索。 OneLake 是一款工具,可让你连接到不同的 Microsoft 数据源,例如 Power BI、Data Activ…...
flutter跨端UI框架简介
flutter跨端UI框架简介 简介 Flutter是由Google开发的开源应用开发框架,主要用于构建高性能、跨平台的移动、Web和桌面应用程序。Flutter使用Dart语言,提供了一套丰富的Widgets,使开发者能够快速创建美观的用户界面。其最大特点是热重载功能…...
Centos 修改历史读录( HISTSIZE)
history命令 -c #清空命令历史 -r #读历史文件附加到历史列表 -w #保存历史列表到指定的历史文件 命令历史相关环境变量 HISTSIZE #命令历史记录的条数 HISTFILE #指定历史文件,默认为~/.bash_history HISTFILESIZE #命令历史文件记录历史的条数 以上变量可以 exp…...
利用ML.NET精准提取人名
在当今信息爆炸的时代,文本处理任务层出不穷,其中人名提取作为基础且重要的工作,广泛应用于信息检索、社交网络分析、客户关系管理等领域。随着人工智能不断进步,ML.NET作为微软推出的开源机器学习框架,为开发者提供了…...
关于deepin上运行Qt开发的程序
国产化替代是将来各单位的主流趋势,探索自行开发应用程序在国产操作系统上正常运行是将来的主要工作之一。本文浅尝gui程序在统信社区版——deepin上遇到的小问题。 使用Qt在deepin上做了一个类似gif的帧动画弹窗,在编译运行时,程序可以正常…...
3.3 Go函数可变参数
可变参数(variadic parameters)是一种允许函数接受任意数量参数的机制。它在函数定义中使用 ...type 来声明参数类型,所有传递的参数会被收集为一个切片,函数内部可以像操作普通切片一样处理这些参数。 package mainimport "…...
Queries Acceleration -Tuning- Tuning Execution 学习笔记
1 Adjustment of RuntimeFilter Wait Time 1.1 Case: Too Short RuntimeFilter Wait Time 1.1.1 没有看懂,好像是等待时间过小也会导致性能下降 1.1.2 set runtime_filter_wait_time_ms = 3000; 2 Data Skew Handling 2.1 Case 1: Bucket Data Skew Leading to Suboptimal …...
VS C++ 配置OPENCV环境
VS C 配置OPENCV环境 1.下载opencv2.安装环境3.opencv环境4.VS配置opencv环境5.EXE执行文件路径的环境lib和dll需要根据是debug还是release环境来区分使用哪个 6.Windows环境 1.下载opencv 链接: link 2.安装环境 双击运行即可 3.opencv环境 include文件路径:opencv\build\…...
Midscene.js:重新定义UI自动化的新时代工具
前言 Midscene.js 是一个创新的、面向开发者的 UI 自动化解决方案,并通过人工智能技术简化自动化脚本的编写与维护。 它提供了三种核心方法——交互(.ai, .aiAction)、提取(.aiQuery)和断言(.aiAssert&am…...
记录让cursor帮我给ruoyi-vue后台管理项目整合mybatis-plus
自己整合过程中会出现 work.web.exception.GlobalExceptionHandler :100 | 请求地址/admin/device/install/detail/1,发生未知异常. org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.fire.mapper.DeviceInstallMapper.selectById at o…...
uniapp中h5的微应用解决办法
考虑过用wujie,参考官网Vue组件封装 | 无界的教程,虽然没报错,但是子应用的vue节点根本没挂载上,不知道什么原因,如下图所示 后面采用iframe方式将子应用导入进来: 父应用: <template>&…...
再尝Semantic Kernel,planning特性很香
背景 书接上回《浅尝semantic kernel》; 上次只试了试SK框架的插件特性,这次试了下编排的特性,也就是把多个本地任务按顺序按逻辑执行,没想到效果也是出奇的好! 关键步骤 架构层面的代码本篇不在赘述,这…...
华为OD机试真题---战场索敌
华为OD机试真题“战场索敌”是一道考察算法和数据结构应用能力的题目。以下是对该题目的详细解析: 一、题目描述 有一个大小是NM的战场地图,被墙壁’#‘分隔成大小不同的区域。上下左右四个方向相邻的空地’.‘属于同一个区域,只有空地上可…...
Case逢无意难休——深度解析JAVA中case穿透问题
Case逢无意难休——深度解析JAVA中case穿透问题~ 不作溢美之词,不作浮夸文章,此文与功名进取毫不相关也!与大家共勉!! 更多文章:个人主页 系列文章:JAVA专栏 欢迎各位大佬来访哦~互三必回&#…...
HTML入门知识
目录 一、什么是HTML 二、HTML文档的语法规则 三、HTML基本标签 四、HTML注释与特殊字符 1、注释 2、特殊字符 五、HTML属性 六、常见误区与建议 一、什么是HTML HTML,全称Hyper Text Markup Language,即超文本标记语言,是一种用于创…...
idea maven本地有jar包,但还要从远程下载
idea 中,java 工程执行 maven reimport,报jar报无法下载。 我奇了个怪,我明明在本地仓库有啊,你非得从远程下载? 我从供应商那里拿来的,远程当然没有了。 这太奇葩了吧,折腾好久不行。 后来…...
利用大语言模型(LLM)增强软件测试自动化的最佳实践
在当今迅速变化的科技时代,软件测试行业面临着越来越高的效率和质量要求。作为测试专家,我们都知道,传统的测试方法往往无法满足快速迭代和高效交付的需求。在这种背景下,自动化测试逐渐成为解决方案的一部分。而大语言模型&#…...
联想电脑怎么设置u盘启动_联想电脑设置u盘启动方法(支持新旧机型)
有很多网友问联想电脑怎么设置u盘启动,联想电脑设置u盘启动的方法有两种,一是通过bios进行设置。二是通过快捷方式启动进入u盘启动。但需要注意有两种引导模式是,一种是uefi引导,一种是传统的leacy引导,所以需要注意制…...
Browser-Use WebUI项目启动指南
摘要 此前发布《Browser - Use WebUI 使用体验》博文后,鉴于部分朋友运行时出现问题,重新运行并整理相关内容。本文详细记录 Web UI 项目启动全过程,涵盖 Python 3.11、Chrome 浏览器及 API Keys 等环境要求,Python 环境检查、依赖…...
期权帮|如何利用股指期货进行对冲套利?
锦鲤三三每日分享期权知识,帮助期权新手及时有效地掌握即市趋势与新资讯! 如何利用股指期货进行对冲套利? 对冲就是通过股指期货来平衡投资组合的风险。它分为正向与反向两种策略: (1)正向对冲ÿ…...
基于springboot的酒店客房管理系统----数据库课程设计
目录 1.需求分析 1.1用例模型 1.1.1用例图 1.1.2用例描述 1.2过程模型 1.2.1数据流 1.2.2数据字典 1.3 安全性和完整性需求 1.4?数据字典 1.4.1数据项 1.4.2数据结构 1.4.3数据流 1.4.4数据存储 1.4.5数据过程 2概念结构设计 2.1 ER模型 2.1.1 实体及属性 2…...
SPDK vhost介绍
目录 1. vhost技术的背景与动机Virtio 介绍virtio-blk数据路径为例 2. vhost技术的核心原理2.1 vhost-kernel2.2 vhost-user举例 2.3 SPDK vhostvhost的优势IO请求处理数据传输控制链路调整 3. SPDK vhost的实现与配置3.1 环境准备3.2 启动SPDK vhost服务3.3 创建虚拟块设备3.4…...
理解C++运行时类型识别符: typeid
1. 格式 typeid (type-id) typeid (expression) typeid 运算符允许在运行时确定对象的类型。 typeid 的结果是一个 const type_info&。该值是对 type_info 对象的引用,该对象表示 type-id 或表达式的类型,具体取决于使用哪种形式的 typeid。有关…...
Fullcalendar @fullcalendar/react 样式错乱丢失问题和导致页面卡顿崩溃问题
问题描述: 我使用 fullcalendar的react版本时,出现了一个诡异的问题,当我切换到 一个iframe页面时(整个页面是一个iframe嵌入的),再切换回来日历的样式丢失了!不仅丢失了样式还导致页面崩溃了&…...
C++从入门到实战(二)C++命名空间
C从入门到实战(二)C命名空间 前言一、C的第一个程序二、命名空间(一)为什么需要命名空间(二)定义命名空间(三)使用命名空间1.通过命名空间限定符:2.使用 using 声明&…...
Spring 定时任务:@Scheduled 注解四大参数解析
本文主要介绍了在 Spring 框架中使用Scheduled注解实现定时任务的方法,重点讲解了fixedRate、fixedDelay、cron和initialDelay这四个参数的用法,并通过实例代码进行了详细说明。 1. fixedRate 参数 参数含义 fixedRate指定任务固定时间间隔执行。如设…...
计算机网络之物理层
本文章目录结构出自于《王道计算机考研 计算机网络_哔哩哔哩_bilibili》 01 物理层 在网上看到其他人做了详细的笔记,就不再多余写了,直接参考着学习吧。 1 详解物理层-通信基础【王道计算机网络笔记】_wx63088f6683f8f的技术博客_51CTO博客 2 详解物…...
Oracle 数据库常见字段类型大全及详细解析
在工作期间会遇到数据库建表的业务,经常会使用复制粘帖等操作,而不清楚数据库的字段类型。本文记录了 Oracle 数据库常见字段类型,根据不同的数据需求,可以选择不同的字段类型来存储数据。 文章目录 一、字符类型(Char…...
总线、UART、IIC、SPI
一图流 总线 概念 连接多个部件的信息传输线,是各部件共享的传输介质 类型 片内总线:连接处理器内核和外设的总线,在芯片内部 片外总线:连接芯片和其他芯片或者模块的总线 总线的通信 总线通信的方式 串行通信 数据按位顺序传…...
纯css实现div宽度可调整
<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>纯css实现div尺寸可调整</title><style…...
Arduino大师练成手册 -- 读取DHT11
要在 Arduino 上控制 DHT11 温湿度传感器,你可以按照以下步骤进行: 硬件连接: 将 DHT11 的 VCC 引脚连接到 Arduino 的 5V 引脚。 将 DHT11 的 GND 引脚连接到 Arduino 的 GND 引脚。 将 DHT11 的 DATA 引脚连接到 Arduino 的数字引脚&am…...
GS论文阅读--GeoTexDensifier
前言 本文是一个关于高斯致密化策略对高斯地图进行优化,他主要关注了几何结构和纹理信息。我最近对于高斯点的分布比较感兴趣,因为高斯点的分布决定了之后重建质量的好坏,初始化高斯很重要,但之后的维护需要致密化与修建策略&…...