第十三周 Scipy练习

其实这道题就是利用最小二乘法求x及其残差的范数,可以直接用函数scipy.linalg.lstsq()
返回的第一个值是x,第二个值是残差的范数
#10.1_Least squares 
import numpy as np
import scipy.linalg
m = 30
n = 20

A = np.random.rand(m,n)
b = np.random.rand(m)
x, residues , rank, s = scipy.linalg.lstsq(A,b)

print(x)
print(residues)


这道题是求最大值,找到了scipy.optimize.fmin求最小值,所以函数里面加了一个负号
#10.2_ Optimization 
import math
import scipy.optimize
def func(x):
    return -(math.sin(x-2) * math.sin(x-2) * math.exp(-x**2))

maxi = scipy.optimize.fmin(func, 1)
print(maxi)

运行结果如下,所以最大值是0.911685

求两点间距离,矩阵的行数是点的个数,列数是点的维度利用 scipy.spatial.distance.pdist(X, 'euclidean')可以直接得到每两个点之间的距离
#10.3_Pairwise distances 
import scipy.spatial.distance as dis
m = 12
n = 8
X = np.random.rand(m,n)
Y = dis.pdist(X, 'euclidean')
print(Y)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Scipy是一种Python的科学计算库,提供了许多有用的功能,包括数值计算、优化、统计和信号处理等。Scipy是基于Numpy库开发的,因此它支持Numpy数组和矩阵,并且可以与Numpy库和其他第三方库一起使用。 Scipy库中包含了许多子模块,每个子模块都包含了一组相关的函数和工具。以下是Scipy库中一些常用的子模块和功能: - scipy.integrate:提供了数值积分的函数,包括单重积分和双重积分等。 - scipy.optimize:提供了多种优化算法,包括最小化、最大化、曲线拟合和非线性方程求解等。 - scipy.stats:提供了多种统计函数,包括概率密度函数、累积分布函数和假设检验等。 - scipy.signal:提供了多种信号处理函数,包括滤波、卷积和频谱分析等。 - scipy.linalg:提供了线性代数函数,包括矩阵分解、行列式和特征值等。 - scipy.sparse:提供了稀疏矩阵的函数和工具,用于优化大规模线性代数问题。 Scipy库的使用需要先安装,可以使用pip命令进行安装: ``` pip install scipy ``` 安装完成后,可以使用以下命令来导入Scipy库: ``` import scipy ``` 要使用Scipy库中的子模块和函数,可以使用以下语法: ``` from scipy import 模块名 模块名.函数名() ``` 例如,要使用Scipy库中的最小化函数minimize,可以使用以下代码: ``` from scipy.optimize import minimize minimize() ``` Scipy库是Python中非常强大的科学计算库之一,如果你需要进行数值计算、优化、统计或信号处理等方面的工作,那么Scipy库是一个非常不错的选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值