python 线性代数:[8]计算矩阵距离

矩阵的距离,这里是的是欧几里得距离,其他距离表示方法我们以后再谈,今天进说一下如何计算两个形状相同矩阵之间的距离。

  1. 创建一个矩阵a和bbd70426034a85edfa4889fd44b540923dc547585.jpg35e940df8db1cb13626d5de4df54564e93584b85.jpg

  2. 先计算得到他俩的距离矩阵c0862c354564e9258e130e7199e82d158cdbf4e85.jpg

  3. 距离矩阵的平方,得到矩阵de8112b2ac65c1038be14af35b0119313b17e89a4.jpg

  4. 计算矩阵d的迹6dc09e0a19d8bc3e880c673d808ba61ea9d34585.jpg

  5. 然后将得到的e进行开方得到距离:你可以手动算一下是不是正确。814b07d8bc3eb13509c3d64ca41ea8d3fc1f4485.jpg

  6. 我们用到的原理就是矩阵的迹的性质,在numpy或者scipy中还有计算距离的函数,我们以后再说

  7. 今天用到的所有代码如下:

    >>> a=[[0,1],[1,0]]

    >>> a=np.array(a)

    >>> a

    array([[0, 1],

           [1, 0]])

    >>> 

    >>> 

    >>> b=[[1,1],[1,1]]

    >>> b=np.array(b)

    >>> b

    array([[1, 1],

           [1, 1]])

    >>> 

    >>> 

    >>> c=a-b

    >>> c

    array([[-1,  0],

           [ 0, -1]])

    >>> 

    >>> 

    >>> d=np.dot(c,c)

    >>> d

    array([[1, 0],

           [0, 1]])

    >>> 

    >>> e=np.trace(d)

    >>> e

    2

    >>> 

    >>> e**0.5

    1.4142135623730951

    >>> 

    >>> 

转载于:https://my.oschina.net/airship/blog/730372

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值