数学建模中,大多数人都在用MATLAB,但MATLAB不是一门正统的计算机编程语言,而且速度慢还收费,最不能忍受的就是MATLAB编辑器不支持代码自动补全。python对于数学建模来说,是个非常好的选择。python中有非常著名的科学计算三剑客库:numpy,scipy和matplotlib,三者基本代替MATLAB的功能,完全能够应对数学建模任务。

下面列举几个python解决数学建模的例子:

线性规划问题的求最大最小值问题

1

2

3

4

5

6

7

8

9

10

11

12

max: z = 4x1 + 3x2

st:      2x1 + 3x2<=10

x1 + x2 <=8

x2 <= 7

x1,x2 > 0

from scipy.optimize import linprog

c = [4,3]        #默认linprog求解的是最小值,若求最大值,此处c取反即可得到最大值的相反数。

A = [[2,3],[1,1]]

b = [10,8]

x1_bounds = [0,None]

x2_bounds =[0,7]

res = linprog(c,A,b,bounds=(x1_bounds,x2_bounds))

多项式的最小二乘法曲线拟合

1

2

3

4

5

6

7

8

9

10

11

12

13

14

import numpyas np

import matplotlib.pyplotas plt

x = np.arange(1990,1997,1)

y = np.array([70 ,122 ,144 ,152, 174, 196, 202])

z1 = ployfit(x,y,1)  #之前画过原始数据,数据走向为ax+b类型。故采用一次多项式拟合

p1 = np.ploy1d(z1)

yvalue = p1(x)

plt.plot(x,y,'*',label ='原始数据')

plt.plot(z1,yvalue,label ='拟合曲线')

plt.xlabel('x axis')

plt.ylabel('y axis')

plt.legend(loc = 4 )

plt.tittle('多项式拟合')

plt.show()

方程求导

1

2

3

4

5

6

7

8

from __future__ import print_function

from __future__ import division

import numpyas np

import scipyas sp

import scipy.misc

def f(x):return 2*x*x + 3*x + 1

print(sp.misc.derivative(f, 2))

求不定积分

1

2

3

4

5

6

7

8

9

from __future__ import print_function

from __future__ import division

import numpyas np

import scipyas sp

import scipy.integrate

f = lambda x : x**2

print(sp.integrate.quad(f, 0, 2))

print(sp.integrate.fixed_quad(f, 0, 2))

求解非线性方程组

1

2

3

4

5

6

7

8

9

10

11

from __future__ import print_function

from __future__ import division

import numpyas np

import scipyas sp

import scipy.optimize

def f(x):

return [5*x[1] + 3, 4*x[0]*x[0], x[1]*x[2] - 1.5]

ans = sp.optimize.fsolve(f, [0, 0, 0])

print(ans)

print(f(ans))

求解线性方程组

1

2

3

4

5

6

7

8

9

10

11

from __future__ import print_function

from __future__ import division

import numpyas np

import scipyas sp

import matplotlib.pylabas plt

import scipy.linalg

a = np.array([[1, 3, 5], [2, 5, 1], [2, 3, 8]])

b = np.array([10, 8, 3])

print(sp.linalg.solve(a, b))

#print(sp.linalg.inv(a).dot(b))

标签: 无

本文同步分享在 博客“KEVINGUO”(other)。

如有侵权,请联系 support@oschina.cn 删除。

本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

数学建模用python好吗_用 Python 做数学建模相关推荐

  1. python 时间序列预测_使用Python进行动手时间序列预测

    python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...

  2. python 概率分布模型_使用python的概率模型进行公司估值

    python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...

  3. python整数运算_深入 Python (6) 整数对象的数学运算

    整数的基本运算 上一节讲到,在 PyLong_Type 中定义了整数类型的各种属性,比如整数类型的名称 "int".整数对象最常用的是一些数学运算,整数对象当然也是支持这些方法的, ...

  4. 使用python预测基金_使用python先知3 1创建预测

    使用python预测基金 This tutorial was created to democratize data science for business users (i.e., minimiz ...

  5. python集群_使用Python集群文档

    python集群 Natural Language Processing has made huge advancements in the last years. Currently, variou ...

  6. python 网页编程_通过Python编程检索网页

    python 网页编程 The internet and the World Wide Web (WWW), is probably the most prominent source of info ...

  7. python机器学习预测_使用Python和机器学习预测未来的股市趋势

    python机器学习预测 Note from Towards Data Science's editors: While we allow independent authors to publish ...

  8. python 量化交易_基于Python的量化交易工具清单(上)

    -- Python量化工具清单 -- 以下内容来源于Wilson Freitas的Github项目"Awesome Quant".原文中包含了丰富的语言类别,但是后续介绍主要针对P ...

  9. python 免费空间_用python做大数据

    不学Python迟早会被淘汰?Python真有这么好的前景? 最近几年Python编程语言在国内引起不小的轰动,有超越Java之势,本来在美国这个编程语言就是最火的,应用的非常非常的广泛,而Pytho ...

最新文章

  1. Windows PowerShell 批量迁移Windows用户信息
  2. Matlab结构第三版,MATLAB程序设计(原书第3版)
  3. 华北水利水电大学c语言程序设计四_我校代表队在“中国高等计算机大赛——团体程序设计天梯赛” 中喜获佳绩...
  4. ddos工具linux,DDoS常用工具大全
  5. SpringBoot集成Es使用ElasticSearchTemplate7.x版本自动注入失败解决
  6. 如何把一个bin文件捆绑到一个可执行文件exe中?
  7. oracle中-1002,安装Oracle RAC时, 碰到到了PRKC-1002错误
  8. python翻转棋_Python算法做翻转棋子游戏
  9. html中让页面点击向左滑动,HTML5页面点击和左右滑动页面滚动详解
  10. 线性代数学习笔记(七)——克莱姆法则
  11. shell脚本自动更新ca证书
  12. 树莓派4B最新系统bullseye更换国内源方法
  13. DAMA数据治理与数据质量--非结构化数据的数据质量管理
  14. 线性代数教程 线性方程组
  15. 如何通过浏览器访问本地电脑文件
  16. 每月明星计划(12 月),ECHO:我们的意见万岁!
  17. Onedrive如何同步文件夹
  18. 单片机嵌入式二维码解码识别
  19. Nibabel 读取 nii 文件和 nii.gz 文件
  20. 计算机桌面图片唐诗,自动唐诗宋词桌面壁纸

热门文章

  1. python实现QQ邮件的自动收发
  2. c# winform 解决PictureBox 无法打印全部图片的问题
  3. wps指定路径不存在怎么办_wps指定路径不存在怎么办_十万人都不知道键盘上 F1~F12 的作用,你肯定想不到......
  4. Window 10 电源高性能模式设置
  5. 待定系数法求二阶常系数非齐次线性方程特解
  6. Python解二元一次方程,没想到如此简单
  7. mumu模拟器安装xpk包
  8. HTMLCSS登录界面及讲解
  9. 用java实现从txt文本文件批量导入数据至数据库
  10. win10查看端口号、进程