91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用Python做數學建模

發布時間:2021-09-17 16:48:41 來源:億速云 閱讀:1073 作者:chen 欄目:大數據

這篇文章主要介紹“怎么用Python做數學建模”,在日常操作中,相信很多人在怎么用Python做數學建模問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用Python做數學建模”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

數學建模中,大多數人都在用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 numpy as np

import matplotlib.pyplot as 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 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))</pre>

求不定積分

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])

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

import scipy as sp

import matplotlib.pylab as 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))

到此,關于“怎么用Python做數學建模”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临邑县| 两当县| 商河县| 额济纳旗| 临沂市| 专栏| 吉首市| 湟中县| 社旗县| 横山县| 汉川市| 榆林市| 武邑县| 耒阳市| 汉中市| 桦甸市| 长丰县| 广水市| 兴安县| 西乡县| 隆德县| 清原| 木里| 泸西县| 宜宾市| 全州县| 北安市| 沈阳市| 台南市| 井研县| 乌拉特中旗| 仲巴县| 阜宁县| 察隅县| 蚌埠市| 富民县| 南靖县| 萨嘎县| 海城市| 泌阳县| 屏东县|