Scipy习题

Scipy

Exercise 10-1

代码

import numpy as np
from scipy import stats
import matplotlib.pylab as plt

m,n = 10,10
matrixA = np.random.random((m,n))
# 创建一个m*n的矩阵A
vectorB = np.random.random((10,1))
# 随便创造一个10x1的向量b
estimatorX = np.linalg.lstsq(matrixA,vectorB,rcond=None)[0]
# 计算使Ax-b的frobenius范数最小的x
print(np.linalg.norm(estimatorX))

结果

PS F:\CODE\Python> python .\homework.py
5.453724708138991
PS F:\CODE\Python>

Exercise 10-2

代码

import numpy as np
from scipy import stats
from scipy.optimize import minimize_scalar

f = lambda x : -np.power(np.sin(x - 2), 2) * np.exp(- np.power(x, 2))
res = minimize_scalar(f, method='brent')
print(res.x)

结果

PS F:\CODE\Python> python .\homework.py
0.21624132858697098
PS F:\CODE\Python>

Exercise 10-3

代码

import numpy as np
from scipy.spatial import distance
import matplotlib.pylab as plt

n=4
matrix = np.random.random((n,2))
# matrix每行两个数字分别代表这个点的x坐标和y坐标
dist = distance.cdist(matrix, matrix, 'euclidean')
print(matrix)
print(dist)

 结果

PS F:\CODE\Python> python .\homework.py
[[0.85205309 0.36340864]
[0.12957731 0.95188951]
[0.208146 0.55671176]
[0.45100102 0.15190434]]
[[0. 0.93181596 0.67229639 0.45340582]
[0.93181596 0. 0.40291251 0.86214238]
[0.67229639 0.40291251 0. 0.47206738]
[0.45340582 0.86214238 0.47206738 0. ]]
PS F:\CODE\Python>

猜你喜欢

转载自blog.csdn.net/qq_39178023/article/details/80542594