怎么用Python做数学建模


这篇文章主要介绍“怎么用Python做数学建模”,在日常操作中,相信很多人在怎么用Python做数学建模问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Python做数学建模”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!数学建模中,大多数人都在用MATLAB,但MATLAB不是一门正统的计算机编程语言,而且速度慢还收费,最不能忍受的就是MATLAB编辑器不支持代码自动补全。python对于数学建模来说,是个非常好的选择。python中有非常著名的科学计算三剑客库:numpy,scipy和matplotlib,三者基本代替MATLAB的功能,完全能够应对数学建模任务。下面列举几个python解决数学建模的例子:线性规划问题的求最大最小值问题123456789101112max: z = 4x1 + 3x2st: 2x1 + 3x2x1 + x2 x2 x1,x2 > 0from scipy.optimize import linprogc = [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))多项式的最小二乘法曲线拟合1234567891011121314import numpy as npimport matplotlib.pyplot as pltx = 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()方程求导12345678from __future__ import print_functionfrom __future__ import divisionimport numpy as npimport scipy as spimport scipy.miscdef f(x): return 2*x*x + 3*x + 1print(sp.misc.derivative(f, 2))求不定积分123456789from __future__ import print_functionfrom __future__ import divisionimport numpy as npimport scipy as spimport scipy.integratef = lambda x : x**2print(sp.in 香港云主机tegrate.quad(f, 0, 2))print(sp.integrate.fixed_quad(f, 0, 2))求解非线性方程组1234567891011from __future__ import print_functionfrom __future__ import divisionimport numpy as npimport scipy as spimport scipy.optimizedef 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))求解线性方程组1234567891011from __future__ import print_functionfrom __future__ import divisionimport numpy as npimport scipy as spimport matplotlib.pylab as pltimport scipy.linalga = 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做数学建模”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注开发云网站,小编会继续努力为大家带来更多实用的文章!

相关推荐: js中如何将小数转为整数

这篇“js中如何将小数转为整数”文章的知识点大部分人都不太理解,所以小编给大家总 香港云主机结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“js中如何将小数转为整数”文章吧。1、使用“parseI…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 08/08 22:26
Next 08/08 22:26

相关推荐