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

SciPy初学者(day two)

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

今天,我们来了解一下MATLAB在Python中的应用
功能scipy.io.loadmat和scipy.io.savemat允许您读取和写入MATLAB文件。您可以在文档中阅读它们
点之间距离
SciPy定义了一些用于计算点集之间距离的函数
该函数scipy.spatial.distance.pdist计算给定集合中所有点对之间的距离:

import numpy as np
from scipy.spatial.distance import pdist,squareform

x = np.array([[0,1],[1,0],[2,0]])   #创建一个数组
print(x)

d = squareform(pdist(x,'euclidean'))  #计算每个点之间的距离 应该是欧式距离
print(d)  #打印  [[0.         1.41421356 2.23606798]
              #  [1.41421356 0.         1.        ]
             #   [2.23606798 1.         0.        ]]

类似的函数(scipy.spatial.distance.cdist)计算两组点之间所有对之间的距离,代码如下

from scipy.spatial import distance
 coords = [(35.0456, -85.2672),
         (35.1174, -89.9711),
          (35.9728, -83.9422),
         (36.1667, -86.7833)]
 distance.cdist(coords, coords, 'euclidean')  #打印 array([[0.        , 4.70444794, 1.6171966 , 1.88558331],
                                                    #     [4.70444794, 0.        , 6.0892811 , 3.35605413],
                                                 #         [1.6171966 , 6.0892811 , 0.        , 2.84770898],
                                                   #       [1.88558331, 3.35605413, 2.84770898, 0.        ]])

接下来,我们来接着看MatPlotlib
MatPlotlib是一个绘图库,我们主要看一下matplotlib.pyplot,它提供了类似matlib的绘图系统
首先,我们来看一下最基础的绘制
matplotlib中最重要的功能是plot,它允许您绘制2D数据。这是一个简单的例子:

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0,3 * np.pi, 0.1)
y = np.sin(x)

plt.plot(x,y)
plt.show()

结果图如下
SciPy初学者(day two)
好了,今天的SciPy就了解到这里
心得: 今天,对于SciPy如何求解点于点之间的欧式距离有了一定的认识,以及如何使用Matplotlib进行绘图
有了一些基础的认识。

相关标签: python scipy