pyhton数据处理与分析之scipy优化器及不同函数求根

1、Scipy的优化器模块optimize可以用来求取不同函数在多个约束条件下的最优化问题,也可以用来求取函数在某一点附近的根和对应的函数值;
2、scipy求取函数最优解问题(以多约束条件下的最小值为例)如下所示:
import numpy as np #导入数据结构nmupy模块
import matplotlib.pyplot as plt
from scipy.optimize import minimize #导入最小值优化模块
def func(x):
return (2*x[0]*x[1]+2*x[0]-x[0]**2+2*x[1]**2) #定义函数
def func_deriv(x):
dfdx0=(-2*x[0]+2*x[1]+2)
dfdx1=(2*x[0]+4*x[1])
return np.array([dfdx0,dfdx1])
cons=({"type":"eq","fun":lambda x:np.array([x[0]**3-x[1]]),"jac":lambda x:np.array([3*(x[0]**2),-1.0])},{"type":"ineq","fun":lambda x:np.array([x[1]-1]),"jac":lambda x:np.array([0,1])})#定义函数的多个约束条件
res=minimize(func,[-1.0,1.0],jac=func_deriv,constraints=cons,method="SLSQP",options={"disp":True}) #最小值优化函数格式调用
print("RESTRICT:",res)

3、scipy的root函数也可以用来求取在特定点附近的一元函数的根
import numpy as np #导入数据结构nmupy模块
import matplotlib.pyplot as plt
from scipy.optimize import root
def f(x):
return x**2-3*x+2
sol=root(f,1)     #表示求取函数f(x)在x=1附近处的根
print("ROOT:",sol.x,sol.fun)    #输出最优根处的x的值及其数值计算的函数值

最新文章

  1. MAC终端命令行下用sublime、vscode、atom打开文件或目录
  2. extend
  3. css3 flex盒子布局
  4. JQuery Easy Ui DataGrid
  5. makefile命令基本运用(一)
  6. Python数据类型之“序列概述与基本序列类型(Basic Sequences)”
  7. Hadoop中WritableComparable 和 comparator
  8. php 读取文件的几种方法
  9. c# ToString() 用法
  10. sphinx 全文搜索引擎安装与配置
  11. 【PythonChallenge】Level 5
  12. 例说C#深拷贝与浅拷贝
  13. Tomcat启动时报错:java.net.BindException: Permission denied <null>:80 【转载】
  14. pfile,spfile 初始化参数文件顺序【weber出品】
  15. HtmlTextNode & HtmlCommentNode
  16. 依赖注入及AOP简述(五)——依赖注入的方式 .
  17. QF——UI之UIViewController
  18. Linux网络管理——远程登录工具
  19. Angularjs Material
  20. FORM当前状态分析

热门文章

  1. 6 JavaScript函数&内置构造&函数提升&函数对象&箭头函数&函数参数&参数的值传递与对象传递
  2. Codeforces #617 (Div. 3)B. Food Buying
  3. Java基础 -4.3
  4. 在这之后的两天又出现了w3wp进程找不到的情况了
  5. wikipedia
  6. mysql path妙用
  7. 7.12 Varnish体系结构
  8. 用Java打开一个网页
  9. linux动态库(.so)和静态库(.a)的区别
  10. IP、TCP、DNS