python(44):array和matrix的运算
在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的运算的更多相关文章
- python numpy array 与matrix 乘方
		python numpy array 与matrix 乘方 编程语言 waitig 1年前 (2017-04-18) 1272℃ 百度已收录 0评论 数组array 的乘方(**为乘方运算符)是每个元 ... 
- array和matrix
		array:数组 matrix:矩阵 list:列表 a = [[1,2,3],[4,5,6]] 两种array的定义方式,第一种方式可以看出list不是array,但却有很大的联系 a = np.a ... 
- numpy array或matrix的交换两行
		A[j,:] = A[maxindex,:] # 注意这样是一个很低级的错误!这样只是赋值 我们很容易想起python中的两个值交换一句搞定不用引入中间变量 a, b = b, a 但在numpy的a ... 
- python小白之矩阵matrix笔记(updating)
		Matrix #python学习之矩阵matrix 2018.4.18 # -*- coding: UTF-8 -*- from numpy import * import numpy as np i ... 
- python基础之01数据类型-变量-运算浅解
		python的数据类型 1 数字 数字分为整型(int),长整型(long),浮点型(float),复数(complex) 整型较为常用的功能: >>> a=-4 >> ... 
- Python之数据聚合与分组运算
		Python之数据聚合与分组运算 1. 关系型数据库方便对数据进行连接.过滤.转换和聚合. 2. Hadley Wickham创建了用于表示分组运算术语"split-apply-combin ... 
- 1. Python中的基本数据类型、运算、变量
		本文利用的是Python 3.x版本,建议学习3.x版本 Python中的基本数据类型.运算.变量 1. 基本数据类型 1.1 整数 py可以处理任意大小的整数,例如123,1234567891324 ... 
- Python中的浮点数原理与运算分析
		Python中的浮点数原理与运算分析 本文实例讲述了Python中的浮点数原理与运算.分享给大家供大家参考,具体如下: 先看一个违反直觉的例子: >>> s = 0. > ... 
- 一句Python,一句R︱numpy、array——高级matrix
		先学了R,最近刚刚上手python,所以想着将python和R结合起来互相对比来更好理解python.最好就是一句python,对应写一句R. python中的numpy模块相当于R中的matirx矩 ... 
随机推荐
- 【TP3.2.X】(同样适用于OT)  设置单入口index.php文件,区分PC/WAP/Wechat 三个终端
			1.目的:本教程适用于 OneThink1.0.或者TP3.2.X 系列,达到单入口index.php文件,区分PC/WAP/Wechat 三个终端 2.启发至 : http://www.thinkp ... 
- 关于jsp发起请求加载datagrid数据(草稿)
			$(document).ready(function (){ var refNo = '${refNo}'; $('#caAbnDetail').datagrid('load',{ refNo:ref ... 
- spring事务管理——编程式事务、声明式事务
			本教程将深入讲解 Spring 简单而强大的事务管理功能,包括编程式事务和声明式事务.通过对本教程的学习,您将能够理解 Spring 事务管理的本质,并灵活运用之. 先决条件 本教程假定您已经掌握了 ... 
- 一行Python
			只要理解了函数式编程,使用神奇的Lambda, 配合列表推导以及复杂一点的判断语句,任何的python 代码都可以转换成一行代码 1.打印九九乘法表 # 打印九九乘法表 print('\n'.join ... 
- POJ  2391  Ombrophobic Bovines (Floyd + Dinic +二分)
			Ombrophobic Bovines Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 11651 Accepted: 2 ... 
- thinkphp日志分析
			#!/usr/bin/perl -w use strict; use warnings; use Tie::File; #### # Thinkphp日志分析 # 日志基本格式:{$now} &quo ... 
- Aborted connection 1055898 to db: 'xxx' user: 'yyy' host: 'xxx.xxx.xxx.xxx' (Got timeout reading communication packets)
			mysql错误日志中,发现大量以下类似信息:(mysql 5.7.18) [Note] Aborted connection 1055898 to db: 'xxx' user: 'yyy' host ... 
- CListCtrl的LVN_KEYDOWN事件中怎么捕捉不到回车键?
			原文链接: http://computer-programming-forum.com/81-vc/c92ab6e6d6ac92bc.htm 楼主 How to handle the return k ... 
- php中array_merge合并数组详解
			如果键名有重复,该键的键值为最后一个键名对应的值(后面的覆盖前面的).如果数组是数字索引的,则键名会以连续方式重新索引. 注释:如果仅仅向 array_merge() 函数输入了一个数组,且键名是整数 ... 
- Python 文件 close() 方法
			描述 Python 文件 close() 方法用于关闭一个已打开的文件.关闭后的文件不能再进行读写操作, 否则会触发 ValueError 错误. close() 方法允许调用多次. 当 file 对 ... 
