# 在numpy的运算中，维度相同的时候，运算通常在元素上对应进行
# 当维度不一致的时候，会触发广播机制
import numpy as np

# 元素运算
a = np.arange(1, 10).reshape((3,3))
# 广播
b = np.array([[1, 1, 1]])
print("******************** 广播前  **************************")
print("a", a)
print("b", b)
print("******************** 广播后  **************************")
print(a+b)

# #####################################################
print("******************** tile前 **************************")
c = np.arange(1, 5).reshape((2, 2))
print(c)
print("******************** tile后 **************************")
print(np.tile(c, (2, 2)))  # 真的想贴瓷砖一样

# 扩展原则：
# 假设a为大数组，b为小数组，需要b有一个维度是1，其余
# 的维度和a保持一致。
