目标
利用matlab的函数完成笛卡尔积的求取。
方法
matlab
a = [1,2,3];
b = [4,5,6];
[x,y] = meshgrid(a,b);
Cartesian_product = [x(:),y(:)];解释
1、meshgrid生成矩阵的二维网格
设a宽度为m,b宽度为n,则会以a横着向下复制n次,以b的转置竖着向右复制m次,例如:
matlab
a = [1,2];
b = [3,4,5];
[x,y] = meshgrid(a,b);
运行结果:
x =
1 2
1 2
1 2
y =
3 3
4 4
5 52、x(:)将x的数据按列排成一列
所有的元素会按照列的顺序从左到右排成一个一维列向量,例如
matlab
x = [1,2;3,4];
x(:)
运行结果:
ans =
1
3
2
4


粤公网安备44030602007943号