Numpy 矩阵

矩阵定义
在NumPy中,矩阵是ndarray的子类,可以由专用的字符串格式来创建

1. 创建矩阵
mat函数创建矩阵
(mat函数创建矩阵时,若输入已为matrix或ndarray对象,则不会为它们创建副本。 因此,调用mat函数和调用matrix(data, copy=False)等价)
(1) 在创建矩阵的专用字符串中,矩阵的行与行之间用分号隔开,行内的元素之间用空格隔开。

import numpy as np
A = np.mat("1 2 3;4 5 6;7 8 9")
print (A)
#[[1 2 3]
# [4 5 6]
# [7 8 9]]

用T属性获取转置矩阵

print (A.T)
#[[1 4 7]
# [2 5 8]
# [3 6 9]]

用I属性获取逆矩阵

print (A.I)
#[[ -4.50359963e+15 9.00719925e+15 -4.50359963e+15]
# [ 9.00719925e+15 -1.80143985e+16 9.00719925e+15]
# [ -4.50359963e+15 9.00719925e+15 -4.50359963e+15]]

使用NumPy数组进行创建矩阵

A1 = np.mat(np.arange(9).reshape(3,3))
print (A1)
#[[0 1 2]
# [3 4 5]
# [6 7 8]]

 

2. 从已有矩阵创建新矩阵
利用两个较小的矩阵创建一个新的矩阵
(1). 创建一个2×2的单位矩阵

import numpy as np
B = np.eye(2)
print (B)
#[[ 1. 0.]
# [ 0. 1.]]

(2). 创建另一个与A同型的矩阵,并乘以2

B1 = 2 * B
print (B1)
#[[ 2. 0.]
# [ 0. 2.]]

(3). 使用字符串创建复合矩阵,该字符串的格式与mat函数中一致(bmat函数,从两个小矩阵创建了一个分块复合矩阵)

B2 = np.bmat("B B1 ; B B1")
print (B2)
#[[ 1. 0. 2. 0.]
# [ 0. 1. 0. 2.]
# [ 1. 0. 2. 0.]
# [ 0. 1. 0. 2.]]

  

posted @ 2017-05-04 21:10  xie仗剑天涯  阅读(519)  评论(0编辑  收藏  举报