python scipy优化器模块(optimize)
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的值及其数值计算的函数值
最新文章
- MAC终端命令行下用sublime、vscode、atom打开文件或目录
- extend
- css3 flex盒子布局
- JQuery Easy Ui DataGrid
- makefile命令基本运用(一)
- Python数据类型之“序列概述与基本序列类型(Basic Sequences)”
- Hadoop中WritableComparable 和 comparator
- php 读取文件的几种方法
- c# ToString() 用法
- sphinx 全文搜索引擎安装与配置
- 【PythonChallenge】Level 5
- 例说C#深拷贝与浅拷贝
- Tomcat启动时报错:java.net.BindException: Permission denied <;null>;:80 【转载】
- pfile,spfile 初始化参数文件顺序【weber出品】
- HtmlTextNode &; HtmlCommentNode
- 依赖注入及AOP简述(五)——依赖注入的方式 .
- QF——UI之UIViewController
- Linux网络管理——远程登录工具
- Angularjs Material
- FORM当前状态分析
热门文章
- 6 JavaScript函数&;内置构造&;函数提升&;函数对象&;箭头函数&;函数参数&;参数的值传递与对象传递
- Codeforces #617 (Div. 3)B. Food Buying
- Java基础 -4.3
- 在这之后的两天又出现了w3wp进程找不到的情况了
- wikipedia
- mysql path妙用
- 7.12 Varnish体系结构
- 用Java打开一个网页
- linux动态库(.so)和静态库(.a)的区别
- IP、TCP、DNS