2023深圳杯(东三省)数学建模ABC题思路及代码
大家好呀,比赛开赛后我一直在去写各个题,深圳杯的难度还是比较大的,在这里给大家带来初步的选题建议及思路。
本次深圳杯小白推荐选择A题,数据分析类题目无论怎样都能完成论文,内容也会比较丰富。学过嵌入信息的可以选择b,数理基础比较扎实,会模拟仿真的可以选择C,D只建议有医学专业知识的人选择。
我会先做A题,预计28号完成完整论文,之后我会做BC其中一道。后续还会持续更新哈,图文版讲解得比较简陋,详细的视频版讲解请移步:
2023深圳杯(东北三省)数学建模选题建议及初步思路_哔哩哔哩_bilibili
A题影响城市居民身体健康的因素分析:
请你们团队研究解决下面问题:
问题1 参考附件A3,分析附件A2中居民的饮食习惯的合理性,并说明存在的主要问题。
这一问主要是统计分析,针对于附件3的8个准则中的标准,对应寻找相应的附件2中的数据,之后进行统计汇总以及图表可视化即可。
问题2 分析居民的生活习惯和饮食习惯是否与年龄、性别、婚姻状况、文化程度、职业等因素相关。
做相关性分析即可,绘制热力图给出相关系数大小。重点是用什么对于数据对生活习惯进行表征,如果按照问题3来说,那么生活习惯与吸烟、饮酒、饮食习惯、工作性质、运动等因素是并列关系,没有包含关系,但是问卷调查数据中,除了其他因素,没有相应的生活习惯数据,因此,还是通过吸烟饮酒运动去表征生活习惯即可。
问题3 根据附件A2中的数据,深入分析常见慢性病(如高血压、糖尿病等)与吸烟、饮酒、饮食习惯、生活习惯、工作性质、运动等因素的关系以及相关程度。
可以做差异性分析,也就是说患不患病在这些因素上是否存在显著差异;也可以做一样的相关性分析。
问题4 依据附件A2中居民的具体情况,对居民进行合理分类,并针对各类人群提出有利于身体健康的膳食、运动等方面的合理建议。
可以做简单分类,例如直接进行年龄划分;也可以针对于一个因素,例如吸烟频率进行聚类划分。
B题 电子资源版权保护问题
隐写术一般被认为是信息隐藏学的一个重要分支,它专门研究如何隐藏实际存在的信息。隐写术有悠久的历史,部分案例甚至可追溯到公元前数百年。随着计算机和互联网技术的高速发展,近代隐写技术的研究被认为大约起始于20世纪90年代。因为隐写技术能将特定信息嵌入信息载体且不易被察觉,所以它可被广泛地应用于著作权保护、数据附加等领域。
问题1 针对附件1的图片P,建立生成嵌入信息深圳杯数学建模挑战赛的图片SP的数学模型,使得图片SP在人的视觉上尽可能与原图P相近。设计并实现生成图片SP的算法,将生成SP源代码和结果图片SP置于参赛作品的附录A中;给出从图片SP提取著作权信息使用的源代码并置于参赛作品的附录B中。
主要就是嵌入信息给一个图片。
给大家看一下我目前用到的一些代码吧,注意,只是初步代码,还没有完整实现:
function stego_image = embedTextToImage(original_image, text_to_embed, alpha)% 嵌入信息% 输入:% original_image: 原始图像% text_to_embed: 要嵌入的文本信息(字符串)% alpha: 嵌入强度(调节参数,一般取值在0.1-1之间,越大越明显)% 输出:% stego_image: 嵌入了文本信息的图像
% 读取原始图像
original_image = imread('image.jpg');% 要嵌入的文本信息
text_to_embed = '深圳杯数学建模挑战赛';% 嵌入强度(根据需要调整)
alpha = 0.1;% 嵌入信息并得到嵌入后的图像
stego_image = embedTextToImage(original_image, text_to_embed, alpha);% 保存嵌入后的图像(如果需要)
imwrite(stego_image, 'path_to_save_stego_image.jpg');% 将RGB图像转换为灰度图像gray_image = rgb2gray(original_image);[M, N] = size(gray_image);% 获取文本信息的二进制编码binary_text = reshape(dec2bin(text_to_embed, 8).' - '0', 1, []);% 确定嵌入位置,这里简单地按照zigzag顺序选取zigzag_indices = zigzagOrder(M, N);num_bits_to_embed = numel(binary_text);% 嵌入信息stego_image = double(gray_image);for i = 1:num_bits_to_embed% 选择当前位置current_index = zigzag_indices(i);[row, col] = ind2sub([M, N], current_index);% 获得DCT系数block = stego_image(row:row+7, col:col+7);dct_block = dct2(block);% 判断当前位应该嵌入0还是1bit_to_embed = str2double(binary_text(i));% 根据嵌入强度调节系数alpha_i = alpha * (max(dct_block(:)) - min(dct_block(:)));% 嵌入信息if bit_to_embed == 0dct_block(2, 1) = dct_block(2, 1) - alpha_i;elsedct_block(2, 1) = dct_block(2, 1) + alpha_i;
注意,以上只是部分代码,完整代码见文末。
我做完A再看看要继续做b还是c吧。
C题 无人机协同避障航迹规划
平面上A、B两个无人机站分别位于半径为500 m的障碍圆两边直径的延长线上,A站距离圆心1 km,B站距离圆心3.5 km。两架无人机分别从A、B两站同时出发,以恒定速率10 m/s飞向B站和A站执行任务。飞行过程中两架无人机必须避开障碍圆、并且不得碰面(即两架无人机的连线必须保持与障碍圆处于相交状态)。无人机的转弯半径不小于30 m。请建立数学模型,解决以下问题:
问题1 要求两架无人机中第一个到达目的站点的用时最少,给出两架无人机的飞行航迹方案。
题面不用解释了,大家应该都能看懂,给大家看一下我目前写的代码吧,注意,只是初步代码,还没有完整实现:
function main()% 障碍圆参数obstacle_center = [0, 0]; % 障碍圆的圆心坐标obstacle_radius = 500; % 障碍圆的半径% 无人机A和B的初始位置A_start = [1000, 0]; % 无人机A的初始位置B_start = [3500, 0]; % 无人机B的初始位置% 无人机的速度V = 10; % m/s% 定义优化问题options = optimoptions('fmincon', 'Display', 'off', 'Algorithm', 'interior-point');x0 = [0, 0]; % 初始猜测的无人机A和B的角度lb = [0, 0]; % 无人机A和B的角度下界ub = [2*pi, 2*pi]; % 无人机A和B的角度上界[best_angles, ~] = fmincon(@(x) objective_function(x, A_start, B_start, V), x0, [], [], [], [], lb, ub, @(x) constraints(x, A_start, B_start, V, obstacle_center, obstacle_radius), options); % 最佳角度best_angle_A = best_angles(1);best_angle_B = best_angles(2);disp(['无人机A的最佳角度:', num2str(best_angle_A)]);disp(['无人机B的最佳角度:', num2str(best_angle_B)]);
end% 目标函数:最小化无人机A到达目的地的时间
function time = objective_function(angles, A_start, B_start, V)theta_A = angles(1);theta_B = angles(2);time_A = norm(A_start - B_start) / V;time_B = norm(B_start - A_start + [cos(theta_A), sin(theta_A)] * V * time_A) / V;time = max(time_A, time_B);
end% 约束条件:避开障碍圆并不碰面
function [c, ceq] = constraints(angles, A_start
注意,以上只是部分代码,完整代码见文末。
我做完A再看看要继续做b还是c吧。
D题 基于机理的致伤工具推断
题目看得我有点生理不适,此外我也不擅长这种题目,我就不做了,有医学专业知识的队伍可以尝试下。。
OK,总体而言还是那句话:本次深圳杯小白推荐选择A题,数据分析类题目无论怎样都能完成论文,内容也会比较丰富。学过嵌入信息的可以选择b,数理基础比较扎实,会模拟仿真的可以选择C,D只建议有医学专业知识的人选择。
我会先做A题,预计28号完成完整论文,之后我会做BC其中一道。
以上只是比较简略的图文版讲解,视频版讲解以及后续完整成品的预定请点击下方我的个人卡片查看↓:
相关文章:
2023深圳杯(东三省)数学建模ABC题思路及代码
大家好呀,比赛开赛后我一直在去写各个题,深圳杯的难度还是比较大的,在这里给大家带来初步的选题建议及思路。 本次深圳杯小白推荐选择A题,数据分析类题目无论怎样都能完成论文,内容也会比较丰富。学过嵌入信息的可以选…...
Set集合类详解(附加思维导图)
目录 一、Set集合思维导图 二、set集合类常用方法 2.1、HashSet集合常用方法 2.2、TreeSet集合的使用 三、HashSet、LinkedHashSet、TreeSet的使用场景 四、list和set集合的区别 一、Set集合思维导图 二、set集合类常用方法 2.1、HashSet集合常用方法 ①:add…...
【vue3】vue3接收props以及emit的用法
技术:vue3.2.40 UI框架:arco-design 2.44.7 css技术:less 4.1.3 实现:子组件接收props以及通过emit方法传值父组件 vue3使用的组合式API,我这里使用的是defineComponent 1.父页面调用子组件 <template><d…...

【Lua学习笔记】Lua入门
文章目录 Lua变量数据类型变量声明其他表示 Lua语法判断逻辑判断(Lua很特殊,这个比较重要)短路判断 ifif else 循环whileforrepeat 迭代器泛型for迭代器无状态迭代器多状态的迭代器 Lua函数select方法 数组字符索引_G (不是教程&a…...

LLM Data Pipelines: 解析大语言模型训练数据集处理的复杂流程
编者按:在训练大语言模型的过程中,构建高质量的训练数据集是非常关键的一步,但关于构建大模型训练所需数据集的通用数据处理流程(Data pipelines)的相关资料极为稀少。 本文主要介绍了基于Common Crawl数据集的数据处理流程。首先,文章概述了…...

如何使用postman判断返回结果是否正确
针对一个接口,我们在知道参数以及参数对应的结果时,可以通过postman进行判断,验证返回数据是否与预期数据相等。这样可以使我们的接口测试更加的方便简洁。 1、准备数据。 postman可以接受的文件格式如图所示,一般来说可以将我们…...
A General framework for Prompt
你已经知道了 Prompt 可以具有一些通用的结构,比如一个简单的Prompt 结构: 能否帮我为我的课程 TAI自动化,设计一套数字营销策略? Action 我们的目标是激发目标受众一一那些希望利用人工智能简化工作流的人们的兴趣,并提高课程的知名度。 G…...
使用python将PDF转word
实现功能,将程序所在当前路径下的所有PDF文件转化为word import os from pdf2docx import Converter# 获取当前路径 current_path os.getcwd()# 遍历当前路径下的所有文件和文件夹 for file_name in os.listdir(current_path):# 检查文件是否为 PDF 文件if file_n…...

CMU 15-445 -- Logging Schemes - 17
CMU 15-445 -- Logging Schemes - 17 引言IndexFailure ClassificationTransaction FailuresSystem FailuresStorage Media Failures Buffer Pool PoliciesShadow Paging: No-Steal ForceWrite-Ahead Log (WAL): Steal No-ForceLogging SchemesCheckpoints小结 引言 本系列为…...
逻辑回归分析实战(根据鸢尾花的性质预测鸢尾花类别)
紧接着上过一个线性回归模型(一元线性回归模型实战) 一元线性回归模型和逻辑回归模型是统计学中常见的两种回归模型,它们有以下几点不同之处: 1. 目标变量类型:一元线性回归模型适用于连续型目标变量,即预测…...

【每日一题】2050. 并行课程 III
【每日一题】2050. 并行课程 III 2050. 并行课程 III题目描述解题思路 2050. 并行课程 III 题目描述 给你一个整数 n ,表示有 n 节课,课程编号从 1 到 n 。同时给你一个二维整数数组 relations ,其中 relations[j] [prevCoursej, nextCour…...
【kubernetes系列】kubernetes之使用kubeadm搭建高可用集群
概述 目前来说,kubernetes集群搭建的方式很多,选择一个稳定的适合自己的很重要。目前使用kubeadm方式搭建k8s集群还是很常见的,使用kubeadm搭建可以很简单差不多两条命令就行,也可以稍微复杂一点做一些基础优化,本文将…...
SpringBoot 快速实现 IP 地址解析
在spring boot 项目中获取请求的ip与详细地址,很多网站app 中都已经新增了ip 地址显示,大家也可以用在自己的开发中,显得更高级。 引入 如果使用本地ip 解析的话,我们将会借助ip2region,该项目维护了一份较为详细的本…...

【云原生】Docker镜像的创建,Dockerfile
一、Docker镜像的创建 创建镜像有三种方法,分别为【基于已有镜像创建】、【基于本地模板创建】以及【基于Dockerfile创建】。 1.基于现有镜像创建 (1)首先启动一个镜像,在容器里做修改docker run -it --name web centos:7 /bin/…...

了解Unity编辑器之组件篇Event(七)
Event:用于在对象之间进行通信和交互的机制。它可以帮助你实现触发和响应特定动作或状态的逻辑一、Event System:用于处理 UI 事件的系统组件 First Selected 属性:定义了在场景加载或 UI 激活时,哪个 UI 元素将成为首选的选中元素…...
bash: 睡觉的冒号;是不是两个点?
文章目录 简介躺着的冒号是两个点正常冒号总结简介 在bash里冒号和躺着的冒号的用法不一样一定要注意别用错。 躺着的冒号是两个点 难道正常的不是两个点)的作用: A sequence expression takes the form {x…y[…incr]}, where x and y are either integers or single cha…...

揭秘爱数AnyShare认知助手:大模型深度产品化,深化人与机器的“分工协作”
文 | 智能相对论 作者 | 叶远风 大模型竞逐日趋白热化,百模大战热闹非凡。 但是,对产业主体或者普通看客而言,大模型究竟如何改变一线业务、实现工作方式的变革甚至组织转型,很多人并没有具象化的认知。 技术厉害、产品牛&…...
ad+硬件每日学习十个知识点(10)23.7.21
文章目录 1.verilog新建文件夹结构2.怎么在quartus2里新建工程?3.如果在quartus2新建工程后,发现器件选择错误,怎么修改?4.在quartus2新建工程后,怎么新建文件编写程序?4.在quartus2新建工程后,怎么添加已有文件编写程序?5.quartus2怎么调节字体?6.刚下载完quartus2的…...

RCU 使用及机制源码的一些分析
》内核新视界文章汇总《 文章目录 1 介绍2 使用方法2.1 经典 RCU2.2 不可抢占RCU2.3 加速版不可抢占RCU2.4 链表操作的RCU版本2.5 slab 缓存支持RCU 3 源码与实现机制的简单分析3.1 数据结构3.2 不可抢占RCU3.3 加速版不可抢占RCU3.4 可抢占RCU3.5 报告禁止状态3.6 宽限期的开…...

【第二套】Java面试题
第二套: 一、JavaScript前端开发 1、下列的代码输出什么? var y 1; if(function f(){}){y typeof f; } console.log(y);正确的答案应该是 1undefined。 JavaScript中if语句求值其实使用eval函数,eval(function f(){}) 返回 function f()…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...

C# 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
《C++ 模板》
目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板,就像一个模具,里面可以将不同类型的材料做成一个形状,其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式:templa…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...

三分算法与DeepSeek辅助证明是单峰函数
前置 单峰函数有唯一的最大值,最大值左侧的数值严格单调递增,最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值,最小值左侧的数值严格单调递减,最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...

零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程
STM32F1 本教程使用零知标准板(STM32F103RBT6)通过I2C驱动ICM20948九轴传感器,实现姿态解算,并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化,适合嵌入式及物联网开发者。在基础驱动上新增…...

通过MicroSip配置自己的freeswitch服务器进行调试记录
之前用docker安装的freeswitch的,启动是正常的, 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...