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

作者: dalalaa | 来源:发表于2016-10-18 18:11 被阅读4987次

我们选择的入门书籍是叶其孝和姜启源翻译的《数学建模》,原著是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)
50 1.000
100 1.875
150 2.750
200 3.250
250 4.375
300 4.875
350 5.675
400 6.500
450 7.250
500 8.000
550 8.750
质量与伸长的关系图.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) #输出方程式

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


J{拟合图像.png

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

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

相关文章

网友评论

  • Chunkit_Lau:現在 py 3.x 都不支持 XP 了 sad
    Chunkit_Lau:@dalalaa 试图用古董机,发现还没有 树莓派好用
    dalalaa:@Chunkit_Lau 你还在用xp啊,sad
  • 5049fb69e8b1:可以推荐一些数学建模的入门教材和经典教材吗
    dalalaa:@荔枝荔枝么么哒 建模比赛还是用MATLAB比较靠谱,推荐《MATLAB数学建模经典案例实战》余胜威,我觉得从实际项目入手会快一点,学起来也轻松,给你个ppt和源程序的网址http://muchong.com/html/201602/9956090.html
    5049fb69e8b1:@dalalaa 参加建模比赛:smile:
    dalalaa:@荔枝荔枝么么哒 你是想学建模来做什么呢,还是只是作为兴趣来学习呢?
  • 5049fb69e8b1:作者可以试试在word里编辑公式然后截图以图片的形式发上来嘛?
    dalalaa:@荔枝荔枝么么哒 哦,好的,我试试,谢谢啊。

本文标题:Python 数学建模极简入门(一)

本文链接:https://www.haomeiwen.com/subject/hxstuttx.html