如有 5*5 矩阵A,有语句: A[ x:y,z ]
x:y 表示的是矩阵的行。 x:y 表示从 x 行到 y 行的内容(左闭右开区间 ---就是x 和 y 取值为0~5,但还是表示5行,因为‘:’后面的数要减一,相当于[x,y) )
z 表示的是矩阵的列,一共有 5 列,列序号由0开始,所以 z 取值为:0~4
举例:
例如有 5*5的单位矩阵 E:
[[ 1. 0. 0. 0. 0.] #0行
[ 0. 1. 0. 0. 0.] #1行
[ 0. 0. 1. 0. 0.] #2行
[ 0. 0. 0. 1. 0.] #3行
[ 0. 0. 0. 0. 1.]] #4行
(1)行操作
E[0:] 表示打印矩阵E 从0行开始的到末尾行的内容,即打印整个矩阵。E[1:] 表示打印矩阵E 从1行开始到末尾行的内容,即:
[[ 0. 1. 0. 0. 0.]
[ 0. 0. 1. 0. 0.]
[ 0. 0. 0. 1. 0.]
[ 0. 0. 0. 0. 1.]]
E[1:2] :表示打印矩阵E 从1行开始到2行的内容,由于是左闭右开,即[ 1,2 ),所以打印的是 一行的内容:
[[ 0. 1. 0. 0. 0.]]
E[1:3] :表示打印矩阵E 从1行到3行的内容,也是因为左闭右开,即[1:3),所以打印的是1行和2行的内容:
[[ 0. 1. 0. 0. 0.]
[ 0. 0. 1. 0. 0.]]
(2)列操作:
E[ : , 1] :表示在整个矩阵E的基础下,打印1列: (1列不是指1一个列,而是序号为1的列,5*5矩阵的列的序号范围为 0~4)
[ 0. 1. 0. 0. 0.]
E[1:3,2] :在矩阵E 的 1行~2行 ( [1,3))的前提下打印2列。 (2列不是指两列,而是序号为2的列,5*5矩阵的列的序号范围为 0~4)
[ 0. 1.]