Python第13周作业——Scipy

Exercise 10.1: Least squares

Generate matrix A 2 Rm×n with m > n. Also generate some vector b 2 Rm.

Now find 


Print the norm of the residual.

代码:
import numpy as np
import scipy.linalg as sl

A = np.random.randint(0,10,(10,8))
b = np.random.randint(-10,10,(10,1))
x_ = sl.lstsq(A,b)[0]
print(x_)
res = sl.norm(np.dot(A,x_)-b,ord = 2)
print(res)

Exercise 10.2: Optimization

Find the maximum of the function

代码:
import numpy as np
import scipy.optimize as opt
import math

def func(x):
    return -math.pow(np.sin(x-2),2)*np.e**(-x * x)

res = opt.minimize_scalar(func,bounds=(-math.pi,math.pi),method='bounded')
print(res.x)
print(-func(res.x))
运行结果:
0.21624229119905022
0.9116854118454336

Exercise 10.3: Pairwise distances

Let X be a matrix with n rows and m columns. How can you compute the pairwise distances between
every two rows?
As an example application, consider
n cities, and we are given their coordinates in two columns. Now
we want a nice table that tells us for each two cities, how far they are apart.
Again, make sure you make use of Scipy’s functionality instead of writing your own routine.

代码:
import scipy.spatial.distance as ssd
import numpy as np

X = np.random.randint(0,100,(10,5))
print(X)
res = ssd.pdist(X)
print(res)
运行结果:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值