我们 知道,矩阵在python里面用的不少,所以记载下关于矩阵的操作

numpy.zeros():可以用来构造全零矩阵

  1. >>> zeros(3)
  2. array([ 0.,  0.,  0.])
  3. >>> zeros((3,3))
  4. array([[ 0.,  0.,  0.],
  5. [ 0.,  0.,  0.],
  6. [ 0.,  0.,  0.]])

numpy.ones(): 可以用来构造全一矩阵

  1. >>> ones((3,3))
  2. array([[ 1.,  1.,  1.],
  3. [ 1.,  1.,  1.],
  4. [ 1.,  1.,  1.]])

numpy.eyes(): 可以用来构造单位矩阵

[plain] view
plain
 copy

  1. >>> eye(3)
  2. array([[ 1.,  0.,  0.],
  3. [ 0.,  1.,  0.],
  4. [ 0.,  0.,  1.]])

shape 用法 配合使用

shape函数是numpy.core.fromnumeric中的函数,它的功能是查看矩阵或者数组的维数。

举例说明:

建立一个3×3的单位矩阵e, e.shape为(3,3),表示3行3列,第一维的长度为3,第二维的长度也为3

  1. >>> e = eye(3)
  2. >>> e
  3. array([[ 1.,  0.,  0.],
  4. [ 0.,  1.,  0.],
  5. [ 0.,  0.,  1.]])
  6. >>> e.shape
  7. (3, 3)
  1. >>> e = eye(3)
  2. >>> e
  3. array([[ 1.,  0.,  0.],
  4. [ 0.,  1.,  0.],
  5. [ 0.,  0.,  1.]])
  6. >>> e.shape
  7. (3, 3)

建立一个一维矩阵b, b.shape 为矩阵的长度

  1. >>> b =array([1,2,3,4])
  2. >>> b.shape
  3. (4,)
  4. #可以简写
  5. >>> shape([1,2,3,4])
  6. (4,)
  7. >>>
  1. >>> b =array([1,2,3,4])
  2. >>> b.shape
  3. (4,)
  4. #可以简写
  5. >>> shape([1,2,3,4])
  6. (4,)
  7. >>>

建立一个4×2的矩阵c, c.shape[0] 为第一维的长度,c.shape[1] 为第二维的长度。

  1. >>> c = array([[1,1],[1,2],[1,3],[1,4]])
  2. >>> c.shape
  3. (4, 2)
  4. >>> c.shape[0]
  5. 4
  6. >>> c.shape[1]
  7. 2
  1. >>> c = array([[1,1],[1,2],[1,3],[1,4]])
  2. >>> c.shape
  3. (4, 2)
  4. >>> c.shape[0]
  5. 4
  6. >>> c.shape[1]
  7. 2

一个单独的数值,返回值为空

  1. >>> shape(3)
  2. ()
  1. >>> shape(3)
  2. ()

矩阵的乘法:

Python 中的几种矩阵乘法 np.dot, np.multiply, *

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

使用matrix时,运算符 * 用于计算矢量积,函数 multiply() 用于计算数量积.

下面是使用array时:

1. 同线性代数中矩阵乘法的定义: np.dot()

np.dot(A, B):对于二维矩阵,计算真正意义上的矩阵乘积,同线性代数中矩阵乘法的定义。对于一维矩阵,计算两者的内积。

2. 对应元素相乘 element-wise product: np.multiply(), 或 *

在Python中,实现对应元素相乘,有2种方式,一个是np.multiply(),另外一个是*。这两种的效果是一样的。

请看代码:

 1 #!/usr/bin/env python3
2 # -*- coding: utf-8
3
4 import numpy as np
5
6 X = np.array([[1,2],[3,4]])
7 Y = np.array([[5,6],[7,8]])
8
9 a1 = np.dot(X,Y)
10 print('np.dot(X,Y)=\n',a1)
11
12 a2 = np.multiply(X,Y)
13 print('np.multiply(X,Y)=\n',a2)

运行结果:

1
2
3
4
5
6
7
8
9
np.dot(X,Y)=
 [[19 22]
 [43 50]]
np.multiply(X,Y)=
 [[ 5 12]
 [21 32]]
X*Y=
 [[ 5 12]
 [21 32]]




转载自:http://blog.csdn.net/xingchengmeng/article/details/64442935

http://blog.csdn.net/u010758410/article/details/71554224

http://www.cnblogs.com/baibaibaiyou/p/7892437.html


numpy 矩阵相关函数的更多相关文章

  1. 给numpy矩阵添加一列

    问题的定义: 首先我们有一个数据是一个mn的numpy矩阵现在我们希望能够进行给他加上一列变成一个m(n+1)的矩阵 import numpy as np a = np.array([[1,2,3], ...

  2. NumPy 矩阵库(Matrix)

    NumPy 矩阵库(Matrix) NumPy 中包含了一个矩阵库 numpy.matlib,该模块中的函数返回的是一个矩阵,而不是 ndarray 对象. 一个 的矩阵是一个由行(row)列(col ...

  3. python之numpy矩阵库的使用(续)

    本文是对我原先写的python常用序列list.tuples及矩阵库numpy的使用中的numpy矩阵库的使用的补充.结合我个人现在对线性代数的复习进度来不断更博. Section 1:行列式的计算 ...

  4. NumPy矩阵库

    NumPy - 矩阵库 NumPy 包包含一个 Matrix库numpy.matlib.此模块的函数返回矩阵而不是返回ndarray对象. matlib.empty() matlib.empty()函 ...

  5. 18、NumPy——矩阵库(Matrix)

    NumPy 矩阵库(Matrix) NumPy 中包含了一个矩阵库 numpy.matlib,该模块中的函数返回的是一个矩阵,而不是 ndarray 对象. 一个 的矩阵是一个由行(row)列(col ...

  6. NumPy 矩阵库函数

    章节 Numpy 介绍 Numpy 安装 NumPy ndarray NumPy 数据类型 NumPy 数组创建 NumPy 基于已有数据创建数组 NumPy 基于数值区间创建数组 NumPy 数组切 ...

  7. numpy矩阵相加时需注意的一个点

    今天在进行numpy矩阵相加的时候出现了一个小的奇怪的地方,下面我们来看看: >>>P = np.array([1,2,3,4]) >>>F = np.array( ...

  8. numpy 矩阵在作为函数参数传递时的奇怪点

    numpy 矩阵在作为函数参数传递时的奇怪点 import numpy as np class simpleNet: def __init__(self): self.W = np.array([1, ...

  9. Python合并两个numpy矩阵

    numpy是Python用来科学计算的一个非常重要的库,numpy主要用来处理一些矩阵对象,可以说numpy让Python有了Matlab的味道. 实际的应用中,矩阵的合并是一个经常发生的操作,如何利 ...

随机推荐

  1. DbEntry.Net(Lephone Framework) Access ORM:安装和简单使用

    项目中用到Access数据库,之前用的普通Ado.Net 三层.遇到表字段叫多时,就比较费力.想要使用ORM,无奈EF不支持Access.虽然可以改写linq to sql为Linq to Acces ...

  2. 强大的jQuery幻灯片播放插件 支持全拼、拖拽和下载等功能

    在线演示 本地下载

  3. ubuntu循环登录问题的解决

    之前试过几个方法都不行,包括改/etc/profile,startx,删Xauthority文件等,这些都是因为,形象地来说是药不对症,ubuntu循环登录是有很多个问题造成的,前面的这些例子只是针对 ...

  4. 简单的aop实现日志打印(切入点表达式)

    Spring中可以使用注解或XML文件配置的方式实现AOP. 1.导入jar包 com.springsource.net.sf.cglib -2.2.0.jar com.springsource.or ...

  5. Java集合Collection&Map

    Map<K,V>是键值对,K - 此映射所维护的键的类型,V - 映射值的类型.键值是一一对应的关系: Collection是只有键,底层也是由键值对,但是值的类型被隐藏起来. Colle ...

  6. 大家来聊聊如何PASS 360

    真正做到PASS 360,启动项什么的.我觉得还是有可能的把? 虽然它就是一个流氓,但是我们要想办法比它更流氓. 只是有一个点:那就是行为监控,那既然行为监控(云分析抛开).那就找一个可信任的程序来调 ...

  7. PHP 404伪装

    <?php function GetCurUrl() { if(!empty($_SERVER["REQUEST_URI"])) { $scriptName = $_SERV ...

  8. 文件与IO-字节输入/输出

    package IoDemo; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExce ...

  9. Echarts的赋值,设置数据

    柱形图案例的赋值 相关文档参考:https://blog.csdn.net/yangsitong1314/article/details/76984616 <div class="ma ...

  10. java 使用反射

    java程序中的对象在运行时会出现两种类型:编译时类型和运行时类型.例如List list  = new ArrayList().其中变量list的编译时类型是List,运行时类型是ArrayList ...