數學建模中,大多數人都在用MATLAB,但MATLAB不是一門正統的電腦程式語言,而且速度慢還收費,最不能忍受的就是MATLAB編輯器不支援程式碼自動補全。 python對於數學建模來說,是個非常好的選擇。 python中有非常著名的科學計算三劍客庫:numpy,scipy和matplotlib,三者基本上取代MATLAB的功能,完全能夠應付數學建模任務。
下面列舉幾個python解決數學建模的例子:
線性規劃問題的求最大最小值問題
#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))
相關推薦:《python影片教學》
#多項式的最小平方法曲線擬合
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()
方程求導
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))
求不定積分
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))
求解非線性方程組
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))
求解線性方程組
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嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Python适合数据科学、Web开发和自动化任务,而C 适用于系统编程、游戏开发和嵌入式系统。Python以简洁和强大的生态系统著称,C 则以高性能和底层控制能力闻名。

2小時內可以學會Python的基本編程概念和技能。 1.學習變量和數據類型,2.掌握控制流(條件語句和循環),3.理解函數的定義和使用,4.通過簡單示例和代碼片段快速上手Python編程。

Python在web開發、數據科學、機器學習、自動化和腳本編寫等領域有廣泛應用。 1)在web開發中,Django和Flask框架簡化了開發過程。 2)數據科學和機器學習領域,NumPy、Pandas、Scikit-learn和TensorFlow庫提供了強大支持。 3)自動化和腳本編寫方面,Python適用於自動化測試和系統管理等任務。

兩小時內可以學到Python的基礎知識。 1.學習變量和數據類型,2.掌握控制結構如if語句和循環,3.了解函數的定義和使用。這些將幫助你開始編寫簡單的Python程序。

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...

Python3.6環境下加載Pickle文件報錯:ModuleNotFoundError:Nomodulenamed...

如何解決jieba分詞在景區評論分析中的問題?當我們在進行景區評論分析時,往往會使用jieba分詞工具來處理文�...


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

記事本++7.3.1
好用且免費的程式碼編輯器

Dreamweaver Mac版
視覺化網頁開發工具

SublimeText3 Linux新版
SublimeText3 Linux最新版