作业——Scipy

本文通过三个练习介绍了Scipy的应用:最小二乘法求解线性方程组;使用优化方法寻找函数最大值;计算样本间欧几里得距离矩阵。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Scipy

使用的模块:

import numpy as np
import scipy.optimize as opt
import scipy.spatial.distance as dis

Exercise 10.1: Least squares

def my_argmin(x, A, b):
    x = np.reshape(x, (10, 1))
    return np.linalg.norm(np.dot(A, x) - b, ord = 2)

#np.random.seed()
A = np.random.randint(-3, 3, (20, 10))
a = np.random.randint(-3, 3, (10, 1))
b = np.random.randn(20, 1)
print(A)
print(b)
r = opt.minimize(my_argmin, np.transpose(a), args=(A, b))
norm_result = np.linalg.norm(np.dot(A, np.transpose(r.x)) - b, ord = 2)


Exercise 10.2: Optimization

def func(x):
	return -(np.sin(x-2)**2)*np.exp(-(x**2))

x = -3
re = opt.fmin(func, x)
re_max = (np.sin(re-2)**2)*np.exp(-(re**2))
print("The maximum of the function: ", re_max)


Exercise 10.3: Pairwise distances

X = np.random.randint(1, 100, (10, 5))
print("The matrix:\n", X)
sq_dists = dis.pdist(X, metric = 'euclidean')
mat_sq_dists = dis.squareform(sq_dists)
print("Table:\n", mat_sq_dists)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值