Python 完全可以满足数学建模的需要。

Python 是数学建模的最佳选择之一,而且在其它工作中也无所不能。

『Python 数学建模 @ Youcans』带你从数模小白成为国赛达人。


1. 数学建模新手入门

『Python 数学建模 @ Youcans』 系列 是专门为学习数学建模、准备数模竞赛的小白准备的系列教程。

【Python数学建模-01.新手必读】 主要讨论小白刚刚接触数学建模的几个困惑:

  • 学习数学建模难不难?应该怎么学?
  • 学习数学建模选择什么计算机语言最好?我要学 Matlab 吗?
  • 用 Python 能做数学建模吗?
  • 用 Python 做数学建模好不好用,好不好学?

欢迎关注 『Python 数学建模 @ Youcans』 系列,持续更新

Python数学建模-01.新手必读

Python数学建模-02.数据导入

Python数模笔记-PuLP库

Python数模笔记-StatsModels统计回归

Python数模笔记-Sklearn

Python数模笔记-NetworkX

Python数模笔记-模拟退火算法


2. 学习数学建模难不难?应该怎么学?

进入大学以后,很多同学都会听老师和师兄师姐说起“数学建模”、“数模竞赛”,充满兴趣的同时也会有很多困惑:数学建模到底是什么?要不要学,好不好学,怎么学?

“数学建模”是用数学模型的方法,分析和解决实际应用问题的方法。

中学数学的应用题,就是典型的数学建模问题:基于简化的应用问题,给出一些已知条件,需要求解一些问题。应用题的解题过程,通常是先分析问题,判断用什么方法解题,然后根据已知条件一步步推导、计算,最后得出求解问题的答案。这就是典型的数学建模的方法和步骤,”数学建模“就是加强版的应用题。

大学里经常说的“数学建模”往往与”数模竞赛“联系在一起,这时又特指通过计算机程序来求解问题。这是因为,既然”数学建模“是加强版的应用题,”加强“体现在问题的求解计算过程比中学数学复杂,如果不通过计算机编程往往难以快速高效地计算出答案。另一方面,这也是为了鼓励大家学习使用计算机,学习通过计算机编程解决问题。

”数学建模“的学习过程并不困难,并不一定需要很好的数学基础,也不需要有很高的计算机编程水平——数学基础好,编程基础强,学习数学建模肯定会更加容易。但是,数学成绩不好,计算机小白,也完全可以学习数学建模、学好数学建模,并会在学习过程中锻炼数理思维逻辑,提高计算机编程水平——这才是最重要的收获。

小白要学习数学建模,建议:

  • 首先听一两节数模培训的公开课或分享会,B站上有很多,大概明白数学建模是怎么回事就行。
  • 其次要选择一门计算机程序语言进行学习,掌握基本的编程操作。
  • 然后要系统学习各种类型的数学模型和算法,这是比较漫长的学习过程。
  • 最后是实战练习,大学的数模协会都会安排练习赛、校内赛之类的训练和竞赛。

3. Python 能不能满足数学建模的需要?

答案很明确:Python 完全可以满足数学建模的需要

首先,几乎所有的计算机语言,都可以满足常用的数学建模问题的需要。例如 C、Python、C++、C#、VB、R、Go,当然还有数模竞赛中最流行的 Matlab,解决各种数学建模问题都毫无问题。

需要注意的是,数模学习过程中经常听到的 Lingo、SPSS,严格地说并不是计算机语言,只是解决某些类型问题的专用软件,并不适用于其它类型的问题。

如果你学过其中一种计算机语言,而且(1)该计算机语言已经达到非常熟练的水平,(2)以提高编程水平为目的,而不仅是为了参加数模竞赛,那么你也可以使用学过的计算机语言学习数学建模和参赛。否则,就应该选择 Matlab 语言或者 Python 语言,其原因嘛,看完本文就清楚了。


4. Python 数学建模好不好用?

答案也很明确:Python 用于数学建模,很好用

换个角度谈这个问题,就是学习数学建模、参加数模竞赛最好要选择什么计算机语言?答案就是 Matlab 语言或者 Python 语言。

为什么这么说呢?因为数学建模涉及的问题类型很多,算法更加繁多。对于普通本科学生来说,如果学习各种算法以后都要自己从零开始编程,对本科学生是非常非常困难,几乎不可能实现的。实际上,并不是真的要让同学们自己按照算法步骤从头编程,能够清楚每一类问题有哪些常用算法,学会使用现有的算法程序就可以了。

现有的算法程序从哪里来呢?一是来自计算机语言的各种算法工具包,以数学建模所涉及的算法来说,Matlab 语言或者 Python 语言的工具包都非常丰富,程序质量高、接口规范、文档和例程比较完整。二是来自先前的老师和同学积累的算法例程,但要系统全面地搜集这种算法例程也很困难,而且搜集到的例程质量参差不齐、接口五花八门,新手要进行消化吸收的难度也很大。

为什么选择 Python 语言,而不是选择 Matlab 语言呢?首先,Matlab语言来做数学建模完全可以,也是很好的选择。但是,学习任何一门计算机语言都是需要时间和精力的,我们学习编程语言用于数学建模,但最好并不只是为了数学建模,而是做其它工作时也能用。

从这个角度来说,Python 语言的优势就非常明显了。Matlab 是商业数学软件,主要应用于与数值计算相关的科研领域,在编程语言中排名 19、占比 1%。Python 语言是一种通用的高级编程语言,简单易学、免费开源,应用领域几乎无所不能,是最流行的编程语言,占比 12%。总结来说,在计算研究领域 Matlab 语言的性能更强,但在其它领域 Python 语言则是王者。


5. Python 数学建模好不好学?

综合来看,Python 比较容易学,也值得学。

大神觉得简单的问题,小白总会感到困难的。比较而言,Python 是比较简单、易学易用的程序语言,比 C 语言容易学、好掌握。不过,零基础学习 Matlab 会更容易上手,要精通也不容易;而 Python 大约还是需要一个月的基础学习,才能较好地学习和使用数学建模的算法。

既然这样,为什么大家一说起数学建模就会想到 Matlab 语言,数模培训中也都在用 Matlab 语言呢?首先,Matlab 语言在数学建模中也是很好的选择;其次,十几年前开始搞数模竞赛时,Python 语言还没有现在这么强大和流行;第三,Matlab 语言对于从事教学科研的老师是最熟悉、最常用的;最后,是由于多年的积累和惯性。

如果大学课程开设过计算机语言,通常是 C语言,在此基础上自学 Python 很容易,可以直接结合数学建模的内容学习 Python ;如果还没有开设计算机语言课程,自学 Python 语言也是较好的选择,特别是对于数学建模之外的需求也能胜任。

6. 『Python 数学建模 @ Youcans』系列计划

近年来,学习 Python 语言的人越来越多,使用 Python语言学习数学建模、参加数模竞赛的同学也越来越多。但是,关于 Python 语言数学建模的书籍、教程仍然比较少,并且与小白的需求存在差距:老师讲的很精彩,我听的很激动,下来还是不会用。

这正是本系列『Python 数学建模 @ Youcans』写作的初衷:

  • 面向数模小白 & Python 小白,从零开始,按照 Matlab 数学建模培训的框架体系,系统讲解 Python 语言的实现方案;
  • 着重讲算法的使用过程,例程尽量直接选用 Matlab 培训教程中的例题;
  • 讲算法思想,不讲算法内容;讲算法应用条件,不讲算法实现过程;
  • 开源工具包能实现的算法,不要自己造轮子;
  • 尽量用最简单易懂的程序结构,哪怕有些笨拙;
  • 所有例程都是调试运行通过,带有不厌其烦的详细注释、说明和运行结果。

本系列『Python 数学建模 @ Youcans』计划 50篇,系统解决数学建模学习所需的技术和算法。

此前写过一些专题的『Python 数模笔记』,就不再更新了,部分内容将根据本系列的章节重新整理。

感谢大家的支持,希望学习 Python 数学建模的同学可以关注收藏本系列。

最后,其实我也是一名 Python 小白。


版权说明:

欢迎关注『Python 数学建模 @ Youcans』 原创作品

CSDN 原创作品,转载必须标注原文链接。

Copyright 2021 Youcans, XUPT

Crated:2021-05-26

欢迎关注『Python 数学建模 @ Youcans』系列,每周持续更新

Python数学建模-01.新手必读

Python数学建模-02.数据导入

Python数模笔记-PuLP库(1)线性规划入门

Python数模笔记-PuLP库(2)线性规划进阶

Python数模笔记-PuLP库(3)线性规划实例

Python数模笔记-StatsModels 统计回归(1)简介

Python数模笔记-StatsModels 统计回归(2)线性回归

Python数模笔记-StatsModels 统计回归(3)模型数据的准备

Python数模笔记-StatsModels 统计回归(4)可视化

Python数模笔记-Sklearn (1)介绍

Python数模笔记-Sklearn (2)聚类分析

Python数模笔记-Sklearn (3)主成分分析

Python数模笔记-Sklearn (4)线性回归

Python数模笔记-Sklearn (5)支持向量机

Python数模笔记-模拟退火算法(1)多变量函数优化

Python数模笔记-模拟退火算法(2)约束条件的处理

Python数模笔记-模拟退火算法(3)整数规划问题

Python数模笔记-模拟退火算法(4)旅行商问题

Python数模笔记-NetworkX(1)图的操作

Python数模笔记-NetworkX(2)最短路径

Python数模笔记-NetworkX(3)条件最短路径

Python数模笔记-NetworkX(4)最小生成树

Python数模笔记-NetworkX(5)关键路径法

Python数学建模-01.新手必读的更多相关文章

  1. Python数学建模-02.数据导入

    数据导入是所有数模编程的第一步,比你想象的更重要. 先要学会一种未必最佳,但是通用.安全.简单.好学的方法. 『Python 数学建模 @ Youcans』带你从数模小白成为国赛达人. 1. 数据导入 ...

  2. Python数学建模系列(一):规划问题之线性规划

    @ 目录 前言 线性规划 样例1:求解下列线性规划问题 scipy库求解 样例2:求解下列线性规划问题 pulp库求解 样例3.运输问题 说明 结语 前言 Hello!小伙伴! 非常感谢您阅读海轰的文 ...

  3. Python小白的数学建模课-05.0-1规划

    0-1 规划不仅是数模竞赛中的常见题型,也具有重要的现实意义. 双十一促销中网购平台要求二选一,就是互斥的决策问题,可以用 0-1规划建模. 小白学习 0-1 规划,首先要学会识别 0-1规划,学习将 ...

  4. Python小白的数学建模课-A1.2021年数维杯C题(运动会优化比赛模式探索)探讨

    Python小白的数学建模课 A1-2021年数维杯C题(运动会优化比赛模式探索)探讨. 运动会优化比赛模式问题,是公平分配问题 『Python小白的数学建模课 @ Youcans』带你从数模小白成为 ...

  5. Python小白的数学建模课-03.线性规划

    线性规划是很多数模培训讲的第一个算法,算法很简单,思想很深刻. 要通过线性规划问题,理解如何学习数学建模.如何选择编程算法. 『Python小白的数学建模课 @ Youcans』带你从数模小白成为国赛 ...

  6. Python小白的数学建模课-04.整数规划

    整数规划与线性规划的差别只是变量的整数约束. 问题区别一点点,难度相差千万里. 选择简单通用的编程方案,让求解器去处理吧. 『Python小白的数学建模课 @ Youcans』带你从数模小白成为国赛达 ...

  7. Python小白的数学建模课-A1.国赛赛题类型分析

    分析赛题类型,才能有的放矢. 评论区留下邮箱地址,送你国奖论文分析 『Python小白的数学建模课 @ Youcans』 带你从数模小白成为国赛达人. 1. 数模竞赛国赛 A题类型分析 年份 题目 要 ...

  8. Python小白的数学建模课-A3.12 个新冠疫情数模竞赛赛题与点评

    新冠疫情深刻和全面地影响着社会和生活,已经成为数学建模竞赛的背景帝. 本文收集了与新冠疫情相关的的数学建模竞赛赛题,供大家参考,欢迎收藏关注. 『Python小白的数学建模课 @ Youcans』带你 ...

  9. Python小白的数学建模课-06 固定费用问题

    Python 实例介绍固定费用问题的建模与求解. 学习 PuLP工具包中处理复杂问题的快捷使用方式. 『Python小白的数学建模课 @ Youcans』带你从数模小白成为国赛达人. 前文讲到几种典型 ...

随机推荐

  1. 【笔记】《算法竞赛入门》习题7-3 UVa211_多米诺效应

    title: 习题7-3 UVa211_多米诺效应 date: 2021-01-29 19:08:00 categories: 算法竞赛入门 tags: 数据结构 算法 UVa 题目: 使用28个多米 ...

  2. Go-16-map

    map的value可以是任何数据类型.map和切片一样,也是一种引用类型. map声明: (1)使用var关键字定义map var 变量名 map[key类型] value 类型 (2)使用make( ...

  3. 005-Java中的控制语句

    目录 一.控制语句 一.作用 二.分类 二.选择语句(分支语句) 一.if 语句 二.switch语句 三.循环语句 一.for循环 二.while循环(while循环的循环次数是:0~n次) 三.d ...

  4. Day12_60_多线程的创建和启动(一)

    多线程的创建和启动 * 在java语言中实现多线程的第一种方式, 继承 java.lang.Thread; 之后重写run()方法. * 使用多线程之后,主线程和其他线程是不在同一个栈中的,一个线程对 ...

  5. H5 hybrid开发-前端资源本地化方案纪要

    H5 hybrid-前端资源本地化方案纪要 就整个行业来说,大前端是趋势,现阶段,native方面除了一些偏CPU密集型工作与操作系统底层API方面的工作外,H5基本都可以满足需要. 目前的工作更偏向 ...

  6. FusionInsight MRS:你的大数据“管家”

    摘要:4月24日-26日,HDC.Cloud2021在深圳大学城成功举办,华为云FusionInsight MRS云原生数据湖带来最懂行的大数据解决方案,为政企客户提供湖仓一体.云原生的大数据解决方案 ...

  7. 分享几个网址二维码生成api

    分享几个网址二维码生成api 传入网址参数,或许二维码图片,扫二维码能直接跳转网址 http://b.bshare.cn/barCode?site=weixin&url=https://www ...

  8. 病毒木马查杀实战第017篇:U盘病毒之专杀工具的编写

    前言 经过前几次的讨论,我们对于这次的U盘病毒已经有了一定的了解,那么这次我们就依据病毒的行为特征,来编写针对于这次U盘病毒的专杀工具. 专杀工具功能说明 因为这次是一个U盘病毒,所以我打算把这次的专 ...

  9. 如何在C或C++代码中嵌入ARM汇编代码

    转载自:http://blog.csdn.net/roland_sun/article/details/42921131 大家知道,用C或者C++等高级语言编写的程序,会被编译器编译成最终的机器指令. ...

  10. Wordpress主题编辑器漏洞复现

    Wordpress是全球流行的博客网站,全球有上百万人使用它来搭建博客.他使用PHP脚本和Mysql数据库来搭建网站. 那么,如果当我们在渗透测试过程中获得到了别人Wordpress的账号和密码之后, ...