怎么用Python做数学建模

介绍

这篇文章主要介绍”怎么用Python做数学建模”,在日常操作中,相信很多人在怎么用Python做数学建模问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答“怎么用Python做数学建模”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

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

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

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

1

3

4 5 6

7 8 9

10 11 12

<代码>马克斯:z=4 x1 + 3 x2

<代码>圣:,,,,,2 x1 + 3 x2<=10

<代码>,,,,,,,,,,, <代码> x1 + x2 & lt;=8

<代码>,,,,,,,,,,, <代码> x2 & lt; 7=

<代码>,,,,,,,,,,, <代码> x1, x2祝辞0

<代码>从scipy。代码优化进口linprog

<代码> c=(4 3),,,,,,,#默认linprog求解的是最小值,若求最大值,此c处取反即可得到最大值的相反数。

<代码>=[[2、3],[1]]

<代码> b=(10、8)

<代码> x1_bounds=[0,没有]

<代码> x2_bounds=[0、7]

<代码> res=linprog (c, A, b,边界=(x1_bounds x2_bounds))

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

1 2 3

4 5 6

7 8 9

10 11 12

13 14

<代码>进口numpy <代码> <代码> np

<代码>进口matplotlib。pyplot <代码>/<代码> <代码> plt

<代码> x=np.arange(1990、1997、1)

<代码> y=np。 <代码> <代码>数组((70,122,144,152,174,196,202])

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

<代码> p1=np.ploy1d (z1)

<代码> yvalue=https://www.yisu.com/zixun/p1 (x)

<代码> plt.plot (x, y, <代码> & # 39;* & # 39; <代码>标签= <代码> & # 39;原始数据& # 39; <代码>)

<代码> plt。情节(z1、yvalue标签= <代码> & # 39;拟合曲线& # 39; <代码>)

<代码> plt.xlabel( <代码> & # 39;x轴# 39; <代码>)

<代码> plt.ylabel( <代码> & # 39;y轴# 39; <代码>)

<代码> 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 numpy as np

import scipy as 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 numpy as np

import scipy as 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 numpy as np

import scipy as 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))

怎么用Python做数学建模