Scipy Exercise

10 Scipy

Exercise 10.1: Least squares

Exercise10.1

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

Exercise10.2

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

10.2result

Exercise 10.3: Pairwise distances

10.3

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]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值