想要获得建模大赛的国奖,大赛中的编程手要具备什么条件?

前言

参加数学建模国赛,作为编程手究竟需要达到什么水平?工欲善其事必先利其器,那肯定是要把编程语言熟练应用,至少得有一种擅长的,数模比赛必备工具通常包含python、 matlab、 lingo、 spss等,今天学长就来教小伙伴们赛前编程手该如果高效学习?

高频出现的编程要求

(1)数据处理能力,包括对数据清洗、整理、插值拟合以及统计分析、数据挖掘等。在数据量比较大的赛题中,对数据处理能力要求比较高,如2012年高教杯全国大学生赛A题“葡萄酒的评价”、2013年全国研究生赛E题“中等收人定位与人口度量模型研究"都是这种类型的题,而且数据量大的赛题在历届竞赛中出现的频次较高,应高度重视。

(2)多媒体信息处理能力,包括数字信号、图片信息、视频信息的处理等。这在最近几年特别是全国研究生建模竞赛中多次出现,如2017年D题“基于监控视频的前景目标提取”、2019年A题“无线智能传播模型”(涉及通信信号处理)和C题“视觉情报信息分析”(图像视频信息处理),2013年全国大学生赛A题“车道被占用对城市道路通行能力的影响”(视频处理)等。在备赛过程中,应掌握基本的数字信号处理、数字图像处理等算法和原理,当然这要求较多的专业知识,有一定难度。(这类要求较高,若是相关专业方向的编程手可以仔细准备)。

(3)优化算法编程实现能力,包括线性规划、非线性规划、多目标规划等以及常用智能优化算法的实现,重点熟练使用MATLAB或Lingo的优化实现。优化类问题是历年竞赛中出现频次最高的一类赛题,应当高度重视。

(4)数值计算能力,重点在微分方程类的赛题中应用。比如2014年全国大学生赛A题“嫦娥三号软着陆轨道设计与控制策略”、2012年全国研究生赛B题“基于卫星无源探测的空间飞行器主动段轨道估计与误差分析”等。

(5)软件工具箱的使用。MATLAB有各式各样的工具箱,包括神经网络工具箱、Simulink工具箱(控制类仿真等)、模糊工具箱、数字图像处理工具箱和金融工具箱等。

(6)数据图形可视化呈现,即用图表和图形展现数据。计算结果的可视化呈现,绘制精准、美观的图形,将使得竞赛论文图文并茂,实现加分。

常用的编程软件

1、统计类

SPSS:界面简洁,很容易上手,做葡萄酒性能指标评价题时,很多国一文章采用的软件

SAS:比SPSS稍微复杂点,大多数情况下可以用SPSS.

2、计算类

Matlab:常用的仿真软件,大多工科生都非常熟悉的软件,而且对大多数题而言都很适用

Python:大数据分析的题目很实用

Mathematica:科学计算软件,很好地结合了数值和符号计算引擎、图形系统、编程语言、文本系统、和与其他应用程序的高级连接。

Lingo:非常适合计算线性规划类的问题,很方便

3、文档类

数模最后呈现在评委面前的是论文,一个好的排版非常重要。论文里需要展现的还有公式、插图,使用相应的软件会提升论文的美感。

文字:Latex 排版的效果很好,word虽然方便,但美观性稍逊于Latex,推荐使用Latex。

公式: MathType,功能强大使用方便的公式编辑器,不推荐使用word自带的公式编辑器。

作图:很多软件会自带画图功能,运算结果图不推荐使用EXCEL作图,画折线图可以用Matlab,很简短的程序就能得到非常美观的图片了。流程图、场景图等示意图对于更清晰地说明问题很有帮助,推荐使用Visio,功能很全。

Matlab还是Python

刚开始参与数学建模的同学,往往会面临一个问题:做数模离不开编程,而matlab和python都挺适合做数模的,究竟是学matlab还是python?

Matlab

matlab是收费软件,强大的功能带来高效

matlab是收费的,贵就贵在强大的内建函数和各种工具箱。

这背后,是顶尖的数学家、程序员和专业领域专家几十年的心血,当然功能强大;研发成本巨大,自然卖得贵。

强大的功能带来的是高效。数学建模竞赛只有三四天的时间,所以效率很重要。有些人在参加数学建模竞赛用python或其他语言编程,当别人使用matlab现成的工具箱几秒钟出答案时,他们还在遥遥无期地debug。

matlab的高效体现在以下几点:

1、自带齐全的工具包。安装matlab时就已经装好了工具箱。而用python的话,还需自行安装和设置各种工具包,中间可能遇到各种出错

2、使用工具箱简单操作就能得到结果,而用python自己写程序可能要大半天

3、可解决专业性问题。例如信号处理工具箱包含专业领域内的算法,这些算法都是顶尖专家写出来的,一般人根本写不出来的。

Python:

python是免费开源语言,共享社区带来的是便捷

免费开源,意味着共享,人人都可以用,并开源自己写的程序。因此不断地有人参与进来,分享自己用python写的代码、解决的问题。

共享带来的是便捷,在python这个圈子内,任何问题你都能找到答案。

python的便捷体现在以下几点:

1、源源不断的新idea,而matlab则是固定的抽象工具。GitHub上分享的开源代码有很多python的,但matlab编写的就少很多

2、入门难度低,在各种网站上python的入门课程、经验贴很多,适合0基础小白入门编程

3、交流性强,懂python的人比懂matlab的人要多,交流起来更方便

近两年就有竞赛题目是关于新冠疫情的,因为数学建模是解决实际问题,有时会紧跟时事。而matlab虽然有解决病毒传播问题的工具,但相关的经验贴较少;而网上用python解决新冠病毒传播的帖子更多一些。

做数学建模,该学哪个呢?

前面说了两者的特点,那么究竟该学哪种呢?

我的建议是两者都学。先学matlab,有余力的情况下再学python; 最好队伍中一个人懂matlab另一个人会python。

原因有以下几点:

1、数学建模本质是用数学来解决问题,而matlab就是个商用数学软件

2、近些年数模竞赛难度明显增大,强大的工具包不可或缺

3、小白的编程能力有限,先学python的话,一开始参加竞赛期时往往写不出来程序,打击自信

4、掌握matlab后再学python,解决问题时,可以读懂python的帖子再用matlab实现,既用到了python的便捷又用到了matlab的强大

最主要的原因,还是前文所说的matlab的高效。这一点在数模竞赛中极其重要。

而python本身能够查阅的资料较多,且不仅可以用于数学建模,也可以用在Web、自动化测试、软件等等方面。在做数模的过程中学会的python,又其他比赛或项目中用到自然是最好的。


这里给大家分享一份Python全套学习资料,包括学习路线、软件、源码、视频、面试题等等,都是我自己学习时整理的,希望可以对正在学习或者想要学习Python的朋友有帮助!

零基础Python学习资源介绍

👉Python学习路线汇总👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取哈)

在这里插入图片描述

👉入门学习视频👈

👉实战案例👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

在这里插入图片描述

👉100道Python练习题👈

检查学习结果。

👉面试刷题👈

在这里插入图片描述

在这里插入图片描述

资料领取

这份完整版的Python全套学习资料已经上传网盘,朋友们如果需要可以点击下方微信卡片免费领取 ↓↓↓【保证100%免费】
或者

点此链接】领取

  • 14
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值