MATLAB中的笛卡尔积 [英] Cartesian product in MATLAB

查看:315
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆