【python基础】scipy库

相关介绍

scipy库是一个基于 Python 的科学计算库,主要用于数学、科学和工程计算。

stats模块

# 对象导入
from scipy.stats import norm


'''
norm 正态分布(Normal Distribution)对象:用来计算正态分布的概率密度、累积分布等等。
norm.cdf(x, loc=0, scale=1):用于计算正态分布的累积分布函数。

params:x:要计算的x点,可以是一个实数或一个数组。
params:loc:正态分布的均值,默认为 0。
params:scale:正态分布的标准差,默认为 1。

return:x点对应的正态分布的累积分布函数值
'''
cdf_value = norm.cdf(1, loc=2, scale=3)
print(cdf_value)
#输出为0.2524925375469229


 

optimize模块

#导入函数
from scipy.optimize import minimize
import numpy as np


'''
minimize函数:用于使用不同的优化算法来求解最小值,例如梯度下降、共轭梯度、拟牛顿法等。

params:
fun:要最小化的目标函数。
x0:目标函数的初始点。
method:优化算法的名称或对象。
args:目标函数的额外参数。
bounds:变量的范围限制。
constraints:约束条件。
tol:收敛精度。
options:优化算法的其他选项。 

return:
最小化目标函数对应的最小值点
'''
#定义目标函数
def objective(x):
    return (x[0]-1)**2 + (x[1]-2)**2
#定义目标函数变量的初始点
x0 = np.array([0, 0])
#定义变量的范围限制
bnds = ((0, None), (0, None))
#使用SLSQP优化算法求解
res = minimize(objective, x0, method='SLSQP', bounds=bnds)
print(res.x)
#输出:[1.         2.00000001]


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值