MATLAB中的笛卡尔积 [英] Cartesian product in MATLAB
本文介绍了MATLAB中的笛卡尔积的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我遇到的问题的简化版本.假设我有一个向量
Here is the simplified version of the problem I have. Suppose I have a vector
p = [1 5 10]
p=[1 5 10]
和另一个
q = [.75 .85 .95].
q=[.75 .85 .95].
我想提出以下矩阵:
res = [1,.75; 1,.85; 1,.95; 5,.75; 5,.85; 5,.95; 10,.75; 10,.85; 10,.95].
res=[1, .75;1, .85; 1, .95; 5, .75; 5, .85; 5, .95; 10, .75; 10, .85; 10, .95].
这也称为笛卡尔乘积. 我该怎么办?
This is also known as the Cartesian Product. How can I do that?
非常感谢
推荐答案
这是一种方法:
[X,Y] = meshgrid(p,q);
result = [X(:) Y(:)];
输出为:
result =
1.0000 0.7500
1.0000 0.8500
1.0000 0.9500
5.0000 0.7500
5.0000 0.8500
5.0000 0.9500
10.0000 0.7500
10.0000 0.8500
10.0000 0.9500
这篇关于MATLAB中的笛卡尔积的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文