总结:
1、tile(a, x): x是控制a重复几次的,结果是一个一维数组
2、tile(a, (x, y)): 结果是一个二维矩阵,其中行数为x,列数是一维数组a的长度和y的乘积
3、tile(a, (x, y, z)): 结果是一个三维矩阵,其中矩阵的行数为x,矩阵的列数为y,而z表示矩阵每个单元格里a重复的次数。(三维矩阵可以看成一个二维矩阵,每个矩阵的单元格里存者一个一维矩阵a)
具体案例如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2017/6/20 13:43
# @Author : xiaoke
from numpy import *
a = arange(1, 3)
# a的结果是:
print(a)
# 一维的情况:
# [1 2]
print(tile(a, 1))
# [1 2]
print(tile(a, 2))
# [1 2 1 2]
print(tile(a, 3))
# [1 2 1 2 1 2]
#
# 说明tile函数第二个参数是用来控制a重复次数的
# 二维的情况
print(tile(a, (1, 1)))
# [[1 2]]
print(tile(a, (1, 1)).shape)
# 结果是(1, 2),说明是一个1X2的矩阵。
#
print(tile(a, (1, 2)))
# [[1 2 1 2]])
print(tile(a, (1, 2)).shape)
# (1, 4)
# 结果是一个1X4的矩阵,说明tile里参数列表中元组的第一个参数是控制行数,第二个参数是控制a重复次数的
print(tile(a, (2, 1)))
# [[1 2]
# [1 2]]
print(tile(a, (2, 1)).shape)
# (2, 2)
# 说明参数列表的元组第一个是控制行数的
#
# 三维矩阵
print(tile(a, (1, 1, 1)))
# [[[1 2]]]
print(tile(a, (1, 1, 1)).shape)
# (1, 1, 2)
#
print(tile(a, (1, 1, 2)))
# [[[1 2 1 2]]]
print(tile(a, (1, 1, 2)).shape)
# (1, 1, 4)
#
# 说明最后一个参数是控制a重复几次的
print(tile(a, (3, 1, 2)))
# [[[1 2 1 2]]
# [[1 2 1 2]]
# [[1 2 1 2]]]
print(tile(a, (3, 1, 2)).shape)
# (3, 1, 4)
#
# 说明第一个3是控制行数的,第二个是控制列数的
print(tile(a, (3, 2, 2)).shape)
# (3, 2, 4)
print(tile(a, (3, 2, 2)))
# [[[1 2 1 2]
# [1 2 1 2]]
#
# [[1 2 1 2]
# [1 2 1 2]]
#
# [[1 2 1 2]
# [1 2 1 2]]]