第十三周 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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值