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