Python 数学建模极简入门(一)

我们选择的入门书籍是叶其孝和姜启源翻译的《数学建模》,原著是Frank R. Giordano和William P. Fox编著的《A First Course in Mathematical Modeling(Fifth Edition) 》
从名字就能看出这是一本数学建模的入门书籍,由浅入深,很适合数学基础薄弱的人学习。接下来我们将会把这本书中的建模实例用Python3来实现。

本攻略所有代码内容均在winPython下的Spyder及IPython中编写,其Python版本是3.4.4
当然也可以使用Anaconda或者Python(x,y),差不多的,因为我办公室的电脑还是用的xp系统,Anaconda老是安装失败,所以选择的WinPython。

初用简书,没有找到编辑公式的方法,求帮助,公式暂时先用其他软件编辑,采用截图的方式插入文章

实例1:对已有数据进行建模

首先是最简单的弹簧拉伸模型,学过胡克定律的同学们应该都知道这是啥,这个炒鸡简单,不愿看的同学可以跳过。
这是一个研究弹簧伸长与所吊重物质量之间关系的模型。

质量(g)伸长(cm)
501.000
1001.875
1502.750
2003.250
2504.375
3004.875
3505.675
4006.500
4507.250
5008.000
5508.750

《Python 数学建模极简入门(一)》 质量与伸长的关系图.png

从图中我们可以明显地看到这是一个线性关系。然后我们就可以对数据进行线性拟合(非线性拟合也只是用到了不同的函数而已),这里用到了numpy库:

import numpy as np
mass = [ 50*i for i in range(1,12)] #这里偷懒用的列表推导式,python初学者可以百度一下,一看就懂
length = [1.000,1.875,2.750,3.250,4.375,4.875,5.675,6.500,7.250,8.000,8.750]
F = np.polyfit(mass,length,1) #按一次多项式拟合
print(F) #输出各项系数
P = np.poly1d(F)
print(P) #输出方程式

这样,对于这个模型的建模就已经完成了。如果要画出图来是这样的:

《Python 数学建模极简入门(一)》 J{拟合图像.png

当然,这个图用Python3也可以画出来,需要用到matplotlib库,附上matplotlib简单教程:
ywjun的学习笔记, Python图表绘制:matplotlib绘图库入门

因工作原因,文章更新较慢,这一系列文章旨在解决实际问题,所以我大部分时间在找实例,发现有趣的实例会分享给大家。

    原文作者:dalalaa
    原文地址: https://www.jianshu.com/p/23439308cf59
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞