Heim  >  Artikel  >  Backend-Entwicklung  >  Kann Python für die mathematische Modellierung verwendet werden?

Kann Python für die mathematische Modellierung verwendet werden?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼Original
2019-06-18 13:48:3018222Durchsuche

In der mathematischen Modellierung verwenden die meisten Leute MATLAB, aber MATLAB ist keine orthodoxe Computerprogrammiersprache, und sie ist langsam und kostenpflichtig. Das Unerträglichste ist, dass der MATLAB-Editor keine automatische Code-Vervollständigung unterstützt. Python ist eine sehr gute Wahl für die mathematische Modellierung. Es gibt drei sehr bekannte wissenschaftliche Computerbibliotheken in Python: Numpy, Scipy und Matplotlib. Die drei ersetzen grundsätzlich die Funktionen von MATLAB und sind vollständig in der Lage, mathematische Modellierungsaufgaben zu bewältigen.

Kann Python für die mathematische Modellierung verwendet werden?

Hier sind einige Beispiele für die Lösung mathematischer Modelle mit Python:

Finden des Maximum- und Minimumproblems linearer Programmierprobleme

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

Verwandte Empfehlungen: „Python-Video-Tutorial

Kleinste-Quadrate-Kurvenanpassung von Polynomen

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,&#39;*&#39;,label = &#39;原始数据&#39;)
plt.plot(z1,yvalue,label = &#39;拟合曲线&#39;)
plt.xlabel(&#39;x axis&#39;)
plt.ylabel(&#39;y axis&#39;)
plt.legend(loc = 4 )
plt.tittle(&#39;多项式拟合&#39;)
plt.show()

Gleichung finden Ableitung

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

Finde das unbestimmte Integral

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

Löse das nichtlineare Gleichungssystem

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

System linearer Gleichungen lösen

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

Das obige ist der detaillierte Inhalt vonKann Python für die mathematische Modellierung verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn