在NumPy中,array用于表示通用的N维数组,matrix则特定用于线性代数计算。array和matrix都可以用来表示矩阵,二者在进行乘法操作时,有一些不同之处。

使用array时,运算符 * 用于计算数量积(点乘),函数 dot() 用于计算矢量积(叉乘),例子如:

import numpy as np

a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]]) print 'a * b = \n', a * b
print 'dot(a, b) = \n', np.dot(a, b) 运行的结果为:
a * b =
[[ 5 12]
[21 32]]
dot(a, b) =
[[19 22]
[43 50]]

可见,当a和b为array时, a * b 计算了a和b的数量积(对应Matlab的 a .* b ), dot(a, b) 计算了a和b的矢量积(对应Matlab的 a * b )。

  与array不同的是,使用matrix时,运算符 * 用于计算矢量积,函数 multiply() 用于计算数量积,例子如:

import numpy as np

a = np.mat('1 2; 3 4')
b = np.mat('5 6; 7 8'); print 'a * b = \n', a * b
print 'multiply(a, b) = \n', np.multiply(a, b)
运行结果为:
a * b =
[[19 22]
[43 50]]
multiply(a, b) =
[[ 5 12]
[21 32]]

可见,当a和b为matrix时, a * b 计算了a和b的矢量积,与 multiply(a, b) 计算了a和b的数量积。当使用matrix时,无论是生成矩阵还是计算,Numpy的风格和Matlab更加贴近,降低了语言切换时的负担。

python(44):array和matrix的运算的更多相关文章

  1. python numpy array 与matrix 乘方

    python numpy array 与matrix 乘方 编程语言 waitig 1年前 (2017-04-18) 1272℃ 百度已收录 0评论 数组array 的乘方(**为乘方运算符)是每个元 ...

  2. array和matrix

    array:数组 matrix:矩阵 list:列表 a = [[1,2,3],[4,5,6]] 两种array的定义方式,第一种方式可以看出list不是array,但却有很大的联系 a = np.a ...

  3. numpy array或matrix的交换两行

    A[j,:] = A[maxindex,:] # 注意这样是一个很低级的错误!这样只是赋值 我们很容易想起python中的两个值交换一句搞定不用引入中间变量 a, b = b, a 但在numpy的a ...

  4. python小白之矩阵matrix笔记(updating)

    Matrix #python学习之矩阵matrix 2018.4.18 # -*- coding: UTF-8 -*- from numpy import * import numpy as np i ...

  5. python基础之01数据类型-变量-运算浅解

    python的数据类型 1  数字 数字分为整型(int),长整型(long),浮点型(float),复数(complex) 整型较为常用的功能: >>> a=-4 >> ...

  6. Python之数据聚合与分组运算

    Python之数据聚合与分组运算 1. 关系型数据库方便对数据进行连接.过滤.转换和聚合. 2. Hadley Wickham创建了用于表示分组运算术语"split-apply-combin ...

  7. 1. Python中的基本数据类型、运算、变量

    本文利用的是Python 3.x版本,建议学习3.x版本 Python中的基本数据类型.运算.变量 1. 基本数据类型 1.1 整数 py可以处理任意大小的整数,例如123,1234567891324 ...

  8. Python中的浮点数原理与运算分析

    Python中的浮点数原理与运算分析 本文实例讲述了Python中的浮点数原理与运算.分享给大家供大家参考,具体如下: 先看一个违反直觉的例子:     >>> s = 0. > ...

  9. 一句Python,一句R︱numpy、array——高级matrix

    先学了R,最近刚刚上手python,所以想着将python和R结合起来互相对比来更好理解python.最好就是一句python,对应写一句R. python中的numpy模块相当于R中的matirx矩 ...

随机推荐

  1. Oracle Tuxedo工作站客户端与服务端的样例程序

    服务端代码: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <cty ...

  2. 用FireBreath来编写跨浏览器插件

    这是对于公司某个需求的临时研究,最后经过简单实验放弃了这个方案,因为编写插件不能满足需求. 下面着重讲一下FireBreath编译. 首先根据文档,用git clone下载Firebreath源码(不 ...

  3. xml中“ < > ”转义为“ &lt; &gt; ”问题处理

    曾经也碰到过类似问题,解决方法是在发送或者解析报文前执行上面的方法将内容转义一下,现在我用dom4j组装如下的报文(报文体中内容传输时加密处理),大致介绍一下上面方法的使用,具体看代码. import ...

  4. Mac巧用AirDrop实现大文件传输

    最近想更新一下Xcode8.3,无奈资源太大,不想一点点下载了,公司服务器上正好有官网下载好的,就想直接拿过来使用,本来想通过QQ传输的,无奈发现QQ传输提示资源过大. 于是就想到了这货:AirDro ...

  5. python实现json转excel

    import json import xlwt a = json.load(open("haha.json", encoding='utf8')) title = list(set ...

  6. iOS 对 HTTPS 证书链的验证

    HTTPS从最终的数据解析的角度,与HTTP相同.HTTPS将HTTP协议数据包放到SSL/TSL层加密后,在TCP/IP层组成IP数据报去传输,以此保证传输数据的安全:而对于接收端,在SSL/TSL ...

  7. 进阶之路(中级篇) - 017 有关于Arduino 驱动舵机及相关问题

    /********************************* 代码功能:通过串口控制电机 使用函数: Serial.available(); //判断串口是否接收到数据 Serial.prin ...

  8. php 执行命令函数

    /** Method to execute a command in the terminal Uses : 1. system 2. passthru 3. exec 4. shell_exec * ...

  9. Android----Thread+Handler 线程 消息循环(转载)

    近来找了一些关于android线程间通信的资料,整理学习了一下,并制作了一个简单的例子. andriod提供了 Handler 和 Looper 来满足线程间的通信.例如一个子线程从网络上下载了一副图 ...

  10. Smarty标签运算,控制结构[if,for,foreach,section,while]

    Smarty标签运算: 在页面上做简单的运算[temp5.html] 条件判断if 循环结构 for foreach用得比较多,foreach例子从数据库取出的数据 section功能和foreach ...