欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Scipy Exercise

程序员文章站 2022-07-12 22:14:21
...

10 Scipy

Exercise 10.1: Least squares

Scipy Exercise

Solution

import numpy as np
import scipy.linalg as lig

m = 10
n = 5
A = np.random.random((m, n))
b = np.random.random(m)
x = lig.lstsq(A, b)[0]
norm = np.linalg.norm(np.dot(A, x)-b, ord=2)
print(norm)

Result

0.811680468476

Exercise 10.2: Optimization

Scipy Exercise

Solution

from scipy.optimize import fmin
import numpy as np
import matplotlib.pyplot as plt


def f(x):
    return -1 * np.sin(x-2)**2 * np.e**(-1*x**2)


opt = fmin(f, 0)
X = np.linspace(-2, 2, 1000)
plt.plot(X, -f(X))
print('maxmium:', -f(opt)[0])
plt.show()

Result

Optimization terminated successfully.
         Current function value: -0.911685
         Iterations: 20
         Function evaluations: 40
maxmium: 0.911685411707

Scipy Exercise

Exercise 10.3: Pairwise distances

Scipy Exercise

import numpy as np
import scipy.linalg as lig
import scipy.spatial.distance as dis

m = 4
n = 5

X = np.mat(np.random.rand(m, n))
print(X)
cities = dis.pdist(X)
ans = dis.squareform(cities)
print(ans)

Result

[[ 0.80789577  0.71740227  0.81553956  0.7240905   0.71406837]
 [ 0.39902099  0.58313777  0.74475987  0.76357866  0.67791779]
 [ 0.14056326  0.07844449  0.5960042   0.73173267  0.78303756]
 [ 0.57747425  0.00486564  0.06030167  0.92528737  0.44213303]]

[[ 0.          0.43941038  0.95216104  1.1160716 ]
 [ 0.43941038  0.          0.59641285  0.95732513]
 [ 0.95216104  0.59641285  0.          0.79809873]
相关标签: scipy