一、坐标矩阵
将数组作为坐标向量,从而生成坐标矩阵
np.meshgrid(数组1,数组2,数组3,…)
- 可以把每个数组都作为一个轴(数组1代表x轴,数组2代表y轴,数组3代表z轴,…)
- 其实生成的就是各轴的坐标值之间的排列组合的个数
- 两个数组组成的矩阵结构:
array个数为2个
第二个数组的元素数是每个array的子数列个数
第一个数组的元素数就是矩阵中每个数列的元素数 - 3个以上数组组成的矩阵结构:
数组个数为array的个数
第二个数组(y轴)的元素个数为每个array中一级子数列的个数
第一个数组(x轴)的元素个数为每个array中二级子数列的个数
第三个数组(z轴)的元素个数为每个array中三级子数列的个数
…
最后一个数组的元素个数为每个array中最细子数列的元素数
实例:2个数组演示
排列组合数有6种:
相当于a是x轴的值,b是y轴的值,两个数组的元素个数之积3*2为(x,y)的个数:
(2,0)(3,0)(4,0)
(2,1)(3,1)(4,1)
矩阵结构:
有2个array,每个array中有2个子数列,每个子数列中有3个元素
import numpy as np
a=np.array([2,3,4])
b=np.arange(2)
print('a:\n',a)
print('b:\n',b)
print('a,b组成的矩阵:\n',np.meshgrid(a,b))
runfile('C:/Users/xyy/.spyder-py3/temp.py', wdir='C:/Users/xyy/.spyder-py3')
a:
[2 3 4]
b:
[0 1]
a,b组成的矩阵:
[array([[2, 3, 4],
[2, 3, 4]]), array([[0, 0, 0],
[1, 1, 1]])]
实例:3个数组演示
排列组合数有72种:
相当于a是x轴的值,b是y轴的值,c是z轴的值,三个数组的元素个数之积643为(x,y,z)的个数:
(0,0,0)(1,0,0)(2,0,0)(3,0,0)(4,0,0)(5,0,0)
(0,1,0)(1,1,0)(2,1,0)(3,1,0)(4,1,0)(5,1,0)
(0,0,1)(1,0,1)(2,0,1)(3,0,1)(4,0,1)(5,0,1)
…
矩阵结构:
有3个array,每个array中有4个一级子数列,每个array中有6个二级子数列,每个最细子数列中有3个元素
import numpy as np
a=np.arange(6)
b=np.arange(4)
c=np.arange(3)
print('a:\n',a)
print('b:\n',b)
print('c:\n',c)
print('a,b组成的矩阵:\n',np.meshgrid(a,b,c))
runfile('C:/Users/xyy/.spyder-py3/temp.py', wdir='C:/Users/xyy/.spyder-py3')
a:
[0 1 2 3 4 5]
b:
[0 1 2 3]
c:
[0 1 2]
a,b组成的矩阵:
[array([[[0, 0, 0],
[1, 1, 1],
[2, 2, 2],
[3, 3, 3],
[4, 4, 4],
[5, 5, 5]],
[[0, 0, 0],
[1, 1, 1],
[2, 2, 2],
[3, 3, 3],
[4, 4, 4],
[5, 5, 5]],
[[0, 0, 0],
[1, 1, 1],
[2, 2, 2],
[3, 3, 3],
[4, 4, 4],
[5, 5, 5]],
[[0, 0, 0],
[1, 1, 1],
[2, 2, 2],
[3, 3, 3],
[4, 4, 4],
[5, 5, 5]]]), array([[[0, 0, 0],
[0, 0, 0],
[0, 0, 0],
[0, 0, 0],
[0, 0, 0],
[0, 0, 0]],
[[1, 1, 1<